Initial commit — QGIS S-57 Converter
This commit is contained in:
+695
@@ -0,0 +1,695 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>QGISS57Converter — Manual</title>
|
||||
<style>
|
||||
:root {
|
||||
--bg: #0d1117; --panel: #161b22; --border: #30363d;
|
||||
--accent: #1e7fc8; --accent2: #388bfd;
|
||||
--green: #2ea043; --yellow: #d29922; --red: #da3633;
|
||||
--text: #e6edf3; --dim: #8b949e; --mono: #f0a500;
|
||||
}
|
||||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||||
body { background: var(--bg); color: var(--text); font-family: "Segoe UI", system-ui, sans-serif; font-size: 14px; }
|
||||
|
||||
/* ── layout ── */
|
||||
#sidebar { position: fixed; top: 0; left: 0; width: 240px; height: 100vh; background: var(--panel);
|
||||
border-right: 1px solid var(--border); overflow-y: auto; padding: 16px 0; z-index: 10; }
|
||||
#content { margin-left: 240px; padding: 32px 40px; max-width: 960px; }
|
||||
|
||||
/* ── header ── */
|
||||
.app-title { padding: 0 16px 16px; border-bottom: 1px solid var(--border); margin-bottom: 8px; }
|
||||
.app-title h2 { color: var(--accent2); font-size: 15px; font-weight: 700; }
|
||||
.app-title p { color: var(--dim); font-size: 11px; margin-top: 2px; }
|
||||
|
||||
/* ── search ── */
|
||||
#search-box { margin: 8px 12px 12px; width: calc(100% - 24px);
|
||||
background: var(--bg); border: 1px solid var(--border);
|
||||
color: var(--text); padding: 6px 10px; border-radius: 6px; font-size: 12px; }
|
||||
#search-box:focus { outline: none; border-color: var(--accent); }
|
||||
|
||||
/* ── nav ── */
|
||||
.nav-section { padding: 6px 16px 2px; font-size: 11px; font-weight: 700;
|
||||
color: var(--dim); text-transform: uppercase; letter-spacing: .8px; }
|
||||
.nav-link { display: block; padding: 5px 16px; color: var(--dim); text-decoration: none;
|
||||
font-size: 13px; border-left: 2px solid transparent; transition: all .15s; }
|
||||
.nav-link:hover, .nav-link.active { color: var(--text); border-left-color: var(--accent); background: rgba(56,139,253,.08); }
|
||||
|
||||
/* ── content ── */
|
||||
section { margin-bottom: 48px; scroll-margin-top: 24px; }
|
||||
h1 { font-size: 26px; font-weight: 700; color: var(--text); margin-bottom: 6px; }
|
||||
h2 { font-size: 18px; font-weight: 700; color: var(--accent2); margin: 32px 0 12px;
|
||||
padding-bottom: 8px; border-bottom: 1px solid var(--border); }
|
||||
h3 { font-size: 14px; font-weight: 700; color: var(--text); margin: 20px 0 8px; }
|
||||
p { color: var(--dim); line-height: 1.7; margin-bottom: 10px; }
|
||||
code { background: var(--panel); border: 1px solid var(--border); border-radius: 4px;
|
||||
padding: 1px 6px; font-family: "Consolas", monospace; font-size: 12px; color: var(--mono); }
|
||||
.subtitle { color: var(--dim); font-size: 14px; margin-bottom: 28px; }
|
||||
|
||||
/* ── tables ── */
|
||||
table { width: 100%; border-collapse: collapse; margin-bottom: 20px; font-size: 13px; }
|
||||
th { background: #1c2230; color: var(--accent2); font-weight: 600; text-align: left;
|
||||
padding: 9px 12px; border-bottom: 2px solid var(--accent); }
|
||||
td { padding: 7px 12px; border-bottom: 1px solid var(--border); vertical-align: top; }
|
||||
tr:hover td { background: rgba(56,139,253,.05); }
|
||||
.tag { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 700; }
|
||||
.tag-point { background: #1a3a5c; color: #58a6ff; }
|
||||
.tag-line { background: #1a3d2b; color: #3fb950; }
|
||||
.tag-area { background: #3d2a1a; color: #f0883e; }
|
||||
.tag-meta { background: #2d1f3d; color: #bc8cff; }
|
||||
.badge { display: inline-block; padding: 1px 7px; border-radius: 10px; font-size: 11px; }
|
||||
.b-green { background: #1a3a2a; color: #3fb950; border: 1px solid #2ea043; }
|
||||
.b-blue { background: #1a2d4a; color: #58a6ff; border: 1px solid #1e7fc8; }
|
||||
.b-yellow { background: #3a2e10; color: #e3b341; border: 1px solid #9e6a03; }
|
||||
.b-red { background: #3a1a1a; color: #f85149; border: 1px solid #da3633; }
|
||||
|
||||
/* ── callouts ── */
|
||||
.tip, .warn, .info { border-radius: 6px; padding: 12px 16px; margin-bottom: 16px; border-left: 3px solid; }
|
||||
.tip { background: #1a3a2a; border-color: var(--green); }
|
||||
.warn { background: #3a2e10; border-color: var(--yellow); }
|
||||
.info { background: #1a2d4a; border-color: var(--accent); }
|
||||
.tip strong, .warn strong, .info strong { display: block; margin-bottom: 4px; }
|
||||
.tip strong { color: #3fb950; }
|
||||
.warn strong { color: #e3b341; }
|
||||
.info strong { color: #58a6ff; }
|
||||
|
||||
/* ── steps ── */
|
||||
.steps { counter-reset: step; list-style: none; padding: 0; }
|
||||
.steps li { counter-increment: step; display: flex; gap: 16px; margin-bottom: 16px; }
|
||||
.steps li::before { content: counter(step); min-width: 28px; height: 28px; border-radius: 50%;
|
||||
background: var(--accent); color: #fff; font-weight: 700; font-size: 13px;
|
||||
display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
|
||||
.steps li .step-body { padding-top: 4px; }
|
||||
.steps li .step-body strong { color: var(--text); display: block; margin-bottom: 4px; }
|
||||
.steps li .step-body p { margin: 0; }
|
||||
|
||||
/* ── colour swatches ── */
|
||||
.swatch { display: inline-block; width: 14px; height: 14px; border-radius: 3px; vertical-align: middle; margin-right: 6px; border: 1px solid rgba(255,255,255,.2); }
|
||||
|
||||
/* ── search highlight ── */
|
||||
.hl { background: rgba(210,153,34,.35); border-radius: 2px; }
|
||||
.hidden-row { display: none; }
|
||||
|
||||
/* ── responsive ── */
|
||||
@media (max-width: 700px) {
|
||||
#sidebar { display: none; }
|
||||
#content { margin-left: 0; padding: 20px; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- ── SIDEBAR ──────────────────────────────────────────────────────────── -->
|
||||
<nav id="sidebar">
|
||||
<div class="app-title">
|
||||
<h2>QGISS57Converter</h2>
|
||||
<p>Manual de referencia v1.0</p>
|
||||
</div>
|
||||
<input id="search-box" type="search" placeholder="Buscar...">
|
||||
|
||||
<div class="nav-section">Inicio</div>
|
||||
<a class="nav-link" href="#inicio">Introduccion</a>
|
||||
<a class="nav-link" href="#flujo">Flujo de trabajo</a>
|
||||
|
||||
<div class="nav-section">Capas</div>
|
||||
<a class="nav-link" href="#puntuales">Objetos puntuales</a>
|
||||
<a class="nav-link" href="#lineales">Objetos lineales</a>
|
||||
<a class="nav-link" href="#areas">Objetos de area</a>
|
||||
|
||||
<div class="nav-section">Atributos por tipo</div>
|
||||
<a class="nav-link" href="#attr-generales">Atributos generales</a>
|
||||
<a class="nav-link" href="#attr-boylat">BOYLAT — Boyas laterales</a>
|
||||
<a class="nav-link" href="#attr-bcnlat">BCNLAT — Balizas/faros orilla</a>
|
||||
<a class="nav-link" href="#attr-boycar">BOYCAR — Boyas cardinales</a>
|
||||
<a class="nav-link" href="#attr-boyisd">BOYISD — Peligro aislado</a>
|
||||
<a class="nav-link" href="#attr-boyspp">BOYSPP — Marcas especiales</a>
|
||||
<a class="nav-link" href="#attr-lights">LIGHTS — Luces independientes</a>
|
||||
<a class="nav-link" href="#codigos">Tablas de codigos S-57</a>
|
||||
|
||||
<div class="nav-section">Referencia</div>
|
||||
<a class="nav-link" href="#csv-directo">Formato CSV directo</a>
|
||||
<a class="nav-link" href="#config">cell_config.json</a>
|
||||
<a class="nav-link" href="#ejemplos">Ejemplos de SHP</a>
|
||||
</nav>
|
||||
|
||||
<!-- ── CONTENT ──────────────────────────────────────────────────────────── -->
|
||||
<main id="content">
|
||||
|
||||
<!-- INICIO -->
|
||||
<section id="inicio">
|
||||
<h1>Manual QGISS57Converter</h1>
|
||||
<p class="subtitle">Convierte proyectos QGIS (.qgz/.qgs) a cartas naúticas S-57 (.000) válidas para cualquier ECDIS.</p>
|
||||
|
||||
<div class="info">
|
||||
<strong>¿Qué hace esta app?</strong>
|
||||
Lee tus capas QGIS con SHP y las convierte a formato S-57 ISO 8211 — el estándar IHO para cartas electrónicas de navegación (ENC). El archivo .000 resultante puede cargarse en cualquier ECDIS que soporte GDAL, incluyendo el AR ECDIS.
|
||||
</div>
|
||||
|
||||
<div class="warn">
|
||||
<strong>Requisito del sistema</strong>
|
||||
El entorno conda <code>s57</code> debe estar instalado en <code>D:\Miniconda\envs\s57</code>. La app lo llama automáticamente en el backend.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- FLUJO -->
|
||||
<section id="flujo">
|
||||
<h2>Flujo de trabajo</h2>
|
||||
<ol class="steps">
|
||||
<li>
|
||||
<div class="step-body">
|
||||
<strong>Crear proyecto QGIS</strong>
|
||||
<p>En QGIS, crea capas SHP con los nombres de la sección "Objetos puntuales / lineales / de área". Cada capa debe estar en coordenadas WGS84 (EPSG:4326) o el converter la reproyecta automáticamente.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="step-body">
|
||||
<strong>Agregar atributos al SHP</strong>
|
||||
<p>Agrega columnas a tu SHP con los nombres de la sección "Atributos". Por ejemplo, para boyas: columnas <code>nombre</code>, <code>catlam</code>, <code>colour</code>, <code>litchr</code>, <code>sigper</code>, <code>alcance</code>.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="step-body">
|
||||
<strong>Guardar como .qgz</strong>
|
||||
<p>Proyecto → Guardar como → formato .qgz (archivo comprimido que incluye el .qgs y los SHP embebidos).</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="step-body">
|
||||
<strong>Abrir QGISS57Converter</strong>
|
||||
<p>Haz clic en <strong>Examinar…</strong>, selecciona tu .qgz, elige la carpeta de salida, y presiona <strong>▶ Convertir</strong>.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="step-body">
|
||||
<strong>Cargar en el ECDIS</strong>
|
||||
<p>El archivo .000 generado se puede instalar directamente en AR ECDIS desde el menú Charts → Instalar carta.</p>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<!-- PUNTUALES -->
|
||||
<section id="puntuales">
|
||||
<h2>Objetos puntuales</h2>
|
||||
<p>Nombra tu capa QGIS con cualquier texto de la columna "Nombres reconocidos" (sin importar mayúsculas). También puedes usar el acrónimo S-57 directamente.</p>
|
||||
<table>
|
||||
<thead><tr><th>Acrónimo S-57</th><th>Descripción</th><th>Nombres reconocidos en QGIS</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>BOYLAT</code> <span class="tag tag-point">Punto</span></td><td>Boya lateral (babor/estribor)</td><td>boyas, buoys</td></tr>
|
||||
<tr><td><code>BOYCAR</code> <span class="tag tag-point">Punto</span></td><td>Boya cardinal (N/S/E/W)</td><td>boycar</td></tr>
|
||||
<tr><td><code>BOYISD</code> <span class="tag tag-point">Punto</span></td><td>Boya de peligro aislado</td><td>boyisd</td></tr>
|
||||
<tr><td><code>BOYSAW</code> <span class="tag tag-point">Punto</span></td><td>Boya de aguas seguras</td><td>boysaw</td></tr>
|
||||
<tr><td><code>BCNLAT</code> <span class="tag tag-point">Punto</span></td><td>Baliza lateral</td><td>balizas, beacons</td></tr>
|
||||
<tr><td><code>BCNSPP</code> <span class="tag tag-point">Punto</span></td><td>Baliza especial</td><td>bcnspp</td></tr>
|
||||
<tr><td><code>LIGHTS</code> <span class="tag tag-point">Punto</span></td><td>Luz / faro</td><td>luces, lights, faroles</td></tr>
|
||||
<tr><td><code>LNDMRK</code> <span class="tag tag-point">Punto</span></td><td>Hito en tierra (torre, tanque…)</td><td>Puntos del Terreno, landmark</td></tr>
|
||||
<tr><td><code>SOUNDG</code> <span class="tag tag-point">Punto</span></td><td>Sonda batimétrica</td><td>sondas, soundings, profundidades</td></tr>
|
||||
<tr><td><code>UWTROC</code> <span class="tag tag-point">Punto</span></td><td>Roca sumergida / a flor de agua</td><td>rocas, rocks</td></tr>
|
||||
<tr><td><code>WRECKS</code> <span class="tag tag-point">Punto</span></td><td>Naufragio</td><td>naufragio, wreck</td></tr>
|
||||
<tr><td><code>OBSTRN</code> <span class="tag tag-point">Punto</span></td><td>Obstrucción</td><td>obstruccion, obstruction</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<!-- LINEALES -->
|
||||
<section id="lineales">
|
||||
<h2>Objetos lineales</h2>
|
||||
<table>
|
||||
<thead><tr><th>Acrónimo S-57</th><th>Descripción</th><th>Nombres reconocidos en QGIS</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>COALNE</code> <span class="tag tag-line">Línea</span></td><td>Línea de costa</td><td>Linderos, coastline, costa, linea_de_costa</td></tr>
|
||||
<tr><td><code>DEPCNT</code> <span class="tag tag-line">Línea</span></td><td>Curva batimétrica (isobata)</td><td>isobata, curvas_nivel, depth_contour</td></tr>
|
||||
<tr><td><code>CBLSUB</code> <span class="tag tag-line">Línea</span></td><td>Cable submarino</td><td>cable</td></tr>
|
||||
<tr><td><code>PIPSOL</code> <span class="tag tag-line">Línea</span></td><td>Tubería submarina / en tierra</td><td>tuberia</td></tr>
|
||||
<tr><td><code>RIVERS</code> <span class="tag tag-line">Línea</span></td><td>Río / canal</td><td>rio, river</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<!-- AREAS -->
|
||||
<section id="areas">
|
||||
<h2>Objetos de área</h2>
|
||||
<table>
|
||||
<thead><tr><th>Acrónimo S-57</th><th>Descripción</th><th>Nombres reconocidos en QGIS</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>LNDARE</code> <span class="tag tag-area">Área</span></td><td>Área terrestre</td><td>Área Terreno, tierra, land</td></tr>
|
||||
<tr><td><code>DEPARE</code> <span class="tag tag-area">Área</span></td><td>Área de profundidad</td><td>fondos, batimetria, depth_area</td></tr>
|
||||
<tr><td><code>FAIRWY</code> <span class="tag tag-area">Área</span></td><td>Canal de navegación</td><td>canal_navegacion, fairway</td></tr>
|
||||
<tr><td><code>RESARE</code> <span class="tag tag-area">Área</span></td><td>Área restringida</td><td>zona_restringida, restricted</td></tr>
|
||||
<tr><td><code>ACHARE</code> <span class="tag tag-area">Área</span></td><td>Área de fondeo</td><td>fondeadero, anchorage</td></tr>
|
||||
<tr><td><code>HRBARE</code> <span class="tag tag-area">Área</span></td><td>Área portuaria</td><td>puerto, harbor</td></tr>
|
||||
<tr><td><code>BERTHS</code> <span class="tag tag-area">Área</span></td><td>Atraque / muelle</td><td>atraque, berth</td></tr>
|
||||
<tr><td><code>SBDARE</code> <span class="tag tag-area">Área</span></td><td>Área de fondo marino</td><td>fondo_marino, seabed</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<!-- ATRIBUTOS GENERALES -->
|
||||
<section id="attr-generales">
|
||||
<h2>Atributos generales</h2>
|
||||
<p>Agrega estas columnas en tu SHP. El nombre de columna es flexible — el converter usa las palabras clave de la tabla.</p>
|
||||
<table>
|
||||
<thead><tr><th>Columna en el SHP</th><th>Atributo S-57</th><th>Descripción</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>nombre</code> / <code>name</code></td><td><code>OBJNAM</code></td><td>Nombre del objeto — aparece en tooltip del ECDIS</td></tr>
|
||||
<tr><td><code>altura</code> / <code>height</code></td><td><code>HEIGHT</code></td><td>Altura sobre el nivel del mar (metros)</td></tr>
|
||||
<tr><td><code>colour</code> / <code>color</code></td><td><code>COLOUR</code></td><td>Color — ver tabla de códigos abajo</td></tr>
|
||||
<tr><td><code>profundidad</code> / <code>depth</code></td><td><code>DRVAL1</code></td><td>Profundidad mínima (metros)</td></tr>
|
||||
<tr><td><code>depth_max</code></td><td><code>DRVAL2</code></td><td>Profundidad máxima (metros)</td></tr>
|
||||
<tr><td><code>sonda</code> / <code>sounding</code></td><td><code>VALSOU</code></td><td>Valor de sonda (metros)</td></tr>
|
||||
<tr><td><code>contour</code> / <code>valor</code></td><td><code>VALDCO</code></td><td>Valor de curva batimétrica (metros)</td></tr>
|
||||
<tr><td><code>estado</code> / <code>status</code></td><td><code>STATUS</code></td><td>Estado: 1=permanente, 2=ocasional, 7=privado</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<!-- BOYLAT -->
|
||||
<section id="attr-boylat">
|
||||
<h2>BOYLAT — Boyas laterales</h2>
|
||||
<div class="tip">
|
||||
<strong>Capa QGIS:</strong> nombrar <code>boyas</code> / <code>boylat</code> / <code>lateral</code> — geometria Punto — CRS EPSG:4326
|
||||
</div>
|
||||
<table>
|
||||
<thead><tr><th>Columna SHP / CSV</th><th>Atributo S-57</th><th>Descripcion y valores</th><th>Requerido</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>nombre</code> / <code>OBJNAM</code></td><td><code>OBJNAM</code></td><td>Nombre. Ej: <em>"Boya No.1"</em></td><td></td></tr>
|
||||
<tr><td><code>catlam</code> / <code>CATLAM</code></td><td><code>CATLAM</code></td><td><span class="badge b-green">1 = Babor (VERDE en IALA-B)</span> <span class="badge b-red">2 = Estribor (ROJO en IALA-B)</span></td><td>Si</td></tr>
|
||||
<tr><td><code>colour</code> / <code>COLOUR</code></td><td><code>COLOUR</code></td><td>Codigo de color — ver tabla. IALA-B: <code>4</code>=verde (babor), <code>3</code>=rojo (estribor)</td><td>Si</td></tr>
|
||||
<tr><td><code>boyshp</code> / <code>BOYSHP</code></td><td><code>BOYSHP</code></td><td>Forma: <code>1</code>=conica, <code>2</code>=cilindrica, <code>4</code>=pilar, <code>5</code>=barril, <code>6</code>=esfera</td><td></td></tr>
|
||||
<tr><td><code>litchr</code> / <code>LITCHR</code></td><td><code>LITCHR</code></td><td>Destello — ver tabla LITCHR. Ej: <code>2</code>=Fl, <code>4</code>=Q</td><td></td></tr>
|
||||
<tr><td><code>sigper</code> / <code>SIGPER</code></td><td><code>SIGPER</code></td><td>Periodo en segundos. Ej: <code>4.0</code></td><td></td></tr>
|
||||
<tr><td><code>siggrp</code> / <code>SIGGRP</code></td><td><code>SIGGRP</code></td><td>Grupo de destellos. Ej: <code>(2)</code>, <code>(2+1)</code></td><td></td></tr>
|
||||
<tr><td><code>alcance</code> / <code>VALNMR</code></td><td><code>VALNMR</code></td><td>Alcance nominal en millas nauticas. Ej: <code>5.0</code></td><td></td></tr>
|
||||
<tr><td><code>altura</code> / <code>HEIGHT</code></td><td><code>HEIGHT</code></td><td>Altura del plano focal sobre MLLW (metros)</td><td></td></tr>
|
||||
<tr><td><code>colpat</code> / <code>COLPAT</code></td><td><code>COLPAT</code></td><td>Patron de color: <code>1</code>=horizontal, <code>2</code>=vertical, <code>3</code>=diagonal</td><td></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Ejemplo de fila CSV (IALA-B — Americas)</h3>
|
||||
<table>
|
||||
<thead><tr><th>OBJNAM</th><th>CATLAM</th><th>COLOUR</th><th>BOYSHP</th><th>LITCHR</th><th>SIGPER</th><th>SIGGRP</th><th>VALNMR</th><th>HEIGHT</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>Boya Verde No.1 (Babor)</td><td>1</td><td>4</td><td>2</td><td>2</td><td>3.0</td><td>(1)</td><td>3.0</td><td>2.5</td></tr>
|
||||
<tr><td>Boya Roja No.2 (Estribor)</td><td>2</td><td>3</td><td>1</td><td>2</td><td>4.0</td><td>(1)</td><td>3.0</td><td>2.5</td></tr>
|
||||
<tr><td>Boya Verde No.4 (Babor)</td><td>1</td><td>4</td><td>4</td><td>4</td><td></td><td>(4)</td><td>4.0</td><td>3.0</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<!-- BCNLAT -->
|
||||
<section id="attr-bcnlat">
|
||||
<h2>BCNLAT — Balizas / Faros de orilla</h2>
|
||||
<div class="tip">
|
||||
<strong>Capa QGIS:</strong> nombrar <code>balizas</code> / <code>bcnlat</code> / <code>faros</code> — geometria Punto — CRS EPSG:4326
|
||||
</div>
|
||||
<p>Estructura fija anclada en tierra o sobre el agua. Mismo esquema de atributos que BOYLAT pero sin <code>BOYSHP</code>. Usa <code>BCNSHP</code> para la forma de la baliza y <code>TOPSHP</code> para la marca de tope.</p>
|
||||
<table>
|
||||
<thead><tr><th>Columna SHP / CSV</th><th>Atributo S-57</th><th>Descripcion y valores</th><th>Requerido</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>nombre</code> / <code>OBJNAM</code></td><td><code>OBJNAM</code></td><td>Nombre. Ej: <em>"Faro X1"</em></td><td></td></tr>
|
||||
<tr><td><code>catlam</code> / <code>CATLAM</code></td><td><code>CATLAM</code></td><td><span class="badge b-green">1 = Babor (VERDE IALA-B)</span> <span class="badge b-red">2 = Estribor (ROJO IALA-B)</span></td><td>Si</td></tr>
|
||||
<tr><td><code>colour</code> / <code>COLOUR</code></td><td><code>COLOUR</code></td><td>IALA-B: <code>4</code>=verde (babor), <code>3</code>=rojo (estribor)</td><td>Si</td></tr>
|
||||
<tr><td><code>bcnshp</code> / <code>BCNSHP</code></td><td><code>BCNSHP</code></td><td>Forma: <code>1</code>=poste, <code>2</code>=tripode, <code>3</code>=torre, <code>4</code>=pilao, <code>8</code>=faro</td><td></td></tr>
|
||||
<tr><td><code>topshp</code> / <code>TOPSHP</code></td><td><code>TOPSHP</code></td><td>Marca de tope: <code>2</code>=cono, <code>5</code>=cilindro, <code>6</code>=esfera, <code>11</code>=cuadro</td><td></td></tr>
|
||||
<tr><td><code>litchr</code> / <code>LITCHR</code></td><td><code>LITCHR</code></td><td>Destello — ver tabla LITCHR</td><td></td></tr>
|
||||
<tr><td><code>sigper</code> / <code>SIGPER</code></td><td><code>SIGPER</code></td><td>Periodo en segundos</td><td></td></tr>
|
||||
<tr><td><code>siggrp</code> / <code>SIGGRP</code></td><td><code>SIGGRP</code></td><td>Grupo de destellos. Ej: <code>(4)</code></td><td></td></tr>
|
||||
<tr><td><code>alcance</code> / <code>VALNMR</code></td><td><code>VALNMR</code></td><td>Alcance en millas nauticas</td><td></td></tr>
|
||||
<tr><td><code>altura</code> / <code>HEIGHT</code></td><td><code>HEIGHT</code></td><td>Altura del plano focal (metros)</td><td></td></tr>
|
||||
<tr><td><code>ORIENT</code></td><td><code>ORIENT</code></td><td>Rumbo verdadero de enfilacion (grados). Si se llena, genera linea de enfilacion en carta</td><td></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Ejemplo de fila CSV — faros de orilla Barranquilla</h3>
|
||||
<table>
|
||||
<thead><tr><th>OBJNAM</th><th>CATLAM</th><th>COLOUR</th><th>LITCHR</th><th>SIGPER</th><th>SIGGRP</th><th>VALNMR</th><th>HEIGHT</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>Faro X1</td><td>1</td><td>4</td><td>4</td><td>11.0</td><td>(4)</td><td>6.0</td><td>6.0</td></tr>
|
||||
<tr><td>Faro X4</td><td>2</td><td>3</td><td>2</td><td>4.0</td><td>(1)</td><td>5.0</td><td>8.0</td></tr>
|
||||
<tr><td>Faro X10</td><td>1</td><td>4</td><td>2</td><td>5.0</td><td>(3)</td><td>7.0</td><td>10.0</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<!-- BOYCAR -->
|
||||
<section id="attr-boycar">
|
||||
<h2>BOYCAR — Boyas cardinales</h2>
|
||||
<div class="tip">
|
||||
<strong>Capa QGIS:</strong> nombrar <code>cardinales</code> / <code>boycar</code> / <code>cardinal</code> — geometria Punto — CRS EPSG:4326
|
||||
</div>
|
||||
<p>Boyas cardinales IALA: Norte, Sur, Este, Oeste. Se identifican por la combinacion <code>CATCAM</code> + patron de color amarillo/negro.</p>
|
||||
<table>
|
||||
<thead><tr><th>Columna SHP / CSV</th><th>Atributo S-57</th><th>Descripcion y valores</th><th>Requerido</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>nombre</code> / <code>OBJNAM</code></td><td><code>OBJNAM</code></td><td>Nombre. Ej: <em>"Boyarin N Canal"</em></td><td></td></tr>
|
||||
<tr><td><code>catcam</code> / <code>CATCAM</code></td><td><code>CATCAM</code></td><td><code>1</code>=Norte, <code>2</code>=Este, <code>3</code>=Sur, <code>4</code>=Oeste</td><td>Si</td></tr>
|
||||
<tr><td><code>colour</code> / <code>COLOUR</code></td><td><code>COLOUR</code></td><td>Normalmente <code>6,2</code> (amarillo+negro). El converter asigna automaticamente segun CATCAM si se omite</td><td></td></tr>
|
||||
<tr><td><code>litchr</code> / <code>LITCHR</code></td><td><code>LITCHR</code></td><td><code>4</code>=Q (Norte/Sur), <code>5</code>=VQ (rapida)</td><td></td></tr>
|
||||
<tr><td><code>sigper</code> / <code>SIGPER</code></td><td><code>SIGPER</code></td><td>Periodo</td><td></td></tr>
|
||||
<tr><td><code>siggrp</code> / <code>SIGGRP</code></td><td><code>SIGGRP</code></td><td>Grupo: Norte=continuo, Este=<code>(3)</code>, Sur=<code>(6)+LFl</code>, Oeste=<code>(9)</code></td><td></td></tr>
|
||||
<tr><td><code>alcance</code> / <code>VALNMR</code></td><td><code>VALNMR</code></td><td>Alcance en millas nauticas</td><td></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Valores CATCAM</h3>
|
||||
<table>
|
||||
<thead><tr><th>Codigo</th><th>Cardinal</th><th>Color tipico</th><th>Destello tipico</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>1</code></td><td>Norte (N)</td><td>Negro arriba / Amarillo abajo</td><td>Q o VQ (rapida continua)</td></tr>
|
||||
<tr><td><code>2</code></td><td>Este (E)</td><td>Negro-Amarillo-Negro</td><td>Q(3) o VQ(3) cada 5/10s</td></tr>
|
||||
<tr><td><code>3</code></td><td>Sur (S)</td><td>Amarillo arriba / Negro abajo</td><td>Q(6)+LFl o VQ(6)+LFl cada 15s</td></tr>
|
||||
<tr><td><code>4</code></td><td>Oeste (W)</td><td>Amarillo-Negro-Amarillo</td><td>Q(9) o VQ(9) cada 10/15s</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<!-- BOYISD -->
|
||||
<section id="attr-boyisd">
|
||||
<h2>BOYISD — Boya de peligro aislado</h2>
|
||||
<div class="tip">
|
||||
<strong>Capa QGIS:</strong> nombrar <code>peligro</code> / <code>boyisd</code> / <code>isolated</code> — geometria Punto — CRS EPSG:4326
|
||||
</div>
|
||||
<p>Marca un obstaculo rodeado de agua navegable por todos lados. Color: negro con banda(s) roja(s). Marcas de tope: dos esferas negras.</p>
|
||||
<table>
|
||||
<thead><tr><th>Columna SHP / CSV</th><th>Atributo S-57</th><th>Descripcion y valores</th><th>Requerido</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>nombre</code> / <code>OBJNAM</code></td><td><code>OBJNAM</code></td><td>Nombre del peligro</td><td></td></tr>
|
||||
<tr><td><code>colour</code> / <code>COLOUR</code></td><td><code>COLOUR</code></td><td>Normalmente <code>2,3</code> (negro+rojo). Si se omite el converter asigna automaticamente</td><td></td></tr>
|
||||
<tr><td><code>litchr</code> / <code>LITCHR</code></td><td><code>LITCHR</code></td><td>Tipicamente <code>13</code>=FFl (Fija y destellante)</td><td></td></tr>
|
||||
<tr><td><code>sigper</code> / <code>SIGPER</code></td><td><code>SIGPER</code></td><td>Periodo</td><td></td></tr>
|
||||
<tr><td><code>siggrp</code> / <code>SIGGRP</code></td><td><code>SIGGRP</code></td><td>Grupo: tipicamente <code>(2)</code></td><td></td></tr>
|
||||
<tr><td><code>alcance</code> / <code>VALNMR</code></td><td><code>VALNMR</code></td><td>Alcance en millas nauticas</td><td></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<!-- BOYSPP -->
|
||||
<section id="attr-boyspp">
|
||||
<h2>BOYSPP — Marcas especiales</h2>
|
||||
<div class="tip">
|
||||
<strong>Capa QGIS:</strong> nombrar <code>especiales</code> / <code>boyspp</code> / <code>special</code> — geometria Punto — CRS EPSG:4326
|
||||
</div>
|
||||
<p>Boyas de usos especiales: zonas de pesca, cabos de fondeo, areas restringidas, tuberias, etc. Color: amarillo. Marca de tope: aspa (X) amarilla.</p>
|
||||
<table>
|
||||
<thead><tr><th>Columna SHP / CSV</th><th>Atributo S-57</th><th>Descripcion y valores</th><th>Requerido</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>nombre</code> / <code>OBJNAM</code></td><td><code>OBJNAM</code></td><td>Descripcion de uso</td><td></td></tr>
|
||||
<tr><td><code>colour</code> / <code>COLOUR</code></td><td><code>COLOUR</code></td><td><code>6</code>=Amarillo (estandar para marcas especiales)</td><td>Si</td></tr>
|
||||
<tr><td><code>boyshp</code> / <code>BOYSHP</code></td><td><code>BOYSHP</code></td><td>Forma de la boya</td><td></td></tr>
|
||||
<tr><td><code>litchr</code> / <code>LITCHR</code></td><td><code>LITCHR</code></td><td>Destello — ver tabla LITCHR</td><td></td></tr>
|
||||
<tr><td><code>sigper</code> / <code>SIGPER</code></td><td><code>SIGPER</code></td><td>Periodo</td><td></td></tr>
|
||||
<tr><td><code>alcance</code> / <code>VALNMR</code></td><td><code>VALNMR</code></td><td>Alcance</td><td></td></tr>
|
||||
<tr><td><code>inform</code> / <code>INFORM</code></td><td><code>INFORM</code></td><td>Texto libre: descripcion de la zona restringida</td><td></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<!-- LIGHTS -->
|
||||
<section id="attr-lights">
|
||||
<h2>LIGHTS — Luces independientes (faros, luces de sector)</h2>
|
||||
<div class="tip">
|
||||
<strong>Capa QGIS:</strong> nombrar <code>luces</code> / <code>lights</code> / <code>faros</code> — geometria Punto — CRS EPSG:4326
|
||||
</div>
|
||||
<p>Luces independientes como faros de tierra, luces de sector o luces de recalada que no estan asociadas a una boya. Para boyas con luz, usa BOYLAT/BCNLAT con los campos LITCHR/SIGPER — el converter genera automaticamente el objeto LIGHTS co-ubicado.</p>
|
||||
<table>
|
||||
<thead><tr><th>Columna SHP / CSV</th><th>Atributo S-57</th><th>Descripcion y valores</th><th>Requerido</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>nombre</code> / <code>OBJNAM</code></td><td><code>OBJNAM</code></td><td>Nombre del faro</td><td></td></tr>
|
||||
<tr><td><code>colour</code> / <code>COLOUR</code></td><td><code>COLOUR</code></td><td>Color de la luz: <code>1</code>=blanco, <code>3</code>=rojo, <code>4</code>=verde</td><td>Si</td></tr>
|
||||
<tr><td><code>litchr</code> / <code>LITCHR</code></td><td><code>LITCHR</code></td><td>Caracteristica de destello — ver tabla LITCHR</td><td>Si</td></tr>
|
||||
<tr><td><code>sigper</code> / <code>SIGPER</code></td><td><code>SIGPER</code></td><td>Periodo en segundos. Ej: <code>2.0</code></td><td>Si</td></tr>
|
||||
<tr><td><code>siggrp</code> / <code>SIGGRP</code></td><td><code>SIGGRP</code></td><td>Grupo: si aplica. Ej: <code>(3)</code></td><td></td></tr>
|
||||
<tr><td><code>alcance</code> / <code>VALNMR</code></td><td><code>VALNMR</code></td><td>Alcance nominal en millas nauticas</td><td></td></tr>
|
||||
<tr><td><code>altura</code> / <code>HEIGHT</code></td><td><code>HEIGHT</code></td><td>Altura del plano focal sobre MLLW (metros)</td><td></td></tr>
|
||||
<tr><td><code>ORIENT</code></td><td><code>ORIENT</code></td><td>Rumbo verdadero de la enfilacion (grados). Genera linea de enfilacion en la carta</td><td></td></tr>
|
||||
<tr><td><code>inform</code> / <code>INFORM</code></td><td><code>INFORM</code></td><td>Notas: color de la torre, caracteristicas especiales</td><td></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Ejemplo — Faros de recalada Barranquilla</h3>
|
||||
<table>
|
||||
<thead><tr><th>OBJNAM</th><th>COLOUR</th><th>LITCHR</th><th>SIGPER</th><th>VALNMR</th><th>HEIGHT</th><th>ORIENT</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>Faro F1 Recalada</td><td>4</td><td>7</td><td>2.0</td><td>9.0</td><td>20.0</td><td>270.0</td></tr>
|
||||
<tr><td>Faro F2 Recalada</td><td>3</td><td>7</td><td>2.0</td><td>13.4</td><td>23.0</td><td></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<!-- CÓDIGOS S-57 -->
|
||||
<section id="codigos">
|
||||
<h2>Tablas de codigos S-57</h2>
|
||||
|
||||
<h3>LITCHR — Caracteristica de luz (IHO S-57 Ed. 3.1)</h3>
|
||||
<div class="warn">
|
||||
<strong>Atencion:</strong> Usar exactamente estos codigos numericos en la columna <code>LITCHR</code>. El texto (Fl, Q, Iso…) es solo referencia.
|
||||
</div>
|
||||
<table>
|
||||
<thead><tr><th>Codigo</th><th>Abrev.</th><th>Descripcion</th><th>Ejemplo en carta</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>1</code></td><td><strong>F</strong></td><td>Fija — luz continua sin interrupciones</td><td>F G</td></tr>
|
||||
<tr><td><code>2</code></td><td><strong>Fl</strong></td><td>Destellante — destello mas corto que ocultacion</td><td>Fl G 4s</td></tr>
|
||||
<tr><td><code>3</code></td><td><strong>LFl</strong></td><td>Gran destello — destello de duracion ≥ 2s</td><td>LFl W 10s</td></tr>
|
||||
<tr><td><code>4</code></td><td><strong>Q</strong></td><td>Centelleante — 50 a 60 destellos por minuto</td><td>Q(4) G 11s</td></tr>
|
||||
<tr><td><code>5</code></td><td><strong>VQ</strong></td><td>Rapida — 100 a 120 destellos por minuto</td><td>VQ(3) W</td></tr>
|
||||
<tr><td><code>6</code></td><td><strong>UQ</strong></td><td>Ultra rapida — mas de 160 destellos por minuto</td><td>UQ</td></tr>
|
||||
<tr><td><code>7</code></td><td><strong>Iso</strong></td><td>Isofasica — periodo de luz igual al de oscuridad</td><td>Iso G 2s</td></tr>
|
||||
<tr><td><code>8</code></td><td><strong>Oc</strong></td><td>Ocultante — periodo de luz mayor que el de oscuridad</td><td>Oc R 4s</td></tr>
|
||||
<tr><td><code>9</code></td><td><strong>IQ</strong></td><td>Centelleante interrumpida</td><td>IQ</td></tr>
|
||||
<tr><td><code>10</code></td><td><strong>IVQ</strong></td><td>Rapida interrumpida</td><td>IVQ(3)</td></tr>
|
||||
<tr><td><code>12</code></td><td><strong>Mo</strong></td><td>Codigo Morse</td><td>Mo(A) W</td></tr>
|
||||
<tr><td><code>13</code></td><td><strong>FFl</strong></td><td>Fija y destellante</td><td>FFl(2) W</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>COLOUR — Color</h3>
|
||||
<table>
|
||||
<thead><tr><th>Código</th><th>Color</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>1</code></td><td><span class="swatch" style="background:#fff"></span>Blanco (White)</td></tr>
|
||||
<tr><td><code>2</code></td><td><span class="swatch" style="background:#111"></span>Negro (Black)</td></tr>
|
||||
<tr><td><code>3</code></td><td><span class="swatch" style="background:#cc2222"></span>Rojo (Red)</td></tr>
|
||||
<tr><td><code>4</code></td><td><span class="swatch" style="background:#228822"></span>Verde (Green)</td></tr>
|
||||
<tr><td><code>5</code></td><td><span class="swatch" style="background:#3355cc"></span>Azul (Blue)</td></tr>
|
||||
<tr><td><code>6</code></td><td><span class="swatch" style="background:#cccc22"></span>Amarillo (Yellow)</td></tr>
|
||||
<tr><td><code>9</code></td><td><span class="swatch" style="background:#cc8822"></span>Naranja (Orange)</td></tr>
|
||||
<tr><td><code>11</code></td><td><span class="swatch" style="background:#cc22cc"></span>Violeta (Violet)</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>CATLAM — Categoria lateral</h3>
|
||||
<div class="warn">
|
||||
<strong>IALA-B (Americas — Colombia, USA, Canada, Brasil…)</strong>
|
||||
Babor = VERDE | Estribor = ROJO. Al entrar al puerto: verde a la izquierda, rojo a la derecha.
|
||||
</div>
|
||||
<table>
|
||||
<thead><tr><th>Codigo</th><th>IALA-B (Americas)</th><th>IALA-A (Europa/Asia/Africa/Australia)</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>1</code></td><td><span class="badge b-green">Babor — VERDE (colour=4)</span> — mano izquierda entrando</td><td><span class="badge b-red">Babor — ROJO (colour=3)</span></td></tr>
|
||||
<tr><td><code>2</code></td><td><span class="badge b-red">Estribor — ROJO (colour=3)</span> — mano derecha entrando</td><td><span class="badge b-green">Estribor — VERDE (colour=4)</span></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>BOYSHP — Forma de boya</h3>
|
||||
<table>
|
||||
<thead><tr><th>Código</th><th>Forma</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>1</code></td><td>Cónica (estribor en IALA-A)</td></tr>
|
||||
<tr><td><code>2</code></td><td>Cilíndrica (babor en IALA-A)</td></tr>
|
||||
<tr><td><code>3</code></td><td>Esférica</td></tr>
|
||||
<tr><td><code>4</code></td><td>Barril</td></tr>
|
||||
<tr><td><code>5</code></td><td>Super-boya</td></tr>
|
||||
<tr><td><code>6</code></td><td>Pilón (spar)</td></tr>
|
||||
<tr><td><code>7</code></td><td>Boyarín</td></tr>
|
||||
<tr><td><code>8</code></td><td>Ícaro (ice buoy)</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<!-- CSV DIRECTO -->
|
||||
<section id="csv-directo">
|
||||
<h2>Formato CSV directo (sin QGIS)</h2>
|
||||
<p>Si prefieres no usar QGIS, puedes preparar un CSV maestro y correr <code>build_barranquilla.py</code> (o script equivalente) directamente. El CSV usa los nombres de atributos S-57 como columnas.</p>
|
||||
<div class="info">
|
||||
<strong>Columna clave: <code>feat_type</code></strong>
|
||||
Define el tipo S-57 de cada fila. Valores: <code>BOYLAT</code>, <code>BCNLAT</code>, <code>BOYCAR</code>, <code>BOYISD</code>, <code>BOYSPP</code>, <code>LIGHTS</code>
|
||||
</div>
|
||||
<h3>Cabecera del CSV maestro</h3>
|
||||
<table>
|
||||
<thead><tr><th>Columna</th><th>Atributo S-57</th><th>Descripcion</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>no_dimar</code></td><td>—</td><td>Numero de referencia interno (opcional)</td></tr>
|
||||
<tr><td><code>OBJNAM</code></td><td><code>OBJNAM</code></td><td>Nombre del objeto</td></tr>
|
||||
<tr><td><code>lon</code></td><td>—</td><td>Longitud decimal WGS-84 (negativa al W)</td></tr>
|
||||
<tr><td><code>lat</code></td><td>—</td><td>Latitud decimal WGS-84</td></tr>
|
||||
<tr><td><code>feat_type</code></td><td>Clase S-57</td><td>BOYLAT / BCNLAT / BOYCAR / BOYISD / BOYSPP / LIGHTS</td></tr>
|
||||
<tr><td><code>LITCHR</code></td><td><code>LITCHR</code></td><td>Codigo de destello — ver tabla</td></tr>
|
||||
<tr><td><code>LITCHR_TXT</code></td><td>—</td><td>Texto del destello (solo referencia, no se escribe en S-57)</td></tr>
|
||||
<tr><td><code>SIGGRP</code></td><td><code>SIGGRP</code></td><td>Grupo de destellos. Ej: <code>(4)</code></td></tr>
|
||||
<tr><td><code>SIGPER</code></td><td><code>SIGPER</code></td><td>Periodo en segundos</td></tr>
|
||||
<tr><td><code>COLOUR</code></td><td><code>COLOUR</code></td><td>Codigo de color (ver tabla COLOUR)</td></tr>
|
||||
<tr><td><code>COLOUR_TXT</code></td><td>—</td><td>Texto del color (solo referencia)</td></tr>
|
||||
<tr><td><code>COLPAT</code></td><td><code>COLPAT</code></td><td>Patron de color: 1=horizontal, 2=vertical</td></tr>
|
||||
<tr><td><code>VALNMR</code></td><td><code>VALNMR</code></td><td>Alcance nominal (millas nauticas)</td></tr>
|
||||
<tr><td><code>HEIGHT</code></td><td><code>HEIGHT</code></td><td>Altura del plano focal (metros)</td></tr>
|
||||
<tr><td><code>ORIENT</code></td><td><code>ORIENT</code></td><td>Rumbo de enfilacion en grados (opcional)</td></tr>
|
||||
<tr><td><code>CATLAM</code></td><td><code>CATLAM</code></td><td>Categoria lateral: 1=babor, 2=estribor</td></tr>
|
||||
<tr><td><code>CATCAM</code></td><td><code>CATCAM</code></td><td>Cardinal: 1=N, 2=E, 3=S, 4=W</td></tr>
|
||||
<tr><td><code>BOYSHP</code></td><td><code>BOYSHP</code></td><td>Forma de boya</td></tr>
|
||||
<tr><td><code>BCNSHP</code></td><td><code>BCNSHP</code></td><td>Forma de baliza</td></tr>
|
||||
<tr><td><code>TOPSHP</code></td><td><code>TOPSHP</code></td><td>Marca de tope</td></tr>
|
||||
<tr><td><code>INFORM</code></td><td><code>INFORM</code></td><td>Notas libres (aparecen en tooltip)</td></tr>
|
||||
<tr><td><code>_dimar_char_raw</code></td><td>—</td><td>Caracter de luz original DIMAR (solo referencia)</td></tr>
|
||||
<tr><td><code>_source</code></td><td>—</td><td>Fuente del dato (solo referencia)</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Ejemplo de filas CSV maestro</h3>
|
||||
<table>
|
||||
<thead><tr><th>OBJNAM</th><th>lon</th><th>lat</th><th>feat_type</th><th>LITCHR</th><th>SIGPER</th><th>COLOUR</th><th>CATLAM</th><th>CATCAM</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>Boya No. 1</td><td>-74.810</td><td>11.102</td><td>BOYLAT</td><td>2</td><td>3.0</td><td>4</td><td>1</td><td></td></tr>
|
||||
<tr><td>Faro X1</td><td>-74.806</td><td>11.095</td><td>BCNLAT</td><td>4</td><td>11.0</td><td>4</td><td>1</td><td></td></tr>
|
||||
<tr><td>Cardinal N</td><td>-74.820</td><td>11.110</td><td>BOYCAR</td><td>4</td><td></td><td>2</td><td></td><td>1</td></tr>
|
||||
<tr><td>Faro Recalada</td><td>-74.849</td><td>11.106</td><td>LIGHTS</td><td>7</td><td>2.0</td><td>4</td><td></td><td></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="tip">
|
||||
<strong>Para agregar tierra (LNDARE) al .000</strong>
|
||||
El CSV directo solo soporta objetos puntuales. Para incluir poligonos de tierra (LNDARE) y linea de costa (COALNE), usar el flujo QGIS con capas SHP de area/linea, o crear una capa <code>Tierra</code> (geometria Poligono) en QGIS con los limites costeros y exportar con el converter normal.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CONFIG -->
|
||||
<section id="config">
|
||||
<h2>cell_config.json</h2>
|
||||
<div class="tip">
|
||||
<strong>Este archivo ya viene incluido con el converter — NO hay que crearlo.</strong>
|
||||
Solo edita los campos que necesites cambiar (cell_name, scale, issue_date, producer_name).
|
||||
El archivo esta en: <code>D:\Proyectos Software\QGISS57Converter\cell_config.json</code>
|
||||
</div>
|
||||
|
||||
<h3>Campos que debes editar para cada carta</h3>
|
||||
<table>
|
||||
<thead><tr><th>Campo</th><th>Descripcion</th><th>Ejemplo</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>cell_name</code></td><td>Nombre del archivo de salida (sin .000). Convenio IHO: 2 letras pais + 1 digito escala + codigo area</td><td><code>CO1CO01M</code></td></tr>
|
||||
<tr><td><code>scale</code></td><td>Escala denominador de la carta</td><td><code>50000</code></td></tr>
|
||||
<tr><td><code>issue_date</code></td><td>Fecha de emision formato YYYYMMDD</td><td><code>20260430</code></td></tr>
|
||||
<tr><td><code>producer_name</code></td><td>Nombre del productor hidrográfico</td><td><code>DIMAR</code></td></tr>
|
||||
<tr><td><code>producer_code</code></td><td>Codigo ISO2 del pais productor</td><td><code>CO</code></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Estructura completa del archivo</h3>
|
||||
<pre style="background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:14px;font-family:Consolas,monospace;font-size:12px;color:var(--mono);overflow-x:auto;margin-bottom:16px">{
|
||||
"cell_name": "CO1CO01M",
|
||||
"cell_edition": 1,
|
||||
"update_number": 1,
|
||||
"issue_date": "20260430",
|
||||
"producer_code": "CO",
|
||||
"producer_name": "DIMAR",
|
||||
"data_set_name": "Barranquilla ENC",
|
||||
"scale": 50000,
|
||||
"horizontal_datum": "WGS84",
|
||||
"vertical_datum": "MLLW",
|
||||
"sounding_datum": "MLLW",
|
||||
"compilation_scale": 50000,
|
||||
|
||||
"layer_mappings": {
|
||||
"boyas": "BOYLAT",
|
||||
"balizas": "BCNLAT",
|
||||
"luces": "LIGHTS",
|
||||
"tierra": "LNDARE",
|
||||
"Área Terreno": "LNDARE",
|
||||
"Linderos": "COALNE",
|
||||
"sondas": "SOUNDG",
|
||||
"fondeadero": "ACHARE"
|
||||
},
|
||||
|
||||
"attribute_mappings": {
|
||||
"nombre": "OBJNAM",
|
||||
"colour": "COLOUR",
|
||||
"catlam": "CATLAM",
|
||||
"boyshp": "BOYSHP",
|
||||
"litchr": "LITCHR",
|
||||
"sigper": "SIGPER",
|
||||
"siggrp": "SIGGRP",
|
||||
"alcance": "VALNMR",
|
||||
"altura": "HEIGHT"
|
||||
}
|
||||
}</pre>
|
||||
|
||||
<div class="info">
|
||||
<strong>layer_mappings</strong> — traduce el nombre de tu capa QGIS al acronimo S-57. El converter ya incluye los nombres mas comunes (ver archivo completo). Si tu capa tiene un nombre especial, agrega una linea aqui.
|
||||
<br><br>
|
||||
<strong>attribute_mappings</strong> — traduce el nombre de tu columna SHP al atributo S-57. Igualmente, los nombres comunes ya estan mapeados.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- EJEMPLOS -->
|
||||
<section id="ejemplos">
|
||||
<h2>Ejemplos de SHP</h2>
|
||||
|
||||
<h3>Capa de boyas (BOYLAT)</h3>
|
||||
<div class="tip">
|
||||
<strong>Nombre de la capa:</strong> <code>boyas</code> — geometría Punto — CRS: EPSG:4326
|
||||
</div>
|
||||
<p>Columnas recomendadas:</p>
|
||||
<table>
|
||||
<thead><tr><th>nombre</th><th>catlam</th><th>colour</th><th>litchr</th><th>sigper</th><th>siggrp</th><th>alcance</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>Boya R-4</td><td>1</td><td>3</td><td>2</td><td>4.0</td><td>(1)</td><td>3.0</td></tr>
|
||||
<tr><td>Boya V-3</td><td>2</td><td>4</td><td>2</td><td>4.0</td><td>(1)</td><td>3.0</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Capa de línea de costa (COALNE)</h3>
|
||||
<div class="tip">
|
||||
<strong>Nombre de la capa:</strong> <code>Linderos</code> o <code>coastline</code> — geometría Línea — CRS: EPSG:4326
|
||||
</div>
|
||||
<p>No requiere atributos mínimos. Opcionales: <code>nombre</code> para identificar el tramo.</p>
|
||||
|
||||
<h3>Capa de área terrestre (LNDARE)</h3>
|
||||
<div class="tip">
|
||||
<strong>Nombre de la capa:</strong> <code>Área Terreno</code> o <code>tierra</code> — geometría Polígono — CRS: EPSG:4326
|
||||
</div>
|
||||
<p>Opcional: <code>nombre</code> para identificar la isla o terreno.</p>
|
||||
|
||||
<h3>Capa de sondas (SOUNDG)</h3>
|
||||
<div class="tip">
|
||||
<strong>Nombre de la capa:</strong> <code>sondas</code> — geometría Punto — CRS: EPSG:4326
|
||||
</div>
|
||||
<p>Agrega columna <code>sonda</code> con el valor en metros. Si el punto tiene coordenada Z, se usa automáticamente.</p>
|
||||
<table>
|
||||
<thead><tr><th>sonda</th><th>Coordenadas</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>3.5</td><td>-80.456, 27.752</td></tr>
|
||||
<tr><td>12.0</td><td>-80.451, 27.758</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
</main>
|
||||
|
||||
<!-- ── JS: search + active nav ───────────────────────────────────────────── -->
|
||||
<script>
|
||||
// Active nav on scroll
|
||||
const sections = document.querySelectorAll('section[id]');
|
||||
const navLinks = document.querySelectorAll('.nav-link');
|
||||
window.addEventListener('scroll', () => {
|
||||
let cur = '';
|
||||
sections.forEach(s => { if (window.scrollY >= s.offsetTop - 60) cur = s.id; });
|
||||
navLinks.forEach(l => {
|
||||
l.classList.toggle('active', l.getAttribute('href') === '#' + cur);
|
||||
});
|
||||
}, { passive: true });
|
||||
|
||||
// Search
|
||||
const box = document.getElementById('search-box');
|
||||
box.addEventListener('input', () => {
|
||||
const q = box.value.trim().toLowerCase();
|
||||
document.querySelectorAll('table tbody tr').forEach(tr => {
|
||||
tr.classList.toggle('hidden-row', q.length > 1 && !tr.textContent.toLowerCase().includes(q));
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user