12.05.2013 Views

Fundamentos de análisis geográfico con SEXTANTE - La Salle

Fundamentos de análisis geográfico con SEXTANTE - La Salle

Fundamentos de análisis geográfico con SEXTANTE - La Salle

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Fundamentos</strong> <strong>de</strong> <strong>análisis</strong> <strong>geográfico</strong> <strong>con</strong><br />

<strong>SEXTANTE</strong><br />

Víctor Olaya<br />

Edición 1.0 — Rev. 23 <strong>de</strong> marzo <strong>de</strong> 2006


<strong>Fundamentos</strong> <strong>de</strong> <strong>análisis</strong> <strong>geográfico</strong> <strong>con</strong> <strong>SEXTANTE</strong>.<br />

Copyright c○2005 Víctor Olaya<br />

Edición 1.0<br />

Rev. 23 <strong>de</strong> marzo <strong>de</strong> 2006<br />

Revisado por Juan Carlos Giménez (UNEX), Javier Pineda (AESIA Desarrollo y Proyectos Medioambientales,<br />

S.L., Madrid. www.aesia.es) y Víctor Olaya.<br />

Se <strong>con</strong>ce<strong>de</strong> permiso para copiar, distribuir o modificar esta obra bajo los términos expresados en la licencia<br />

Creative Common Attribution Share–alike, la cual pue<strong>de</strong> en<strong>con</strong>trarse en www.creativecommons.org.<br />

<strong>La</strong> licencia se aplica a todo el texto, así como las imágenes creadas por el propio autor, que serán<br />

aquellas para las que no se especifique <strong>de</strong> modo explicito una distinta proce<strong>de</strong>ncia. Este libro pue<strong>de</strong><br />

<strong>de</strong>scargarse <strong>de</strong> forma libre en varios formatos, incluyendo formatos editables, en la dirección web<br />

http://sextante.sf.net.<br />

Windows es una marca registrada <strong>de</strong> Microsoft Corporation en Estados Unidos y otros países.<br />

Linux es una marca registrada <strong>de</strong> Linus Torvalds.<br />

El resto <strong>de</strong> marcas registradas que pudieran aparecer en el texto pertenecen a sus respectivos propietarios.


A mi padre, por enseñarme cómo llegar hasta aquí.<br />

A mi madre, por mostrarme cómo llegar aún más lejos.


Con la intención <strong>de</strong> favorecer la difusión <strong>de</strong> los <strong>con</strong>ocimientos recogidos en esta obra en la medida <strong>de</strong><br />

lo posible y hacer los mismos accesibles <strong>con</strong> carácter general y sin restricciones ni impedimentos, ésta<br />

se distribuye <strong>de</strong> forma libre bajo una licencia <strong>de</strong> tipo Creative Commons Atribution–Share Alike. Esto<br />

significa que<br />

Usted tiene total libertad para:<br />

Copiar o distribuir partes o la totalidad <strong>de</strong> este trabajo.<br />

Crear nuevos trabajos a partir <strong>de</strong> éste, modificarlo o tomar y utilizar elementos <strong>de</strong>l mismo.<br />

Realizar un uso comercial <strong>de</strong> esta obra.<br />

Bajo las <strong>con</strong>diciones:<br />

Debe darse crédito en todo momento al autor original.<br />

<strong>La</strong>s obras <strong>de</strong>rivadas <strong>de</strong> ésta <strong>de</strong>ben distribuirse bajo una licencia idéntica a la presente.<br />

Para <strong>con</strong>sultar los términos <strong>de</strong>tallados <strong>de</strong> la licencia <strong>de</strong> distribución vaya a<br />

http://creativecommons.org/licenses/by-sa/1.0/<br />

Para cualquier comentario o <strong>con</strong>sulta al respecto, pue<strong>de</strong> <strong>con</strong>sultar <strong>con</strong> el autor en la dirección <strong>de</strong> correo<br />

electrónico<br />

volaya@ya.com<br />

Este libro pue<strong>de</strong> obtenerse en formato PDF, así como las fuentes originales <strong>de</strong>l mismo en formato<br />

L ATEXen la dirección Web<br />

http://sextante.sf.net


Agra<strong>de</strong>cimientos<br />

Este libro no es sólo el trabajo <strong>de</strong> una única persona, sino también <strong>de</strong> la gente que ha<br />

<strong>con</strong>tribuido a él y <strong>con</strong> los cuales estoy en <strong>de</strong>uda:<br />

Juan Carlos Giménez, porque sin su colaboración y amistad el proyecto <strong>SEXTANTE</strong><br />

sencillamente no existiría.<br />

Javier Pineda <strong>de</strong> Aesia Desarrollo y Proyectos Medioambientales S.L, por su paciente<br />

revisión <strong>de</strong> los textos y la experiencia profesional que ha aportado no sólo a éste texto<br />

sino también al propio <strong>SEXTANTE</strong> como software.<br />

Olaf Conrad, quien, a<strong>de</strong>más <strong>de</strong> crear SAGA, la base para <strong>SEXTANTE</strong> como software,<br />

me aportó toda la información posible sobre el programa y me ayudó siempre que le fue<br />

posible <strong>de</strong> forma <strong>de</strong>sinteresada.<br />

Andre Ringeler <strong>de</strong>l equipo <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> SAGA, quien mostró interés en este manual<br />

<strong>de</strong>s<strong>de</strong> sus inicios y lo apoyó <strong>con</strong> entusiasmo. A<strong>de</strong>más, el capítulo acerca <strong>de</strong> programación<br />

<strong>de</strong> módulos esta basado en algunos <strong>de</strong> sus fantásticos textos al respecto, adaptados y<br />

traducidos para esta versión <strong>de</strong>l libro.<br />

El resto <strong>de</strong>l equipo <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> SAGA, especialmente el profesor Juergen<br />

Boehner, quien durante mi estancia <strong>con</strong> él en Goettingen me proporcionó lo necesario<br />

para escribir este libro y a<strong>de</strong>más disfrutar haciéndolo.<br />

ix


Índice general<br />

1. Introducción 1<br />

1.1. Introducción. ¿Qué es <strong>SEXTANTE</strong>? . . . . . . . . . . . . . . . . . . . . . . . . 1<br />

1.2. ¿De dón<strong>de</strong> viene <strong>SEXTANTE</strong>? . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />

1.3. ¿Cómo <strong>con</strong>seguir <strong>SEXTANTE</strong>? . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

1.4. Instalar y ejecutar <strong>SEXTANTE</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

2. <strong>Fundamentos</strong> 5<br />

2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

2.2. <strong>La</strong> interfaz <strong>de</strong> usuario <strong>de</strong> <strong>SEXTANTE</strong> . . . . . . . . . . . . . . . . . . . . . . . 5<br />

2.3. Proyectos. Manejo <strong>de</strong> Archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

2.4. Mapas. Conceptos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

2.5. <strong>La</strong> estructura modular <strong>de</strong> <strong>SEXTANTE</strong> . . . . . . . . . . . . . . . . . . . . . . . 18<br />

2.6. Terminando el trabajo <strong>con</strong> <strong>SEXTANTE</strong> . . . . . . . . . . . . . . . . . . . . . . 21<br />

3. Trabajo <strong>con</strong> capas raster 23<br />

3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

3.2. Representación y manejo <strong>de</strong> capas raster . . . . . . . . . . . . . . . . . . . . . . 23<br />

3.3. Obteniendo información . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />

3.4. Análisis básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

3.4.1. Histogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />

3.4.2. Análisis <strong>de</strong> regresión. Diagramas <strong>de</strong> puntos. . . . . . . . . . . . . . . . . 39<br />

4. Trabajo <strong>con</strong> tablas 43<br />

4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />

4.2. Abrir y editar tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />

4.3. Crear una tabla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44<br />

4.4. Diagramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44<br />

5. Trabajo <strong>con</strong> capas vectoriales 47<br />

5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />

5.2. Representación <strong>de</strong> capas vectoriales . . . . . . . . . . . . . . . . . . . . . . . . . 48<br />

5.3. Selección. <strong>La</strong> tabla <strong>de</strong> atributos. . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />

5.4. Edición <strong>de</strong> capas vectoriales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br />

5.4.1. <strong>La</strong> jerarquía vectorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br />

5.4.2. Edición <strong>de</strong> entida<strong>de</strong>s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />

xi


5.4.3. Enlace automático (snap) . . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />

5.4.4. Añadir una nueva entidad . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />

5.4.5. Crear una nueva capa vectorial . . . . . . . . . . . . . . . . . . . . . . . 60<br />

6. Trabajo <strong>con</strong> TINs 61<br />

6.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

6.2. Representación <strong>de</strong> TINs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

7. Algo más sobre mapas 63<br />

7.1. Sincronizando la extensión <strong>de</strong> varios mapas . . . . . . . . . . . . . . . . . . . . 63<br />

7.2. Ajustando la rampa <strong>de</strong> colores a la zona visible . . . . . . . . . . . . . . . . . . 63<br />

7.3. Midiendo distancias sobre un mapa . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />

7.4. Guardando un mapa como imagen . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />

7.5. Familias <strong>de</strong> planos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />

7.6. Guardar un mapa <strong>con</strong> un archivo SVG interactivo . . . . . . . . . . . . . . . . 68<br />

7.7. Vistas tridimensionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />

7.7.1. Crear una vista tridimensional . . . . . . . . . . . . . . . . . . . . . . . 69<br />

7.7.2. Guardar vistas tridimensionales . . . . . . . . . . . . . . . . . . . . . . . 73<br />

7.7.3. Anaglifos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74<br />

8. Módulos básicos para capas raster 75<br />

8.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />

8.2. Filtrando una capa raster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />

8.3. Normalizando una capa raster . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83<br />

8.4. <strong>La</strong> calculadora <strong>de</strong> mapas. Álgebra <strong>de</strong> mapas . . . . . . . . . . . . . . . . . . . . 83<br />

8.5. Cambiando el formato <strong>de</strong> almacenamiento . . . . . . . . . . . . . . . . . . . . . 88<br />

8.6. Cambiando la orientación <strong>de</strong> una capa . . . . . . . . . . . . . . . . . . . . . . . 89<br />

8.7. Cambiando los valores <strong>de</strong> una capa. Reclasificación . . . . . . . . . . . . . . . . 90<br />

8.8. Reescalando una capa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br />

8.9. ¿Remuestrear o (<strong>de</strong>s-)agregar? . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br />

8.10. Recortando una capa raster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br />

8.11. Uniendo varias capas raster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98<br />

8.12. Ajustando la extensión a celdas <strong>con</strong> datos . . . . . . . . . . . . . . . . . . . . . 100<br />

8.13. Completando los datos <strong>de</strong> una capa . . . . . . . . . . . . . . . . . . . . . . . . . 100<br />

8.14. Zonas <strong>de</strong> influencia (Buffers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102<br />

8.15. Creando una capa raster <strong>de</strong>s<strong>de</strong> cero . . . . . . . . . . . . . . . . . . . . . . . . . 107<br />

8.15.1. Creando una capa según una función matemática . . . . . . . . . . . . . 107<br />

8.15.2. Creando un terreno artificial . . . . . . . . . . . . . . . . . . . . . . . . 109<br />

8.15.3. Creando una capa <strong>de</strong> valor <strong>con</strong>stante . . . . . . . . . . . . . . . . . . . . 111<br />

8.16. Algunos ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111<br />

8.16.1. Combinando capas temáticas . . . . . . . . . . . . . . . . . . . . . . . . 112<br />

8.16.2. Empleando máscaras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116<br />

9. Módulos <strong>de</strong> entrada/salida 119<br />

9.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119<br />

9.2. Módulos para importación <strong>de</strong> datos . . . . . . . . . . . . . . . . . . . . . . . . . 119<br />

9.3. Módulos para exportación <strong>de</strong> datos . . . . . . . . . . . . . . . . . . . . . . . . . 123<br />

9.4. Otros módulos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124<br />

9.4.1. GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124<br />

9.4.2. Datos climatológicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125


10.Análisis <strong>de</strong>l terreno, hidrología y más 127<br />

10.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127<br />

10.2. Análisis morfométrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127<br />

10.3. Creando una curva hipsométrica . . . . . . . . . . . . . . . . . . . . . . . . . . 133<br />

10.4. Clasificación <strong>de</strong> la forma y estructura <strong>de</strong>l terreno . . . . . . . . . . . . . . . . . 134<br />

10.5. Preparando un MDT para <strong>análisis</strong> hidrológico . . . . . . . . . . . . . . . . . . . 135<br />

10.6. Estructura hidrológica <strong>de</strong> un grid. Análisis D8 básico . . . . . . . . . . . . . . . 137<br />

10.7. Calculando el área aportante . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139<br />

10.8. Área <strong>de</strong> dispersión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146<br />

10.9. Calculando el área aguas abajo y aguas arriba <strong>de</strong> un punto . . . . . . . . . . . 147<br />

10.10.Algunos índices hidrológicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152<br />

10.11.Extracción <strong>de</strong> re<strong>de</strong>s <strong>de</strong> drenaje . . . . . . . . . . . . . . . . . . . . . . . . . . . 154<br />

10.12.Cuencas y subcuencas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157<br />

10.13.Distancias a la red <strong>de</strong> drenaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160<br />

10.14.Tiempos <strong>de</strong> salida. Isocronas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162<br />

10.15.Mo<strong>de</strong>lización <strong>de</strong> flujo en canales . . . . . . . . . . . . . . . . . . . . . . . . . . 165<br />

10.16.Otros parámetros hidrológicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166<br />

10.17.Simulación hidrológica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169<br />

10.17.1.Humedad <strong>de</strong> suelo y capacidad <strong>de</strong> campo . . . . . . . . . . . . . . . . . 169<br />

10.17.2.Simulación <strong>de</strong> flujo en la<strong>de</strong>ra . . . . . . . . . . . . . . . . . . . . . . . . 172<br />

10.17.3.TOPMODEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173<br />

10.18.Iluminación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175<br />

10.19. Área real vs. área planimétrica . . . . . . . . . . . . . . . . . . . . . . . . . . . 181<br />

10.20.Un índice <strong>de</strong> protección basado en la morfometría <strong>de</strong>l terreno . . . . . . . . . . 182<br />

10.21.Perfiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183<br />

10.21.1.Un perfil típico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184<br />

10.21.2.Un perfil a lo largo <strong>de</strong> una línea <strong>de</strong> flujo . . . . . . . . . . . . . . . . . . 185<br />

10.21.3.Un perfil a lo largo <strong>de</strong> una ruta ya <strong>de</strong>finida . . . . . . . . . . . . . . . . 186<br />

10.21.4.Secciones transversales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187<br />

10.22.Cálculo <strong>de</strong> volúmenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191<br />

10.23.Análisis completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192<br />

10.24.Análisis <strong>de</strong>l terreno <strong>con</strong> TINs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193<br />

10.24.1.Crear un TIN a partir <strong>de</strong> una capa raster . . . . . . . . . . . . . . . . . 194<br />

10.24.2.Convertir un TIN en una capa vectorial . . . . . . . . . . . . . . . . . . 195<br />

10.24.3.Gradiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196<br />

10.24.4.Acumulación <strong>de</strong> flujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196<br />

11.Módulos para capas vectoriales 199<br />

11.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199<br />

11.2. Combinando capas raster y vectoriales . . . . . . . . . . . . . . . . . . . . . . . 199<br />

11.2.1. Curvas <strong>de</strong> nivel a partir <strong>de</strong> una capa raster . . . . . . . . . . . . . . . . 199<br />

11.2.2. Vectorizar una capa raster . . . . . . . . . . . . . . . . . . . . . . . . . . 200<br />

11.2.3. Convertir una capa vectorial en una raster . . . . . . . . . . . . . . . . . 201<br />

11.2.4. Usando información raster para enriquecer una capa vectorial . . . . . . 203<br />

11.3. Creación <strong>de</strong> una nueva capa vectorial . . . . . . . . . . . . . . . . . . . . . . . . 206<br />

11.4. Selección <strong>de</strong> entida<strong>de</strong>s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207<br />

11.5. Crear una nueva capa <strong>con</strong> las entida<strong>de</strong>s seleccionadas . . . . . . . . . . . . . . . 209<br />

11.6. Crear una capa <strong>de</strong> puntos a partir <strong>de</strong> una tabla . . . . . . . . . . . . . . . . . . 210<br />

11.7. Unión <strong>de</strong> capas vectoriales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211<br />

11.8. Unión <strong>de</strong> tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212


11.9. Calculando nuevos campos en una capa vectorial . . . . . . . . . . . . . . . . . 213<br />

11.10.Resumen <strong>de</strong> datos <strong>de</strong> una capa vectorial . . . . . . . . . . . . . . . . . . . . . . 214<br />

11.11.Creando un documento a partir <strong>de</strong> una capa vectorial . . . . . . . . . . . . . . 217<br />

11.12.Intersección <strong>de</strong> polígonos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218<br />

11.13.Añadiendo propieda<strong>de</strong>s geométricas y espaciales a una capa . . . . . . . . . . . 220<br />

11.14.Convertir entre distintos tipos <strong>de</strong> capas vectoriales . . . . . . . . . . . . . . . . 222<br />

11.15.Creando una malla <strong>de</strong> puntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223<br />

11.16.Ajustar una malla <strong>de</strong> puntos <strong>de</strong>ntro <strong>de</strong> un polígono . . . . . . . . . . . . . . . . 225<br />

11.17.Creando una retícula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225<br />

11.18.Recuento <strong>de</strong> puntos en polígonos . . . . . . . . . . . . . . . . . . . . . . . . . . 226<br />

11.19.Mover, rotar y escalar capas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227<br />

11.20.Simplificar un tema <strong>de</strong> líneas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228<br />

11.21.Diagramas <strong>de</strong> barras y sectores . . . . . . . . . . . . . . . . . . . . . . . . . . . 230<br />

12.Módulos para tablas 233<br />

12.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233<br />

12.2. Ajuste <strong>de</strong> funciones a los datos <strong>de</strong> una tabla . . . . . . . . . . . . . . . . . . . . 233<br />

12.3. Enumerar un atributo en una tabla . . . . . . . . . . . . . . . . . . . . . . . . . 236<br />

12.4. Calculando nuevos campos en una tabla . . . . . . . . . . . . . . . . . . . . . . 236<br />

12.5. Desvinculando una tabla <strong>de</strong> su capa asociada . . . . . . . . . . . . . . . . . . . 236<br />

12.6. Rotación <strong>de</strong> una tabla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237<br />

13.Interpolación. Geoestadística 239<br />

13.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239<br />

13.2. Interpolación <strong>de</strong> datos por distancia inversa (IDW) . . . . . . . . . . . . . . . . 240<br />

13.3. Polígonos <strong>de</strong> Thiessen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241<br />

13.4. Kriging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242<br />

13.5. Semivarianzas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244<br />

13.6. Análisis residual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245<br />

13.7. Estadísticas para una serie <strong>de</strong> capas raster . . . . . . . . . . . . . . . . . . . . . 247<br />

13.8. Estadísticas zonales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248<br />

13.9. Estadísticas <strong>de</strong> puntos en polígonos . . . . . . . . . . . . . . . . . . . . . . . . . 249<br />

13.10.Representatividad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250<br />

13.11.Radio <strong>de</strong> varianza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251<br />

13.12.Análisis <strong>de</strong> regresión <strong>con</strong> puntos y capas raster . . . . . . . . . . . . . . . . . . 252<br />

14.Análisis <strong>de</strong> costes. Incendios 255<br />

14.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255<br />

14.2. Creando una superficie <strong>de</strong> coste acumulado (isotrópica) . . . . . . . . . . . . . 256<br />

14.3. Creando una superficie <strong>de</strong> coste acumulado (anisotrópica) . . . . . . . . . . . . 258<br />

14.4. Más sobre la preparación <strong>de</strong> superficies <strong>de</strong> coste . . . . . . . . . . . . . . . . . . 260<br />

14.5. Calculando una ruta <strong>de</strong> mínimo coste . . . . . . . . . . . . . . . . . . . . . . . 261<br />

14.6. Algo más <strong>de</strong> práctica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263<br />

14.7. Simulación <strong>de</strong> incendios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266<br />

15.Idoneidad. Toma <strong>de</strong> <strong>de</strong>cisiones 273<br />

15.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273<br />

15.2. Un ejemplo sencillo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273<br />

15.3. Un enfoque booleano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275<br />

15.4. Un enfoque no booleano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275<br />

15.5. Jerarquías Analíticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283


16.Proyecciones. Georreferencia 285<br />

16.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285<br />

16.2. Reproyectando <strong>con</strong> librería Proj4 . . . . . . . . . . . . . . . . . . . . . . . . . . 285<br />

16.3. Georreferenciando una capa raster . . . . . . . . . . . . . . . . . . . . . . . . . 287<br />

17.Más <strong>análisis</strong> raster 289<br />

17.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289<br />

17.2. Discretizando una capa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289<br />

17.2.1. Analisis <strong>de</strong> agregados[clusters] . . . . . . . . . . . . . . . . . . . . . . . 290<br />

17.2.2. Simplificar una capa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291<br />

17.3. Módulos para <strong>análisis</strong> <strong>de</strong> imágenes . . . . . . . . . . . . . . . . . . . . . . . . . 293<br />

17.3.1. Clasificación supervisada . . . . . . . . . . . . . . . . . . . . . . . . . . 294<br />

17.3.2. Índices <strong>de</strong> vegetación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297<br />

17.3.3. Change Vector Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 300<br />

17.4. Módulos para el <strong>análisis</strong> <strong>de</strong> series temporales . . . . . . . . . . . . . . . . . . . 300<br />

17.5. Análisis <strong>de</strong> patrones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301<br />

17.6. Clasificación Cruzada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303<br />

17.7. Dimensión fractal <strong>de</strong> una superficie . . . . . . . . . . . . . . . . . . . . . . . . . 304<br />

18.Otros módulos 307<br />

18.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307<br />

18.2. Trabajando <strong>de</strong> cerca <strong>con</strong> los valores <strong>de</strong> una capa raster . . . . . . . . . . . . . . 307<br />

18.2.1. Cambiando el valor <strong>de</strong> una celda . . . . . . . . . . . . . . . . . . . . . . 307<br />

18.2.2. Consulta <strong>de</strong> valores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308<br />

18.3. Capas a partir <strong>de</strong> capa clasificada y tabla . . . . . . . . . . . . . . . . . . . . . 309<br />

18.4. Visualización <strong>de</strong> capas raster . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310<br />

18.4.1. Creando una imagen a partir <strong>de</strong> bandas <strong>de</strong> color . . . . . . . . . . . . . 310<br />

18.4.2. Rotando la paleta <strong>de</strong> colores . . . . . . . . . . . . . . . . . . . . . . . . 312<br />

18.4.3. Animando una serie temporal . . . . . . . . . . . . . . . . . . . . . . . . 313<br />

18.5. Diversiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314<br />

19.Uso <strong>de</strong> <strong>SEXTANTE</strong> en línea <strong>de</strong> comandos 315<br />

19.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315<br />

19.2. Preparando el entorno. Acceso a librerías . . . . . . . . . . . . . . . . . . . . . 315<br />

19.3. Sintaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317<br />

20.Programación <strong>de</strong> módulos <strong>de</strong> <strong>SEXTANTE</strong> 321<br />

20.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321<br />

20.2. Librerías y módulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322<br />

20.2.1. Constructoras. Crear una ventana <strong>de</strong> parámetros . . . . . . . . . . . . . 325<br />

20.2.2. El método On Execute() . . . . . . . . . . . . . . . . . . . . . . . . . . . 329<br />

20.3. Manejando capas raster. <strong>La</strong> clase CGrid . . . . . . . . . . . . . . . . . . . . . . 331<br />

20.4. Manejando capas vectoriales. <strong>La</strong> clase CShapes . . . . . . . . . . . . . . . . . . 332<br />

20.5. Manejando tablas. <strong>La</strong> clase CTable . . . . . . . . . . . . . . . . . . . . . . . . . 333<br />

20.6. Módulos interactivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334<br />

20.7. Llamando a otros módulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336<br />

20.8. Comunicándose <strong>con</strong> el usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337<br />

20.9. Soporte multilingüe y ayuda <strong>con</strong>textual . . . . . . . . . . . . . . . . . . . . . . 338


Prólogo<br />

<strong>SEXTANTE</strong> es el Sistema <strong>de</strong> Información Geográfica (SIG) <strong>de</strong>sarrollado por la Junta <strong>de</strong><br />

Extremadura para satisfacer sus propias necesida<strong>de</strong>s, especialmente en lo que al medio forestal<br />

respecta. No obstante, <strong>SEXTANTE</strong> forma parte <strong>de</strong> los esfuerzos <strong>de</strong> la Junta por <strong>de</strong>sarrollar una<br />

serie <strong>de</strong> aplicaciones informáticas libres, lo cual hace que, lejos <strong>de</strong> ser un software específico,<br />

haya sido creado teniendo en mente un usuario genérico al que dotar <strong>de</strong> una herramienta<br />

potente y versátil. Por todo ello, <strong>SEXTANTE</strong> es un SIG capaz <strong>de</strong> satisfacer la mayor parte <strong>de</strong><br />

necesida<strong>de</strong>s al respecto, en especial aquellas que pue<strong>de</strong>n ser tratadas ventajosamente mediante<br />

un enfoque raster, pues es en el manejo <strong>de</strong> este tipo <strong>de</strong> datos don<strong>de</strong> resi<strong>de</strong> la verda<strong>de</strong>ra potencia<br />

<strong>de</strong>l programa.<br />

Este manual está pensado para todo aquel que <strong>de</strong>sea no sólo apren<strong>de</strong>r cómo manejar<br />

el programa en sí, sino también para quienes, a<strong>de</strong>más <strong>de</strong> un uso práctico <strong>de</strong>l mismo, buscan<br />

adquirir una base teórica y fundamental acerca <strong>de</strong> los SIGs y, especialmente, <strong>de</strong> las capacida<strong>de</strong>s<br />

y algoritmos implementados en <strong>SEXTANTE</strong>.<br />

<strong>La</strong> intención a la hora <strong>de</strong> escribir este libro es la <strong>de</strong> crear una obra <strong>de</strong> referencia para<br />

todo tipo <strong>de</strong> usuarios <strong>de</strong> <strong>SEXTANTE</strong>, a la vez que cubrir una parcela <strong>de</strong>sierta actualmente<br />

en cuanto a textos libres acerca <strong>de</strong> fundamentos <strong>de</strong> SIG. Del mismo modo que <strong>SEXTANTE</strong><br />

provee a todo aquel que lo <strong>de</strong>see <strong>de</strong> una herramienta libre capaz <strong>de</strong> soportar un uso real<br />

en el mundo <strong>de</strong>l <strong>análisis</strong> <strong>geográfico</strong>, este manual ha <strong>de</strong> ser no sólo el compañero i<strong>de</strong>al para<br />

<strong>de</strong>scubrir las verda<strong>de</strong>ras capacida<strong>de</strong>s <strong>de</strong> <strong>SEXTANTE</strong>, sino también para apren<strong>de</strong>r y estudiar<br />

en profundidad el mundo complejo y apasionante <strong>de</strong> los SIGs.<br />

No se presupone <strong>con</strong>ocimiento alguno <strong>de</strong> SIG, por lo que, tanto para el manejo <strong>de</strong>l programa<br />

como para la teoría subyacente, no resulta necesario haber empleado algún software similar o<br />

estar familiarizado <strong>con</strong> su estructura, aunque ello, como es lógico, resulta <strong>de</strong> gran interés para<br />

po<strong>de</strong>r aprovechar aún en mayor medida la información que aquí se <strong>con</strong>tiene.<br />

Conceptualmente, pue<strong>de</strong> <strong>con</strong>si<strong>de</strong>rarse este libro dividido en dos partes: la primera (capítulos<br />

<strong>de</strong>l 1 al 6 inclusive), analizan las funcionalida<strong>de</strong>s principales <strong>de</strong>l núcleo <strong>de</strong> <strong>SEXTANTE</strong><br />

y <strong>con</strong>ceptos generales acerca <strong>de</strong>l manejo <strong>de</strong> información geográfica digital, mientras que la<br />

segunda <strong>de</strong>sarrolla las funcionalida<strong>de</strong>s <strong>de</strong> <strong>análisis</strong> que se encuentran presentes en los distintos<br />

módulos <strong>de</strong>l programa. Es en esta segunda parte don<strong>de</strong> aparecen <strong>con</strong> más profusión <strong>de</strong>talles<br />

técnicos y formulaciones matemáticas que, no obstante, se hallan separadas <strong>de</strong> la <strong>de</strong>scripción<br />

<strong>de</strong> los módulos <strong>de</strong> tal modo que no interfieran el uso <strong>de</strong>l manual por parte <strong>de</strong> aquellos lectores<br />

que simplemente <strong>de</strong>seen en<strong>con</strong>trar información sobre el manejo <strong>de</strong> las distintas capacida<strong>de</strong>s<br />

<strong>de</strong>l programa.<br />

Ambas partes pue<strong>de</strong>n parecer in<strong>de</strong>pendientes, pero en realidad se hallan enlazadas <strong>de</strong><br />

forma directa. Leyendo la primera parte <strong>de</strong>l manual se pue<strong>de</strong> adquirir un buen manejo y<br />

xvii


xviii<br />

comprensión <strong>de</strong>l núcleo básico <strong>de</strong> <strong>SEXTANTE</strong>, pero la mayor parte <strong>de</strong> capacida<strong>de</strong>s no son<br />

accesibles si no es a través <strong>de</strong> los módulos tratados en la segunda mitad. Por su parte, el<br />

estudio únicamente <strong>de</strong> los módulos y sus bases teóricas no tiene sentido si no se <strong>con</strong>ocen <strong>de</strong><br />

antemano las funcionalida<strong>de</strong>s más elementales <strong>de</strong>l programa, pues sobre ellas se articula la<br />

propia ejecución <strong>de</strong> módulos y el tratamiento posterior <strong>de</strong> los resultados obtenidos <strong>de</strong> sus uso.<br />

Al final <strong>de</strong>l libro, un último capítulo que pue<strong>de</strong> ser <strong>con</strong>si<strong>de</strong>rado como una pequeña tercera<br />

parte introduce los aspectos básicos acerca <strong>de</strong> la programación <strong>de</strong> módulos, para aquellos que<br />

<strong>de</strong>seen exten<strong>de</strong>r las <strong>de</strong> por sí amplias capacida<strong>de</strong>s <strong>de</strong>l programa. Se supone que el lector <strong>con</strong>oce<br />

tanto el manejo fundamental <strong>de</strong> <strong>SEXTANTE</strong> como el <strong>de</strong> sus módulos, por lo que la lectura <strong>de</strong><br />

este capítulo sólo tiene sentido una vez se han leído las anteriores. Se supone <strong>de</strong> igual modo que<br />

tiene un dominio a<strong>de</strong>cuado <strong>de</strong>l lenguaje <strong>de</strong> programación C++, necesario para el <strong>de</strong>sarrollo<br />

<strong>de</strong> estos módulos.<br />

Este libro, al igual que el propio <strong>SEXTANTE</strong>, es un trabajo abierto y libre, que no sólo<br />

pue<strong>de</strong> ser utilizado <strong>con</strong> total libertad sino también modificado en aras <strong>de</strong> su propia mejora.<br />

Si encuentras algo en él que creas mejorable, no du<strong>de</strong>s en hacerlo saber. <strong>La</strong> respuesta <strong>de</strong> los<br />

lectores es un elemento fundamental para <strong>con</strong>seguir un manual cada vez más útil y preciso.


Introducción<br />

1.1. Introducción. ¿Qué es <strong>SEXTANTE</strong>?<br />

Capítulo 1<br />

Como es probable que ya sepas, <strong>SEXTANTE</strong> es un potente Sistema <strong>de</strong> Información<br />

Geográfica <strong>con</strong> el cual es posible llevar a cabo una larga serie <strong>de</strong> procesos <strong>de</strong> <strong>análisis</strong> <strong>geográfico</strong>,<br />

suficientes en la mayoría <strong>de</strong> los casos para tratar la práctica totalidad <strong>de</strong> problemas y cuestiones<br />

a las que el uso actual <strong>de</strong> un SIG ha <strong>de</strong> dar respuesta. Especialmente como software <strong>de</strong><br />

<strong>análisis</strong> raster, <strong>SEXTANTE</strong> incluye una larga serie <strong>de</strong> módulos que lo <strong>con</strong>vierten en uno <strong>de</strong><br />

los programas más potentes y a la vez sencillos <strong>de</strong> utilizar <strong>de</strong>ntro <strong>de</strong> su campo, sirviendo tanto<br />

como una herramienta actual para el profesional que <strong>de</strong>sea <strong>de</strong>sarrollar un trabajo <strong>de</strong> calidad<br />

(nosotros mismos lo utilizamos para nuestra labor diaria sin necesidad <strong>de</strong> ningún programa<br />

accesorio), como para introducirse <strong>de</strong> forma correcta en el mundo <strong>de</strong>l SIG, <strong>de</strong>s<strong>de</strong> la misma<br />

base hasta un nivel avanzado (sin ir más lejos, <strong>SEXTANTE</strong> es empleado en la Universidad <strong>de</strong><br />

Extremadura y en otros centros para la enseñanza <strong>de</strong> SIG a todas las escalas).<br />

El rango <strong>de</strong> usuarios a los que <strong>SEXTANTE</strong> (y, por en<strong>de</strong>, este manual) preten<strong>de</strong> llegar,<br />

es muy amplio. Des<strong>de</strong> usuarios <strong>con</strong> un <strong>con</strong>tacto ocasional o frecuente <strong>con</strong> otros Sistemas <strong>de</strong><br />

Información Geográfica (ArcView, ArcGIS u otros menos habituales) , hasta quienes no tienen<br />

experiencia previa en este campo, <strong>SEXTANTE</strong> tiene mucho que ofrecer a todos ellos. Para<br />

los primeros, <strong>SEXTANTE</strong> pue<strong>de</strong> ser una alternativa a su software habitual – <strong>con</strong> la ventaja<br />

añadida <strong>de</strong> ser libre – o simplemente un programa complementario que, en unión <strong>con</strong> los<br />

anteriores, haga más sencilla y precisa su labor profesional. Para los segundos, <strong>SEXTANTE</strong><br />

es una inmejorable puerta <strong>de</strong> entrada a un mundo tan complejo y apasionante como el <strong>de</strong> los<br />

SIGs, incluyendo todas las prestaciones que son necesarias para apren<strong>de</strong>r <strong>de</strong>s<strong>de</strong> el comienzo<br />

sin <strong>de</strong>jar nada <strong>de</strong> lado, y <strong>con</strong> la gran ventaja <strong>de</strong> que su libertad <strong>de</strong> uso no pone traba alguna<br />

a este proceso <strong>de</strong> aprendizaje y enseñanza. Por todo lo anterior, y <strong>con</strong> in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> su<br />

<strong>con</strong>ocimiento previo, <strong>SEXTANTE</strong> es una aplicación interesante para todo aquel involucrado<br />

en el trabajo <strong>con</strong> Sistemas <strong>de</strong> Información Geográfica o <strong>con</strong> <strong>de</strong>seos <strong>de</strong> involucrarse <strong>de</strong> un modo<br />

u otro.<br />

<strong>SEXTANTE</strong> pue<strong>de</strong> utilizar información tanto en formato raster como en formato vectorial,<br />

estando capacitado para manejar ambos tipos <strong>de</strong> datos, lo que lo hace muy útil en un amplio<br />

abanico <strong>de</strong> situaciones a todos los niveles. Si bien sus capacida<strong>de</strong>s <strong>de</strong> proceso, separadas en<br />

módulos, trabajan mayoritariamente <strong>con</strong> información raster, existe un numero gran<strong>de</strong> – y<br />

creciente – <strong>de</strong> módulos para proceso <strong>de</strong> información vectorial, y el núcleo central <strong>de</strong>l programa<br />

está preparado igualmente para manejar <strong>con</strong> igual facilidad datos en ambos formatos.<br />

Frente a otras soluciones libres como GRASS, <strong>SEXTANTE</strong> ofrece una mayor sencillez al<br />

mismo tiempo que su potencia no tiene nada que envidiar a la <strong>de</strong> aquel en la práctica totalidad<br />

1


2 CAPÍTULO 1. INTRODUCCIÓN<br />

<strong>de</strong> áreas, superándola incluso en algunas <strong>de</strong> ellas. Y frente a aplicaciones no libres como ArcGIS<br />

o IDRISI – por nombrar dos <strong>de</strong> las más populares– <strong>SEXTANTE</strong> no sólo aporta su libertad<br />

merced a su distribución bajo licencia GPL , sino también una visión distinta en muchos<br />

puntos, <strong>con</strong> un equilibrio a<strong>de</strong>cuado entre su enfoque raster y vectorial, y una <strong>con</strong>cepción<br />

especialmente interesante para usuarios españoles, realizada <strong>con</strong> numerosos elementos locales<br />

que permiten su utilización en mejores <strong>con</strong>diciones a la hora <strong>de</strong> resolver ciertos problemas o<br />

utilizar cierto tipo <strong>de</strong> datos.<br />

Por último, y aunque se trata <strong>de</strong> una característica <strong>de</strong> la que sólo un numero reducido <strong>de</strong><br />

usuarios harán uso, es posible crear nuevos módulos que resuelvan problemas no <strong>con</strong>templados<br />

por los módulos distribuidos <strong>con</strong> el programa, así como <strong>de</strong>sarrollar otros <strong>con</strong> planteamientos<br />

distintos o implementar nuevas formulaciones. El capitulo <strong>de</strong>dicado a este respecto al final <strong>de</strong><br />

este manual, junto <strong>con</strong> el código fuente <strong>de</strong> los más <strong>de</strong> 200 módulos <strong>de</strong>l programa – que por<br />

ser también software libre permiten su uso y su estudio sin limitaciones –, <strong>con</strong>tienen suficiente<br />

información como para que cualquiera <strong>con</strong> unos <strong>con</strong>ocimientos medios <strong>de</strong> programación en<br />

C++ pueda <strong>de</strong>sarrollar sus propios complementos para <strong>SEXTANTE</strong>. No hace falta ser un<br />

experto programador. Algunos <strong>de</strong> los módulos más importantes <strong>de</strong> <strong>SEXTANTE</strong> <strong>con</strong>tienen<br />

apenas un centenar <strong>de</strong> líneas (otros, unos cuantos miles <strong>de</strong> ellas, pero es probable que para<br />

resolver tu problema <strong>con</strong>creto no resulte necesario realizar tal esfuerzo <strong>de</strong> programación. ..).<br />

Y si te crees <strong>con</strong> suficiente capacidad para ello, ¿por qué no intentar modificar el propio<br />

<strong>SEXTANTE</strong> y su núcleo central? Esta tarea no se <strong>con</strong>templa en este manual, pero una vez<br />

más la libertad <strong>de</strong>l programa lo permite, en caso <strong>de</strong> que cualquier programador avezado así lo<br />

quiera hacer.<br />

1.2. ¿De dón<strong>de</strong> viene <strong>SEXTANTE</strong>?<br />

<strong>SEXTANTE</strong> es un producto <strong>de</strong>sarrollado para la Junta <strong>de</strong> Extremadura por la Universidad<br />

<strong>de</strong> Extremadura, a través <strong>de</strong> la Titulación <strong>de</strong> Ingeniería Forestal <strong>de</strong>l Centro Universitario <strong>de</strong><br />

Plasencia. No obstante, el origen <strong>de</strong> <strong>SEXTANTE</strong> (y también parte <strong>de</strong> su futuro) no está únicamente<br />

ahí, sino que proviene <strong>de</strong> otros esfuerzos anteriores y en su línea <strong>de</strong> <strong>de</strong>sarrollo se<br />

<strong>con</strong>templa la colaboración <strong>con</strong> otros equipos entre los que existe una colaboración bidireccional<br />

a todos los niveles.<br />

<strong>SEXTANTE</strong> no es una aplicación realizada <strong>de</strong>s<strong>de</strong> cero, sino que se basa en un software<br />

ya existente distribuido mediante licencia libre, en virtud <strong>de</strong> la cual pue<strong>de</strong> ser modificado<br />

y mejorado. Este es, por ejemplo, el mo<strong>de</strong>lo <strong>de</strong> <strong>de</strong>sarrollo mediante el cual se ha creado el<br />

sistema operativo <strong>de</strong> Extremadura, <strong>con</strong>ocido como LinEx , el cual, si tienes interés, pue<strong>de</strong>s<br />

en<strong>con</strong>trar en la dirección web www.linex.org.<br />

El software sobre el que se articula <strong>SEXTANTE</strong> se <strong>de</strong>nomina SAGA (System for Automated<br />

Geographical Analysis, en castellano Sistema para Análisis Geográficos Automatizados),<br />

y ha sido creado en la universidad <strong>de</strong> Goettingen por un equipo multidisciplinar <strong>de</strong> <strong>de</strong>sarrolladores.<br />

SAGA es un software popular que gana usuarios diariamente y que ya ha <strong>de</strong>mostrado<br />

sus buenas capacida<strong>de</strong>s a lo largo <strong>de</strong> los años que lleva en el mercado. A la hora <strong>de</strong> escribir<br />

este libro, la versión estable 2.0 acaba <strong>de</strong> ser liberada, <strong>con</strong>virtiendo así a SAGA en un<br />

software maduro, y a <strong>SEXTANTE</strong>, <strong>de</strong>rivado <strong>de</strong> el, también en un programa que ofrece una<br />

serie <strong>de</strong> garantías y en el que uno pue<strong>de</strong> <strong>de</strong>positar su <strong>con</strong>fianza a la hora <strong>de</strong> realizar su trabajo.<br />

Si tienes interés, pue<strong>de</strong>s en<strong>con</strong>trar SAGA y sus materiales asociados en la dirección web<br />

www.saga-gis.org.<br />

<strong>SEXTANTE</strong> incorpora modificaciones directas sobre el núcleo <strong>de</strong> SAGA, así como más<br />

<strong>de</strong> 80 nuevos módulos <strong>de</strong>sarrollados para satisfacer aquellas necesida<strong>de</strong>s <strong>de</strong> <strong>análisis</strong> que <strong>de</strong>s<strong>de</strong><br />

nuestro punto <strong>de</strong> vista no se en<strong>con</strong>traban por completo cubiertas <strong>con</strong> los módulos originales<br />

<strong>de</strong> SAGA. Algunos <strong>de</strong> estos módulos son realmente novedosos, añadiendo a SAGA no sólo


1.3. ¿CÓMO CONSEGUIR <strong>SEXTANTE</strong>? 3<br />

formulaciones distintas <strong>de</strong> <strong>análisis</strong>, sino enfoques completamente diferentes <strong>con</strong> funcionalida<strong>de</strong>s<br />

revolucionarias, tal y como aquellos orientados a la producción <strong>de</strong> documentos, <strong>de</strong> los que se<br />

hablará más a<strong>de</strong>lante.<br />

Des<strong>de</strong> el equipo <strong>de</strong> <strong>SEXTANTE</strong> no sólo se trabaja mejorando SAGA y añadiéndole capacida<strong>de</strong>s<br />

nuevas, sino que también se colabora en el propio <strong>de</strong>sarrollo <strong>de</strong> SAGA, estableciendo<br />

un equipo <strong>de</strong> trabajo <strong>con</strong>junto que mejora simultáneamente ambos productos. Este manual,<br />

sin ir más lejos, es uno <strong>de</strong> los resultados <strong>de</strong> este trabajo <strong>con</strong>junto, y si miras el manual <strong>de</strong><br />

SAGA (en inglés) podrás comprobar que se trata <strong>de</strong> una versión adaptada y traducida <strong>de</strong>l<br />

libro que ahora tienes en tus manos<br />

Si quieres ponerte en <strong>con</strong>tacto <strong>con</strong> los <strong>de</strong>sarrolladores <strong>de</strong>l proyecto <strong>SEXTANTE</strong>, pue<strong>de</strong>s<br />

hacerlo en las direcciones <strong>de</strong> correo siguientes:<br />

volaya@unex.es<br />

jcfernan@unex.es<br />

En la dirección web<br />

https://sourceforge.net/forum/?group id=124970<br />

pue<strong>de</strong>s en<strong>con</strong>trar a<strong>de</strong>más un foro <strong>de</strong> discusión don<strong>de</strong> compartir tus dudas y tu saber <strong>con</strong><br />

otros usuarios <strong>de</strong>l programa. Los propios <strong>de</strong>sarrolladores <strong>de</strong> <strong>SEXTANTE</strong> frecuentamos el foro,<br />

aunque no es posible garantizar que todas las dudas sean resueltas. El foro está <strong>con</strong>cebido<br />

como un elemento <strong>de</strong> comunicación entre todos aquellos interesados <strong>de</strong> un modo u otro en<br />

<strong>SEXTANTE</strong>.<br />

1.3. ¿Cómo <strong>con</strong>seguir <strong>SEXTANTE</strong>?<br />

Conseguir <strong>SEXTANTE</strong> es muy fácil. Simplemente necesitas una <strong>con</strong>exión a Internet y<br />

acce<strong>de</strong>r a la pagina oficial <strong>de</strong>l programa en la dirección<br />

http://sextante.sf.net<br />

Des<strong>de</strong> ahí pue<strong>de</strong>s <strong>de</strong>scargar no sólo el programa, sino también su código fuente o incluso este<br />

mismo manual en distintas versiones. Si tienes interés en mantenerte al corriente <strong>de</strong> cambios o<br />

actualizaciones, ésta es la página que <strong>de</strong>bes visitar. Para los efectos <strong>de</strong> este manual, únicamente<br />

necesitaras la versión completa <strong>de</strong>l programa, que incluye todo lo necesario para ejecutar cada<br />

una <strong>de</strong> las funcionalida<strong>de</strong>s <strong>de</strong> <strong>SEXTANTE</strong>, pero no sus códigos fuente. Descarga éstos tan<br />

sólo si tienes intención <strong>de</strong> programar tus propios módulos o estudiar el funcionamiento <strong>de</strong>l<br />

programa.<br />

Si no te es posible <strong>de</strong>scargar el programa por una u otra razón, pue<strong>de</strong>s ponerte en <strong>con</strong>tacto<br />

<strong>con</strong> nosotros en las direcciones <strong>de</strong> correo electrónico indicadas en el apartado anterior.<br />

1.4. Instalar y ejecutar <strong>SEXTANTE</strong><br />

Al igual que SAGA, <strong>SEXTANTE</strong> es un programa multiplataforma, que pue<strong>de</strong> ejecutarse<br />

sobre or<strong>de</strong>nadores <strong>con</strong> distintos sistemas operativos. Por el momento, este manual cubre únicamente<br />

su uso sobre Windows, aunque el empleo <strong>de</strong> <strong>SEXTANTE</strong> en or<strong>de</strong>nadores <strong>con</strong>, por<br />

ejemplo, Linux, es por completo idéntico. Tan sólo en estos apartados relativos a la instalación<br />

es don<strong>de</strong> existen algunas diferencias, ya que la versión Windows incluye un instalador, motivo<br />

por el cual se <strong>de</strong>sarrolla aquí el modo <strong>de</strong> usarlo <strong>con</strong> algo más <strong>de</strong> <strong>de</strong>talle. Para el resto <strong>de</strong>


4 CAPÍTULO 1. INTRODUCCIÓN<br />

versiones, simplemente es necesario ejecutar el fichero sextante que en<strong>con</strong>traras en el archivo<br />

comprimido que pue<strong>de</strong>s <strong>de</strong>scargar <strong>de</strong> la web <strong>de</strong>l programa.<br />

Trabajando sobre Windows, si has <strong>de</strong>scargado <strong>SEXTANTE</strong> <strong>de</strong> su pagina web oficial <strong>de</strong>berás<br />

tener un fichero ejecutable <strong>de</strong>nominado sextante.exe. Ejecútalo haciendo doble clic y<br />

sigue las instrucciones <strong>de</strong>l programa <strong>de</strong> instalación, seleccionando el directorio en el cual quieres<br />

que se copien los archivos <strong>de</strong>l programa. Fuera <strong>de</strong> este directorio el programa <strong>de</strong> instalación<br />

no modificará ni añadirá nada.<br />

Una vez instalado el programa en<strong>con</strong>trarás un nuevo submenú en el menú Inicio, <strong>con</strong> un<br />

i<strong>con</strong>o que lanzará el mismo. También pue<strong>de</strong>s ejecutarlo simplemente accediendo a la carpeta<br />

don<strong>de</strong> se ha instalado <strong>SEXTANTE</strong> y ejecutando el archivo sextante.exe.<br />

<strong>La</strong> pantalla inicial <strong>de</strong> <strong>SEXTANTE</strong> en una primera ejecución tiene un aspecto similar al<br />

siguiente.<br />

Para ocultar la ventana <strong>de</strong> inicio, simplemente haz clic sobre ella.


<strong>Fundamentos</strong><br />

2.1. Introducción<br />

Capítulo 2<br />

Ahora que <strong>SEXTANTE</strong> está cargado, po<strong>de</strong>mos empezar a trabajar <strong>con</strong> él y a apren<strong>de</strong>r<br />

más acerca <strong>de</strong> su funcionamiento y <strong>de</strong> los fundamentos básicos <strong>de</strong>l mismo como Sistema<br />

<strong>de</strong> Información Geográfica. Al final <strong>de</strong> este capítulo tendrás un <strong>con</strong>ocimiento básico <strong>de</strong> cómo<br />

operar en primera instancia <strong>con</strong> los distintos tipos <strong>de</strong> datos, abrir ficheros, crear proyectos y, en<br />

general, manejarte a través <strong>de</strong> la interfaz <strong>de</strong>l programa, la cual, como pronto verás, es sencilla e<br />

intuitiva. Asimismo, este capítulo incluye información genérica sobre los <strong>con</strong>ceptos principales<br />

que resi<strong>de</strong>n tras la i<strong>de</strong>a <strong>de</strong> un SIG, y sobre los cuales se asienta el propio <strong>SEXTANTE</strong> como<br />

tal.<br />

Este capítulo no incluye todavía nada acerca <strong>de</strong>l procesado <strong>de</strong> datos, el cual queda relegado<br />

al empleo <strong>de</strong> módulos accesorios. No obstante, se introducen las i<strong>de</strong>as fundamentales acerca<br />

<strong>de</strong> la estructura modular <strong>de</strong>l programa, tal vez una <strong>de</strong> sus características más <strong>de</strong>stacadas, <strong>de</strong><br />

tal forma que queda establecida la base <strong>con</strong>ceptual sobre la que posteriormente exten<strong>de</strong>r el<br />

<strong>con</strong>ocimiento y dominio <strong>de</strong>l programa.<br />

2.2. <strong>La</strong> interfaz <strong>de</strong> usuario <strong>de</strong> <strong>SEXTANTE</strong><br />

<strong>La</strong> interfaz <strong>de</strong> usuario <strong>de</strong> <strong>SEXTANTE</strong> representa el elemento <strong>de</strong> unión entre la API (Application<br />

Program Interface, el verda<strong>de</strong>ro núcleo <strong>de</strong> funciones que procesan y manejan la<br />

información geográfica en <strong>SEXTANTE</strong>) y el usuario. Dicha API es la que provee a SEXTAN-<br />

TE <strong>de</strong> todas sus capacida<strong>de</strong>s fundamentales, y la llamada directa a sus funciones es la base<br />

tanto para los módulos <strong>de</strong> proceso como para el trabajo sencillo <strong>con</strong> capas <strong>de</strong> información. Si<br />

tienes intención <strong>de</strong> <strong>de</strong>sarrollar tus propios módulos, <strong>de</strong>berás apren<strong>de</strong>r a hacer un uso directo<br />

<strong>de</strong> esta API en tus <strong>de</strong>sarrollos, pero si lo único que <strong>de</strong>seas es usar el programa como tal,<br />

tranquilo, la interfaz <strong>de</strong> usuario te proporciona una manera eficaz y sumamente sencilla <strong>de</strong><br />

hacerlo. Verás cómo en apenas unos minutos ya estarás obteniendo tus primeros resultados, y<br />

llevando a cabo operaciones <strong>de</strong> primera utilidad simplemente <strong>con</strong> unos <strong>con</strong>ocimientos básicos<br />

<strong>de</strong>l manejo <strong>de</strong> esta interfaz y sus funcionalida<strong>de</strong>s.<br />

Al final <strong>de</strong> este manual se incluye un apéndice <strong>con</strong> información acerca <strong>de</strong> la versión en linea<br />

<strong>de</strong> comandos <strong>de</strong> <strong>SEXTANTE</strong>. Este apéndice esta pensado para usuarios avanzados que <strong>de</strong>sean,<br />

por ejemplo, ejecutar procesos por lotes. Sin embargo, dicha versión en línea <strong>de</strong> comandos hace<br />

llamadas únicamente a los módulos <strong>de</strong> proceso, por lo que si éste es tu caso, no es necesario<br />

que estudies este capítulo, sino tan sólo que aprendas los <strong>de</strong>talles <strong>de</strong> cada módulo en particular<br />

5


6 CAPÍTULO 2. FUNDAMENTOS<br />

<strong>de</strong> los que <strong>de</strong>sees emplear. De cualquier modo, éste es un uso minoritario, y la mayoría <strong>de</strong> los<br />

usuarios habitualmente emplearan la versión gráfica y no la versión en línea <strong>de</strong> comandos.<br />

Si tienes experiencia <strong>con</strong> algún otro Sistema <strong>de</strong> Información Geográfica — especialmente<br />

ArcGIS o similar — no te será difícil enten<strong>de</strong>r las i<strong>de</strong>as principales <strong>de</strong> la interfaz, que guarda<br />

muchas similitu<strong>de</strong>s <strong>con</strong> lo que viene siendo habitual en este tipo <strong>de</strong> aplicaciones. De cualquier<br />

modo, incluso si has empleado abundantemente otros SIGs y te sientes cómodo <strong>con</strong> las funciones<br />

usuales <strong>de</strong> éstos, es recomendable leer al menos una vez toda la información <strong>de</strong> este<br />

capítulo, ya que <strong>SEXTANTE</strong> incluye algunas peculiarida<strong>de</strong>s que pue<strong>de</strong>n no resultar tan obvias<br />

como otras.<br />

Veamos el aspecto <strong>de</strong> la pantalla inicial <strong>de</strong> <strong>SEXTANTE</strong> y los elementos que la componen,<br />

para posteriormente estudiar <strong>con</strong> <strong>de</strong>talle algo <strong>de</strong> cada uno <strong>de</strong> ellos y ver cómo <strong>con</strong>figurar la<br />

interfaz a nuestro gusto antes <strong>de</strong> comenzar a trabajar sobre ella.<br />

Seis son las partes principales que pue<strong>de</strong>n en<strong>con</strong>trarse en esta ventana:<br />

1. Barra <strong>de</strong> menú<br />

2. Barra <strong>de</strong> estado<br />

3. Barra <strong>de</strong> herramientas<br />

4. Ventana <strong>de</strong> información y mensajes<br />

5. Ventana <strong>de</strong> entorno <strong>de</strong> trabajo<br />

6. Ventana <strong>de</strong> elemento activo<br />

<strong>La</strong> disposición inicial <strong>de</strong> los elementos pue<strong>de</strong> modificarse para adaptarla a las preferencias<br />

personales <strong>de</strong> cada usuario. Para hacer esto, pue<strong>de</strong>s pinchar en la parte superior <strong>de</strong> las ventanas


2.2. LA INTERFAZ DE USUARIO DE <strong>SEXTANTE</strong> 7<br />

y arrastrar hasta una nueva posición. Si alejas la ventana <strong>de</strong> las restantes, quedará como un<br />

elemento flotante. Si por el <strong>con</strong>trario se halla cerca <strong>de</strong> un bor<strong>de</strong> o <strong>de</strong> otras ventanas, se<br />

acoplará <strong>de</strong> modo automático.<br />

Si no <strong>de</strong>seas ver alguna <strong>de</strong> las ventanas, pue<strong>de</strong>s cerrarla simplemente haciendo clic sobre<br />

su esquina superior <strong>de</strong>recha. También pue<strong>de</strong>s redimensionarlas como cualquier otra ventana<br />

normal, haciendo clic sobre un bor<strong>de</strong> y arrastrando.<br />

De entre todos los anteriores elementos, la mayor parte <strong>de</strong> la interacción habitual se lleva a<br />

cabo a través <strong>de</strong> la barra <strong>de</strong> menú (como, por otra parte, es habitual en cualquier programa),<br />

así que empezaremos por ella.<br />

<strong>La</strong> característica más reseñable <strong>de</strong> esta barra es su <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong>l tipo <strong>de</strong> información<br />

sobre la cual se esté trabajando en cada instante. Mientras que algunos elementos <strong>de</strong> la barra<br />

permanecen <strong>con</strong>stantes y pue<strong>de</strong>n utilizarse en todo momento, otros únicamente aparecen<br />

cuando se trabaja <strong>con</strong> una clase <strong>de</strong> datos particular o se <strong>de</strong>sarrollan ciertas tareas <strong>con</strong>cretas.<br />

Por ejemplo, el menú Archivo siempre estará ahí, pero otros como por ejemplo Mapa están<br />

<strong>con</strong>dicionados a la presencia <strong>de</strong> una ventana abierta <strong>con</strong> un mapa sobre el que actuar (por<br />

esa razón, la ventana anterior no <strong>con</strong>tiene dicho menú, ya que nada más arrancar el programa<br />

aún no hay información suficiente para abrir dicha ventana <strong>de</strong> mapa).<br />

Esta <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong>l <strong>con</strong>texto permite <strong>de</strong>finir cuatro entornos principales, cada uno ellos<br />

<strong>con</strong> sus propios menús, y <strong>con</strong> los que en cada caso ha <strong>de</strong> trabajarse según las circunstancias y<br />

el objeto <strong>de</strong> dicho trabajo.<br />

Mapas<br />

Tablas <strong>de</strong> datos<br />

Composiciones<br />

Vistas tridimensionales<br />

Diagramas <strong>de</strong> puntos<br />

Excepto estos tres últimos, que pue<strong>de</strong>s en<strong>con</strong>trar <strong>de</strong>ntro <strong>de</strong> los capítulos <strong>de</strong>dicados al<br />

trabajo <strong>con</strong> capas raster y tablas, los <strong>de</strong>más tienen su propio capítulo, don<strong>de</strong> cada uno <strong>de</strong><br />

los elementos <strong>de</strong>l menú y su utilización se <strong>de</strong>scriben <strong>con</strong> todo <strong>de</strong>talle. Por ahora, te <strong>de</strong>be<br />

bastar saber que existen estos elementos <strong>de</strong> menú no persistentes para acostumbrarte a esta<br />

circunstancia y ser <strong>con</strong>sciente <strong>de</strong> que, según sea lo que quieras hacer, tendrás que buscar el<br />

menú correspondiente en su <strong>con</strong>texto particular.<br />

Para ver un ejemplo más <strong>con</strong>creto <strong>de</strong> lo que esto significa, echa un vistazo a las siguientes<br />

imágenes.


8 CAPÍTULO 2. FUNDAMENTOS<br />

Ambas tienen muchas ventanas abiertas al mismo tiempo (Impresionante, ¿verdad? No te<br />

preocupes, pronto apren<strong>de</strong>rás a hacer todo eso y más. ¡Con <strong>SEXTANTE</strong> es más fácil <strong>de</strong> lo<br />

que parece!), pero si te fijas en <strong>de</strong>talle verás que, aunque el aspecto es similar en <strong>con</strong>junto,<br />

los menús no son los mismos. Ello se <strong>de</strong>be a que en el primer caso la ventana activa (pue<strong>de</strong>s<br />

re<strong>con</strong>ocerla por un color azul más oscuro) es una ventana <strong>de</strong> mapa, mientras que en el segundo<br />

se trata <strong>de</strong> una ventana <strong>de</strong> tabla <strong>de</strong> datos. Quizás también hayas notado que no sólo el menú ha<br />

cambiado, sino también la barra <strong>de</strong> herramientas. Ésta no es sino una versión más practica<br />

y accesible <strong>de</strong> los elementos más importantes que pue<strong>de</strong>n hallarse en los menús, <strong>con</strong>teniendo<br />

un sub<strong>con</strong>junto <strong>de</strong> los mismos dispuestos en botones y <strong>con</strong> una representación gráfica <strong>de</strong> los


2.2. LA INTERFAZ DE USUARIO DE <strong>SEXTANTE</strong> 9<br />

mismos que los hace más útiles para un uso frecuente. Puesto que su comportamiento es<br />

idéntico al que se obtiene pulsando sobre el elemento <strong>de</strong> menú al que representan, en este<br />

manual no se <strong>de</strong>scriben los botones <strong>de</strong> la barra <strong>de</strong> tareas, cuya utilización es, no obstante,<br />

obvia, no haciendo necesaria explicación adicional alguna.<br />

El hecho <strong>de</strong> variar la ventana sobre la que se trabaja y cambiar entre la ventana <strong>de</strong> tabla <strong>de</strong><br />

datos y la <strong>de</strong> mapa no modifica únicamente los menús y los botones <strong>de</strong> la barra superior, sino<br />

también el <strong>con</strong>tenido <strong>de</strong> una <strong>de</strong> las ventanas más importantes: la ventana <strong>de</strong> elemento activo.<br />

Esta ventana incluye en sus diversas pestañas (cuyo número y nombre también es variable)<br />

toda la información necesaria para operar <strong>con</strong> el tipo <strong>de</strong> dato activo. A medida que vayamos<br />

estudiando todas las posibilida<strong>de</strong>s que <strong>SEXTANTE</strong> brinda, veremos el aspecto <strong>de</strong> la ventana<br />

<strong>de</strong> elemento activo en cada caso, pues es a través <strong>de</strong> ella como se llevan a cabo una gran parte<br />

<strong>de</strong> las acciones principales.<br />

Junto <strong>con</strong> la ventana <strong>de</strong> elemento activo, el otro componente <strong>de</strong> gran importancia y uno<br />

<strong>de</strong> los más versátiles <strong>de</strong> <strong>SEXTANTE</strong> es la ventana <strong>de</strong> entorno <strong>de</strong> trabajo. Con in<strong>de</strong>pen<strong>de</strong>ncia<br />

<strong>de</strong> lo que se <strong>de</strong>see hacer <strong>con</strong> el programa, estos dos elementos, y en especial este último, <strong>de</strong>ben<br />

manejarse <strong>con</strong>tinuamente. Es por ello que resulta muy <strong>con</strong>veniente tener siempre visible esta<br />

ventana en una <strong>con</strong>figuración tal como la mostrada anteriormente, pues se requiere actuar<br />

sobre ella <strong>de</strong> modo habitual.<br />

Dicha ventana <strong>con</strong>tiene tres pestañas, a saber:<br />

Módulos<br />

Datos<br />

Mapas<br />

Con el programa recién arrancado, solamente la primera <strong>de</strong> ellas <strong>de</strong>be <strong>con</strong>tener algo en<br />

su interior. Pronto cargaremos unas primeras capas <strong>de</strong> datos y <strong>de</strong>finiremos unas vistas <strong>de</strong><br />

mapas, <strong>de</strong> tal modo que existan elementos en cada una <strong>de</strong> las pestañas. Con esto, podremos<br />

ver cómo trabajar sobre ellas y comprobar a<strong>de</strong>más cómo la ventana <strong>de</strong> elemento activo y<br />

la <strong>de</strong> entorno <strong>de</strong> trabajo se hallan enlazadas. Para ver un primer ejemplo <strong>de</strong> esto haz clic<br />

sobre la pestaña <strong>de</strong> módulos. Todo lo que se <strong>con</strong>tiene <strong>de</strong>ntro <strong>de</strong> la ventana <strong>de</strong> entorno <strong>de</strong><br />

trabajo tiene una estructura jerárquica <strong>de</strong> árbol. Lo que ves ahora son los nombres <strong>de</strong> las<br />

librerías <strong>de</strong> módulos, cada una <strong>de</strong> las cuales <strong>con</strong>tiene los módulos en si agrupados según<br />

bloques <strong>con</strong>ceptuales (veremos más acerca <strong>de</strong> esta estructura en breve, no te preocupes si aún<br />

te resulta extraño). Haz clic sobre la cruz a la izquierda <strong>de</strong> una <strong>de</strong> estas librerías para ver los<br />

módulos que <strong>con</strong>tienen.<br />

Si ahora pinchas sobre el nombre <strong>de</strong>l módulo y seleccionas la pestaña Descripción en la<br />

ventana <strong>de</strong> elemento activo, verás información acerca <strong>de</strong> lo que hace el módulo elegido. Esta<br />

ayuda <strong>con</strong>textual para módulos es una <strong>de</strong> las mejoras <strong>de</strong> <strong>SEXTANTE</strong> a partir <strong>de</strong> SAGA, y<br />

hace que el uso <strong>de</strong>l programa sea sencillo y todavía más intuitivo.<br />

Siguiendo <strong>con</strong> los elementos básicos que componen la interfaz, la ventana <strong>de</strong> mensajes nos<br />

informa <strong>de</strong> la actividad que se ha <strong>de</strong>sarrollado hasta el momento <strong>con</strong> el programa, mostrando


10 CAPÍTULO 2. FUNDAMENTOS<br />

un historial <strong>de</strong> uso y mensajes <strong>de</strong> error en caso <strong>de</strong> que se produzca algún fallo en el <strong>de</strong>sarrollo<br />

<strong>de</strong> alguna tarea. Lo normal es mantener oculta esta ventana y sólo hacer uso <strong>de</strong> ella cuando<br />

no se obtenga el resultado esperado en una operación — para comprobar la justificación que<br />

da <strong>SEXTANTE</strong> en caso <strong>de</strong> que se trate <strong>de</strong> un error —, o bien al utilizar aquellos módulos que<br />

ofrecen algún tipo <strong>de</strong> salida numérica directamente sobre esta ventana, lo cual se <strong>de</strong>tallará en<br />

la explicación <strong>de</strong> dichos módulos.<br />

Por último, en la parte inferior <strong>de</strong> la pantalla existe una barra que aporta información<br />

instantánea sobre lo que vamos haciendo <strong>con</strong> el programa. En la parte izquierda nos comunica<br />

el estado <strong>de</strong> trabajo <strong>de</strong>l programa, que en este momento <strong>de</strong>bería indicar simplemente<br />

listo, haciéndonos saber que po<strong>de</strong>mos ejecutar módulos y realizar tareas, ya que <strong>SEXTANTE</strong><br />

está preparado para ello. A la <strong>de</strong>recha <strong>de</strong> esta caja <strong>de</strong> texto, hay una segunda caja don<strong>de</strong> se<br />

pue<strong>de</strong> leer el nombre <strong>de</strong>l elemento activo actual. <strong>La</strong>s siguientes tres cajas <strong>de</strong> texto <strong>con</strong>tienen<br />

las coor<strong>de</strong>nadas X e Y sobre las que se sitúa el puntero <strong>de</strong>l ratón sobre una vista <strong>de</strong> mapa (aún<br />

no hemos abierto ninguna), así como el valor Z <strong>de</strong>l mismo cuando la capa activa en un mapa<br />

es una capa <strong>de</strong> tipo raster. Este último valor se sustituye por el <strong>con</strong>tenido <strong>de</strong>l primer campo<br />

en el caso <strong>de</strong> tratarse <strong>de</strong> una capa vectorial. En el extremo <strong>de</strong>recho, por último, se encuentra<br />

una barra <strong>de</strong> progreso que indica el avance en la ejecución <strong>de</strong> los módulos.<br />

2.3. Proyectos. Manejo <strong>de</strong> Archivos<br />

Como ya hemos visto, <strong>SEXTANTE</strong> presenta una serie <strong>de</strong> ventanas que, aun vacías muchas<br />

<strong>de</strong> ellas en este inicio, pue<strong>de</strong>n <strong>con</strong>tener una gran cantidad <strong>de</strong> información correctamente estructurada<br />

a medida que vayamos cargando capas <strong>de</strong> datos y empleando los distintos módulos<br />

para generar más resultados. El manejo <strong>de</strong> ficheros <strong>de</strong> datos es el siguiente punto a tratar<br />

en cuanto a estas capacida<strong>de</strong>s básicas <strong>de</strong>l programa, no solo por cuanto representa en sí, sino<br />

porque será una vez que tengamos esos datos cuando podamos a<strong>de</strong>más <strong>de</strong>tallar en profundidad<br />

el uso <strong>de</strong> otros elementos tales como las ventanas que ya hemos visto en el apartado anterior.<br />

Veamos cómo po<strong>de</strong>mos cargar información <strong>de</strong>ntro <strong>de</strong> <strong>SEXTANTE</strong> <strong>con</strong> la que comenzar a<br />

trabajar.<br />

Aunque el programa es capaz, tal y como se ha dicho, <strong>de</strong> manejar información <strong>de</strong> diferente<br />

naturaleza, a la hora <strong>de</strong> abrir ficheros <strong>de</strong> datos <strong>de</strong>ben utilizarse unos u otros elementos <strong>de</strong><br />

menú en función <strong>de</strong> dicha naturaleza. En<strong>con</strong>tramos cuatro grupos principales, todos ellos bajo<br />

el menú Archivo<br />

Grid<br />

Vectorial<br />

Tabla<br />

T.I.N<br />

Grid hace referencia a mallas <strong>de</strong> información raster, mientras que Vectorial indica capas<br />

vectoriales <strong>con</strong>teniendo puntos, líneas o polígonos. <strong>La</strong> carga <strong>de</strong> tablas aisladas o TINs (re<strong>de</strong>s<br />

<strong>de</strong> triángulos irregulares), en principio menos común que las capas vectoriales o raster, se lleva<br />

a cabo <strong>de</strong> un modo idéntico. Para cada uno <strong>de</strong> los grupos anteriores existe un submenú <strong>de</strong>ntro<br />

<strong>de</strong>l cual en<strong>con</strong>trarás un comando Abrir... y una lista <strong>de</strong> los últimos archivos <strong>de</strong> este tipo<br />

abiertos, <strong>con</strong> objeto <strong>de</strong> proporcionar un acceso rápido a los mismos. Esta lista no existe aún,<br />

ya que no hemos cargado capa alguna, pero una vez que lo hagamos pue<strong>de</strong>s comprobar como<br />

la ruta <strong>de</strong> acceso al fichero abierto aparecerá bajo el submenú correspondiente.


2.3. PROYECTOS. MANEJO DE ARCHIVOS 11<br />

En el caso <strong>de</strong> capas raster y TINs, <strong>SEXTANTE</strong> lee para cada uno <strong>de</strong> ellos un formato<br />

particular heredado <strong>de</strong> SAGA, pero no es capaz <strong>de</strong> abrir formatos externos. Ello no significa<br />

que no puedan usarse estos en el programa, pero para hacerlo es necesario hacer uso <strong>de</strong><br />

módulos accesorios <strong>de</strong> entrada/salida, que serán explicados <strong>de</strong>ntro <strong>de</strong> algunos capítulos. <strong>La</strong><br />

razón <strong>de</strong> esto es que, en general, no existe un formato estándar para capas <strong>con</strong> este tipo <strong>de</strong><br />

datos, por lo que se ha optado por crear un formato propio y <strong>de</strong>finirlo como nativo. En el<br />

caso <strong>de</strong> capas vectoriales, el formato shapefile <strong>de</strong> ESRI es lo suficientemente popular como<br />

para <strong>con</strong>si<strong>de</strong>rarlo un estándar, por lo que estos archivos pue<strong>de</strong>n abrirse directamente sin<br />

necesidad <strong>de</strong> módulos. Con las tablas suce<strong>de</strong> algo similar, especialmente <strong>con</strong>si<strong>de</strong>rando que el<br />

formato DBase no es solo popular, sino que es el utilizado internamente por los shapefiles para<br />

almacenar la información <strong>de</strong> cada entidad vectorial. A<strong>de</strong>más <strong>de</strong> este formato, <strong>SEXTANTE</strong><br />

también lee tablas almacenadas como texto <strong>de</strong>limitado, como veremos más <strong>de</strong>talladamente en<br />

un ejemplo posterior.<br />

Bien sea a través <strong>de</strong>l menú Archivo o a través <strong>de</strong> módulos que se abordarán en su momento,<br />

<strong>SEXTANTE</strong> es capaz <strong>de</strong> leer un gran número <strong>de</strong> formatos. El hecho <strong>de</strong> que existan dos formas<br />

<strong>de</strong> incorporar datos al programa <strong>de</strong>be tenerse en cuenta, no obstante, <strong>de</strong> cara a un manejo<br />

fluido <strong>de</strong> los mismos, ya que los formatos soportados <strong>de</strong> forma nativa sin ayuda <strong>de</strong> módulos son<br />

claramente ventajosos. <strong>La</strong> carga <strong>de</strong> varios ficheros <strong>de</strong> una sola vez o la <strong>de</strong>finición <strong>de</strong> proyectos,<br />

por ejemplo, solo pue<strong>de</strong>n hacerse sobre formatos nativos. Veremos también en breve cómo<br />

guardar los datos en estos formatos una vez que han sido cargados, pero es interesante recalcar<br />

este hecho aquí para asegurar que, una vez importados los datos en <strong>SEXTANTE</strong>, se usan a<br />

partir <strong>de</strong> ahí <strong>de</strong> forma óptima.<br />

Carguemos nuestra primera capa <strong>de</strong> datos, en este caso una capa raster <strong>con</strong>teniendo un<br />

Mo<strong>de</strong>lo Digital <strong>de</strong>l Terreno(MDT). En la carpeta Datos <strong>de</strong>ntro <strong>de</strong>l directorio <strong>de</strong> instalación<br />

<strong>de</strong>l programa en<strong>con</strong>trarás un fichero llamado mdt.dgm. El formato dgm es el nativo <strong>de</strong> SEX-<br />

TANTE para capas raster, y el nombre <strong>de</strong> esta extensión <strong>de</strong>riva <strong>de</strong> un antecesor <strong>de</strong> SAGA<br />

<strong>de</strong>nominado DiGeM, el cual, en cierta forma, pue<strong>de</strong> <strong>con</strong>si<strong>de</strong>rarse precursor tanto <strong>de</strong> SAGA<br />

como <strong>de</strong> <strong>SEXTANTE</strong>. Ábrelo utilizando el menú Archivo/Grid/Abrir Grid... y seleccionándolo<br />

en el cuadro <strong>de</strong> diálogo que aparecerá.<br />

Una vez que el fichero ha sido cargado, lo único que verás será una entrada adicional en<br />

la ventana <strong>de</strong>l entorno <strong>de</strong> trabajo, <strong>de</strong>ntro <strong>de</strong> la pestaña Datos<br />

<strong>La</strong> ventana <strong>de</strong> mensajes también indicará que la operación se ha realizado <strong>con</strong> éxito.<br />

Sin embargo, y a diferencia <strong>de</strong> otros SIGs, no verás ninguna representación gráfica <strong>de</strong>l<br />

fichero que acabas <strong>de</strong> abrir. <strong>SEXTANTE</strong> maneja por separado los datos como tales y las


12 CAPÍTULO 2. FUNDAMENTOS<br />

representaciones que en base a estos se generan, ya sean <strong>de</strong> tipo mapa o <strong>de</strong> cualquier otra<br />

naturaleza tales como curvas, diagramas, etc. Esto permite que se pueda trabajar <strong>con</strong> datos<br />

y procesarlos, sin que en ningún momento sea necesario mostrarlos en pantalla o preocuparse<br />

por ello. Por supuesto, también es posible (y, <strong>de</strong> hecho, será lo habitual) ver en pantalla los<br />

datos <strong>con</strong> los que se realizan procesos o se ejecutan los distintos módulos, pero la estructura <strong>de</strong><br />

<strong>SEXTANTE</strong> maneja ambos <strong>con</strong>ceptos <strong>de</strong> forma in<strong>de</strong>pendiente y óptima, dando la posibilidad<br />

<strong>de</strong> que no haya <strong>de</strong> ser forzosamente así.<br />

Antes <strong>de</strong> hacer algo <strong>con</strong> la capa que acabamos <strong>de</strong> crear, añadamos a está una más, en<br />

este caso una vectorial. Busca en tu directorio <strong>de</strong> datos el fichero cauces.shp. Este <strong>con</strong>tiene<br />

una capa <strong>con</strong> líneas que representan cauces <strong>de</strong>ntro <strong>de</strong> la misma extensión <strong>de</strong>l Mo<strong>de</strong>lo Digital<br />

<strong>de</strong>l Terreno cargado en primer lugar. De hecho, estos cauces han sido calculados a partir <strong>de</strong>l<br />

propio MDT empleando algunos módulos <strong>de</strong> <strong>SEXTANTE</strong>, lo cual apren<strong>de</strong>rás a hacer <strong>de</strong>ntro<br />

<strong>de</strong> algunos capítulos. Verás como la nueva capa se aña<strong>de</strong> a una rama diferente <strong>de</strong>l árbol <strong>de</strong>ntro<br />

<strong>de</strong> la pestaña Datos, ya que se trata <strong>de</strong> un dato <strong>de</strong> diferente naturaleza al que ya teníamos<br />

cargado.<br />

Una vez tenemos cargada esta información, que es <strong>con</strong> la que vamos a trabajar, nos interesa<br />

<strong>de</strong>finir un proyecto para que en próximas ocasiones no sea necesario cargar uno por uno los<br />

archivos <strong>de</strong> datos que lo <strong>con</strong>stituyen. En este caso, la diferencia no es notable, ya que tan sólo<br />

trabajamos <strong>con</strong> dos <strong>de</strong> ellos, pero un proyecto complejo pue<strong>de</strong> <strong>con</strong>tener un número mucho<br />

mayor <strong>de</strong> ellos. Puesto que los archivos, tanto el vectorial como el raster, se encuentran en<br />

formatos que <strong>SEXTANTE</strong> lee <strong>de</strong> forma nativa, po<strong>de</strong>mos <strong>de</strong>finir un proyecto sin tener que<br />

<strong>con</strong>vertir el formato <strong>de</strong> ninguno <strong>de</strong> ellos previamente.<br />

Para <strong>de</strong>finir un proyecto, simplemente selecciona el menú Archivo/Proyecto/Guardar Proyecto...<br />

y en el cuadro <strong>de</strong> diálogo que aparecerá introduce el nombre <strong>con</strong> el que quieras guardarlo.<br />

<strong>La</strong> próxima vez que inicies una sesión <strong>con</strong> <strong>SEXTANTE</strong> y quieras usar estos datos<br />

ya no necesitarás cargarlos <strong>de</strong> forma separada, sino simplemente utilizando el menú Archivo/Proyecto/Abrir<br />

Proyecto... y seleccionando el proyecto que acabas <strong>de</strong> crear. Al hacer esto,<br />

<strong>SEXTANTE</strong> <strong>de</strong>scarga todas las capas <strong>de</strong> información que tuviera (es <strong>de</strong>cir, limpia la pestaña<br />

Datos en la ventana <strong>de</strong>l entorno <strong>de</strong> trabajo), y posteriormente carga las capas establecidas en<br />

el proyecto especificado. Si se usa el comando Archivo/Proyecto/Añadir Proyecto..., se cargan<br />

las capas <strong>de</strong>l proyecto, pero éstas se unen a las que previamente pudieran estar cargadas.<br />

Aunque por ahora no hemos representado estas capas (lo haremos en el siguiente apartado),<br />

es fácil intuir que dicha representación tendrá también una serie <strong>de</strong> parámetros <strong>de</strong> <strong>con</strong>figuración<br />

que la <strong>de</strong>finan. Cuando se crea un proyecto, <strong>SEXTANTE</strong> no almacena únicamente el nombre<br />

<strong>de</strong>l fichero que <strong>con</strong>tiene los datos, sino también información adicional como, por ejemplo, la<br />

forma <strong>de</strong> representar dichos datos. Por ello, la creación y uso <strong>de</strong> proyectos es sumamente<br />

interesante, pues ahorra tiempo a medida que la cantidad <strong>de</strong> capas y los ajustes <strong>con</strong> respecto<br />

a las mismas aumenta.<br />

Para probar como funciona el proyecto que hemos creado, haz lo siguiente: Con el botón<br />

<strong>de</strong>recho <strong>de</strong>l ratón haz clic sobre la raíz <strong>de</strong>l árbol <strong>de</strong> capas, <strong>de</strong>nominada Datos, y selecciona<br />

el menú Cerrar. <strong>SEXTANTE</strong> te preguntará si en efecto <strong>de</strong>seas cerrar todas las capas que en<br />

este momento están cargadas. Selecciona Aceptar y se vaciará el árbol. De igual modo, pue<strong>de</strong>s<br />

hacer clic <strong>con</strong> el botón <strong>de</strong>recho sobre una capa individual y en<strong>con</strong>trar un menú Cerrar, o bien<br />

sobre todo un tipo <strong>de</strong> datos, por ejemplo sobre la rama Vectorial, para cerrar todas las capas<br />

que se sitúan por <strong>de</strong>bajo <strong>de</strong> ella. Una vez que ya no hay capas cargadas, abre el proyecto (da<br />

igual si usas el comando Añadir Proyecto... o Abrir Proyecto, ya que no hay nada cargado).<br />

Verás como las dos capas que <strong>con</strong>tiene el proyecto vuelven a aparecer en la ventana. Si ahora<br />

usas el menú Añadir Proyecto..., lo que tendrás es una copia distinta <strong>de</strong> cada capa, <strong>de</strong> tal<br />

modo que cada una <strong>de</strong> ellas estará duplicada. Esto no resulta especialmente útil, pero a efectos<br />

<strong>de</strong> ejemplo seguro que te ayuda a compren<strong>de</strong>r cómo funciona la creación y uso <strong>de</strong> proyectos


2.4. MAPAS. CONCEPTOS BÁSICOS 13<br />

<strong>de</strong>ntro <strong>de</strong> <strong>SEXTANTE</strong>.<br />

2.4. Mapas. Conceptos básicos<br />

<strong>La</strong> representación gráfica <strong>de</strong> capas <strong>de</strong> información geográfica se realiza en <strong>SEXTANTE</strong><br />

mediante ventanas <strong>con</strong>teniendo lo que se <strong>de</strong>nominan ✭✭mapas✮✮. Un mapa <strong>con</strong>tiene simplemente<br />

una serie <strong>de</strong> capas (las cuales se eligen <strong>de</strong> entre las presentes en la pestaña Datos <strong>de</strong> la<br />

ventana <strong>de</strong>l entorno <strong>de</strong> trabajo), junto <strong>con</strong> una serie <strong>de</strong> parámetros adicionales que <strong>con</strong>trolan<br />

la representación. Para los usuarios <strong>de</strong> ArcView (seguramente una gran mayoría), un mapa es<br />

lo que en ArcView se <strong>con</strong>oce como ✭✭vista✮✮.<br />

<strong>SEXTANTE</strong> pue<strong>de</strong> <strong>con</strong>tener al mismo tiempo un número ilimitado <strong>de</strong> mapas, pudiendo<br />

utilizar una misma capa <strong>de</strong> datos en varios <strong>de</strong> ellos simultáneamente. Los mapas se recogen<br />

en una pestaña en la ventana <strong>de</strong>l entorno <strong>de</strong> trabajo, también <strong>con</strong> estructura <strong>de</strong> árbol, <strong>de</strong> tal<br />

modo que se pue<strong>de</strong> acce<strong>de</strong>r <strong>de</strong>s<strong>de</strong> ella a las capas que se incluyen en cada mapa. Veámoslo<br />

creando un primer mapa <strong>con</strong> nuestro MDT y la capa <strong>de</strong> líneas que representan los cauces.<br />

Para añadir una capa a un mapa, simplemente haz doble clic sobre ella (pue<strong>de</strong>s también<br />

hacer clic <strong>con</strong> el botón <strong>de</strong>recho y seleccionar el comando Mostrar Capa, pero es resulta menos<br />

sencillo). Para este primer ejemplo utiliza la capa <strong>de</strong>l MDT. Verás una pantalla como la<br />

siguiente.<br />

Esa es la representación <strong>de</strong>l Mo<strong>de</strong>lo Digital <strong>de</strong>l Terreno cargado, mostrada en una ventana<br />

in<strong>de</strong>pendiente sobre la que po<strong>de</strong>mos ahora trabajar y <strong>de</strong>splazarnos. <strong>La</strong>s áreas <strong>con</strong> coloraciones<br />

azules y ver<strong>de</strong>s indican zonas <strong>de</strong> menor elevación, mientras que las rojas indican las partes<br />

montañosas. Pue<strong>de</strong>s comprobar esto moviendo el puntero <strong>de</strong>l ratón sobre el mapa y viendo en<br />

la barra <strong>de</strong> estado cómo varían los valores <strong>de</strong> Z <strong>de</strong> unos lugares a otros.<br />

Cuando no existen mapas previos, el mostrar una capa da lugar a la creación <strong>de</strong> uno nuevo<br />

y no es necesaria más interacción por parte <strong>de</strong>l usuario, como ya has visto en el caso anterior.<br />

Sin embargo, cuando ya existen mapas creados, es necesario informar a <strong>SEXTANTE</strong> acerca<br />

<strong>de</strong> qué mapa <strong>de</strong>seamos emplear para mostrar la capa seleccionada. Para ver esto, haz doble<br />

clic sobre la capa vectorial <strong>de</strong> cauces. Aparecerá una ventana como la siguiente.


14 CAPÍTULO 2. FUNDAMENTOS<br />

En ella aparecen los nombres <strong>de</strong> todos los mapas abiertos, a<strong>de</strong>más <strong>de</strong> la opción Nuevo.<br />

Si seleccionas esta última, se añadirá un nuevo mapa, mientras que si seleccionas un mapa<br />

ya abierto la capa se mostrará <strong>de</strong>ntro <strong>de</strong>l mismo. En este caso, selecciona el mapa 1 (el <strong>de</strong>l<br />

MDT), para que podamos ver en una misma ventana ambas capas y comenzar <strong>con</strong> ellas a<br />

estudiar cómo manejar mapas complejos en <strong>SEXTANTE</strong>. <strong>La</strong> ventana <strong>de</strong> dicho mapa 1 <strong>de</strong>be<br />

tener ahora un aspecto similar al mostrado a <strong>con</strong>tinuación.<br />

Al igual que en la pestaña Datos, en este caso los mapas también están estructurados en un<br />

árbol, y muchos <strong>de</strong> los comandos que ya vimos entonces se encuentran también en este caso.<br />

Por ejemplo, po<strong>de</strong>mos eliminar mapas creados haciendo clic sobre su nombre <strong>con</strong> el botón<br />

<strong>de</strong>recho y seleccionando Cerrar. Asimismo, usando el botón <strong>de</strong>recho sobre una <strong>de</strong> las capas <strong>de</strong><br />

un mapa y empleando el comando Cerrar eliminamos esa capa, que ya no será representada<br />

en la ventana correspondiente. No obstante, esto no <strong>de</strong>scarga la capa, que seguirá apareciendo<br />

en la pestaña Datos, y es <strong>de</strong>s<strong>de</strong> allí <strong>de</strong>s<strong>de</strong> don<strong>de</strong> <strong>de</strong>bemos <strong>de</strong>scargarla. Al hacerlo, si la capa<br />

estaba representada en algún mapa abierto, será automáticamente eliminada <strong>de</strong>l mismo.<br />

Veamos ya cómo trabajar sobre la ventana <strong>de</strong> mapa mostrada anteriormente. Puesto que<br />

para <strong>de</strong>splazarse a través <strong>de</strong> los mapas y operar <strong>con</strong> ellos es mucho más habitual el utilizar<br />

los botones <strong>de</strong> la barra <strong>de</strong> herramientas en lugar <strong>de</strong> los comandos <strong>de</strong> menú, trabajaremos <strong>con</strong><br />

estos primeros en esta parte <strong>de</strong>l manual. Éstos son los botones básicos:<br />

Por una parte, tres herramientas que permiten interaccionar directamente <strong>con</strong> la ventana<br />

<strong>de</strong> mapa.<br />

Selección<br />

Zoom<br />

Desplazamiento


2.4. MAPAS. CONCEPTOS BÁSICOS 15<br />

<strong>La</strong> herramienta Selección permite seleccionar elementos <strong>de</strong>ntro <strong>de</strong> una vista, simplemente<br />

haciendo clic <strong>con</strong> ella sobre dichos elementos. Puesto que un mapa pue<strong>de</strong> <strong>con</strong>tener varias capas,<br />

es necesario que exista alguna forma <strong>de</strong> que <strong>SEXTANTE</strong> sepa sobre cual <strong>de</strong> ellas se <strong>de</strong>sea hacer<br />

la selección. ¿Como pue<strong>de</strong> hacerse esto? Muy fácil: a través <strong>de</strong>l <strong>con</strong>cepto <strong>de</strong> elemento activo.<br />

Si miras la pestaña Mapas podrás ver que <strong>de</strong>bajo <strong>de</strong>l mapa 1 se encuentran las capas que<br />

éste <strong>con</strong>tiene. Pue<strong>de</strong>s hacer clic sobre cualquiera <strong>de</strong> ellas y ésta se <strong>con</strong>vertirá automáticamente<br />

en el elemento activo. También pue<strong>de</strong>s hacer esto sobre la pestaña Datos, pero <strong>de</strong> este modo<br />

podrías seleccionar una capa que no estuviera representada en el mapa en cuestión, <strong>con</strong> lo que<br />

no obtendrías resultado alguno al operar sobre éste.<br />

Si el elemento activo es una capa raster, la selección se hace sobre una zona <strong>con</strong>creta <strong>de</strong> la<br />

misma. Pincha y arrastra sobre el interior <strong>de</strong> la ventana <strong>de</strong> mapa para <strong>de</strong>finir la zona <strong>de</strong>seada.<br />

A medida que lo hagas, <strong>SEXTANTE</strong> mostrará esa zona en negativo.<br />

No obstante, la extensión <strong>de</strong> esta zona esta limitada a 20 × 20 celdas, y una vez levantes<br />

el <strong>de</strong>do <strong>de</strong>l botón <strong>de</strong>l ratón verás el área seleccionada marcada <strong>con</strong> un cuadro rojo.<br />

Mas a<strong>de</strong>lante compren<strong>de</strong>rás el porqué <strong>de</strong> esta limitación y verás que, en realidad, no es<br />

tal.<br />

Cuando el elemento activo es una capa vectorial, la selección pue<strong>de</strong> realizarse puntualmente<br />

haciendo clic sobre un elemento <strong>con</strong>creto o bien marcando una zona como en el caso anterior<br />

y seleccionando todas las entida<strong>de</strong>s que intersecan <strong>con</strong> la misma. Intenta probar esto por ti<br />

mismo y establecer las siguientes selecciones sobre la capa <strong>de</strong> cauces.<br />

Cuando veamos más a<strong>de</strong>lante un tipo particular <strong>de</strong> módulos que requieren la interacción<br />

<strong>de</strong>l usuario, utilizaremos también la herramienta selección, que en cada caso adquirirá una<br />

funcionalidad <strong>con</strong>creta en función <strong>de</strong> las propias características <strong>de</strong>l módulo.


16 CAPÍTULO 2. FUNDAMENTOS<br />

Los restantes dos botones sirven para seleccionar la parte <strong>de</strong>l mapa que queremos ver y la<br />

escala a la que queremos hacerlo. Por <strong>de</strong>fecto, la representación inicial <strong>de</strong>l mapa cubre toda<br />

la extensión <strong>de</strong> la capa, pero esto lo po<strong>de</strong>mos modificar fácilmente <strong>con</strong> los botones Zoom y<br />

Desplazar.<br />

El botón Zoom permite alejarnos o acercarnos al mapa, aumentando el tamaño <strong>de</strong> su representación<br />

en pantalla. Una vez hagas clic sobre este botón y selecciones así la correspondiente<br />

herramienta, pincha y arrastra <strong>con</strong> el botón izquierdo <strong>de</strong>l ratón para <strong>de</strong>finir el área <strong>con</strong>creta<br />

que <strong>de</strong>seas ver <strong>con</strong> más <strong>de</strong>talle. Si haces clic <strong>con</strong> el botón <strong>de</strong>recho, el efecto es el <strong>con</strong>trario,<br />

ampliándose la extensión cubierta por el mapa, perdiéndose <strong>de</strong>talle. Por supuesto, si te acercas<br />

<strong>de</strong>masiado es probable que toda la extensión <strong>de</strong> la capa no quepa en la pantalla (o al menos<br />

en la ventana <strong>de</strong> mapa. Para ello, la herramienta Desplazar te permitirá mover el <strong>con</strong>junto<br />

<strong>de</strong> las capas, manteniendo la escala pero modificando la posición <strong>de</strong>l marco que cubre el área<br />

representada.<br />

Si te acercas mucho a una capa raster, a<strong>de</strong>más <strong>de</strong> representarse las celdas <strong>de</strong> ésta mediante<br />

colores, también verás los valores <strong>de</strong> dichas celdas, tal y como se muestra en la siguiente<br />

imagen.<br />

Junto a los botones anteriores, en<strong>con</strong>tramos cuatro botones <strong>de</strong> escala, que guardan una<br />

relación directa <strong>con</strong> la función <strong>de</strong>l botón Zoom que vimos anteriormente.<br />

Zoom anterior<br />

Zoom a la capa activa<br />

Zoom a la selección<br />

Ver vista completa<br />

<strong>La</strong> función <strong>de</strong> estos botones se explica por sí sola, en especial los <strong>de</strong> Zoom anterior y Ver<br />

vista completa. Este último selecciona la máxima escala que permite ajustar a la ventana la<br />

extensión completa <strong>de</strong> todo el mapa (<strong>de</strong>finida por los extremos <strong>de</strong> las capas que <strong>con</strong>tiene),<br />

<strong>de</strong> tal modo que todas las capas se ven completas. El botón Zoom a la selección ajusta la<br />

ventana a los elementos seleccionados (o la zona seleccionada en caso <strong>de</strong> que la capa activa sea<br />

<strong>de</strong> tipo raster), mientras que Zoom a la capa activa hace lo propio pero <strong>con</strong>si<strong>de</strong>rando todos<br />

los elementos <strong>de</strong> una misma capa.<br />

En el caso <strong>de</strong>l mapa <strong>con</strong> el MDT y los cauces, la diferencia entre seleccionar una u otra<br />

capa y <strong>de</strong>spués utilizar este último comando no es apreciable, ya que ambas comparten una<br />

misma extensión, pero esto no tiene siempre que ser así ya que en un mapa pue<strong>de</strong>n coexistir<br />

varias capas que representen distintas áreas.<br />

Un <strong>de</strong>talle importante a resaltar es el relativo al or<strong>de</strong>n <strong>de</strong> las capas representadas. Cuando<br />

<strong>SEXTANTE</strong> dibuja las diferentes capas que se incluyen <strong>de</strong>ntro <strong>de</strong> un mapa, hace esto en un


2.4. MAPAS. CONCEPTOS BÁSICOS 17<br />

or<strong>de</strong>n <strong>con</strong>creto, que no siempre ha <strong>de</strong> ser el más a<strong>de</strong>cuado. Este or<strong>de</strong>n inicialmente es el mismo<br />

en el que se han añadido las capas al mapa, que en el caso <strong>de</strong>l ejemplo que estamos viendo<br />

sería en primer lugar el MDT y <strong>de</strong>spués la capa vectorial <strong>con</strong> cauces. Probemos a crear un<br />

mapa <strong>con</strong> el or<strong>de</strong>n inverso. Haz doble clic sobre la capa <strong>de</strong> cauces en la pestaña <strong>de</strong> datos y<br />

añá<strong>de</strong>la a un mapa nuevo. A <strong>con</strong>tinuación, aña<strong>de</strong> a este mapa la capa raster <strong>con</strong> el MDT. Al<br />

representarse, esta última capa tapa los cauces, <strong>de</strong> tal modo que el aspecto <strong>de</strong>l mapa es igual al<br />

que se obtendría simplemente usando el MDT como única capa. Los cauces han <strong>de</strong>saparecido<br />

tras el mismo.<br />

El or<strong>de</strong>n <strong>de</strong> representación <strong>de</strong> las capas <strong>de</strong>ntro <strong>de</strong> un mapa se pue<strong>de</strong> modificar sin necesidad<br />

<strong>de</strong> crear uno nuevo y añadir las mismas en un or<strong>de</strong>n distinto. Para ello, selecciona <strong>con</strong> el botón<br />

<strong>de</strong>recho en la pestaña <strong>de</strong> mapas y bajo el mapa que <strong>de</strong>seas modificar la capa que quieres mover<br />

<strong>de</strong>ntro <strong>de</strong>l or<strong>de</strong>n <strong>de</strong> representación. Existen 4 comandos a utilizar:<br />

Traer al frente. Convierte a la capa en la ultima en ser representada, <strong>de</strong> tal modo que<br />

siempre será visible.<br />

Mover hacia arriba. <strong>La</strong> capa se dibujará en una posición más tardía que la actual.<br />

Mover hacia abajo. <strong>La</strong> capa se dibujará en una posición más temprana que la actual.<br />

Enviar al fondo. <strong>La</strong> capa seleccionada será la primera en representarse.<br />

Usando estos comandos <strong>con</strong> las distintas capas pue<strong>de</strong>s crear exactamente la composición<br />

que se ajuste a tus necesida<strong>de</strong>s. <strong>La</strong> importancia <strong>de</strong> este ajuste es <strong>de</strong> especial relevancia en el<br />

caso <strong>de</strong> mapas complejos <strong>con</strong> muchas capas, junto <strong>con</strong> otros ajustes <strong>de</strong> representación para<br />

cada capa, que veremos en los próximos capítulos.<br />

A<strong>de</strong>más <strong>de</strong> la propia ventana que <strong>con</strong>tiene el mapa en sí, otras ventanas también incluyen<br />

información y permiten realizar algunos ajustes sencillos a la representación <strong>de</strong>l mismo.<br />

Si seleccionas un mapa, éste se <strong>con</strong>vierte en el elemento activo, y como tal dispone <strong>de</strong> su<br />

correspondiente ventana <strong>de</strong> elemento activo, que pue<strong>de</strong>s ver a <strong>con</strong>tinuación.<br />

<strong>La</strong> pestaña <strong>de</strong> parámetros incluye en primer lugar algunos valores que modifican la forma en<br />

que se generan composiciones <strong>de</strong> mapa (<strong>La</strong>youts), y que veremos cuando estudiemos en <strong>de</strong>talle<br />

cómo crear éstas. Los únicos dos valores que afectan a la forma en que se muestra el mapa en<br />

la ventana correspondiente son los dos últimos, y son referentes al marco <strong>de</strong> coor<strong>de</strong>nadas que<br />

se sitúa al alre<strong>de</strong>dor <strong>de</strong>l mapa en cuestión. Pue<strong>de</strong>s <strong>de</strong>sactivar la presentación <strong>de</strong> dicho marco<br />

simplemente <strong>de</strong>sactivando la casilla Mostrar. En caso <strong>de</strong> que <strong>de</strong>sees verlo, pue<strong>de</strong>s ajustar su<br />

tamaño introduciendo valores en el campo Tamaño. Un tamaño <strong>de</strong> 14, el doble <strong>de</strong>l valor por<br />

<strong>de</strong>fecto, hará que el mapa <strong>con</strong> el que venimos trabajando tenga un aspecto algo distinto, como<br />

pue<strong>de</strong>s ver a <strong>con</strong>tinuación.


18 CAPÍTULO 2. FUNDAMENTOS<br />

Por supuesto, cuanto mayor sea el espacio <strong>de</strong>dicado al marco, menor será el ocupado por<br />

el mapa en sí.<br />

<strong>La</strong> pestaña Descripción no muestra otra información aparte <strong>de</strong>l número <strong>de</strong>l mapa, por lo<br />

que no es relevante.<br />

En la pestaña Leyenda en<strong>con</strong>trarás la leyenda que indica lo que representan los distintos<br />

elementos <strong>de</strong>l mapa. El or<strong>de</strong>n en que estos elementos aparecen coinci<strong>de</strong> <strong>con</strong> su or<strong>de</strong>n <strong>de</strong><br />

representación, <strong>de</strong> tal modo que el situado en la parte superior <strong>de</strong> la leyenda es el último que<br />

se dibuja.<br />

2.5. <strong>La</strong> estructura modular <strong>de</strong> <strong>SEXTANTE</strong><br />

Ya se ha dicho que una <strong>de</strong> las características más <strong>de</strong>stacadas <strong>de</strong> <strong>SEXTANTE</strong> es su estructura<br />

modular, que permite situar la mayoría <strong>de</strong> sus funciones <strong>de</strong> <strong>análisis</strong> en módulos<br />

in<strong>de</strong>pendientes y hace más sencillo el <strong>de</strong>sarrollo <strong>de</strong> nuevas funcionalida<strong>de</strong>s. Aunque también<br />

se ha comentado que esta primera parte <strong>de</strong>l libro no entra aún a <strong>de</strong>scribir los módulos y tan<br />

sólo se centra en el núcleo básico <strong>de</strong> <strong>SEXTANTE</strong>, se hace necesario añadir algo <strong>de</strong> información<br />

acerca <strong>de</strong> la estructura general <strong>de</strong>l manejo <strong>de</strong> dichos módulos, pues ésta <strong>con</strong>stituye en<br />

sí parte <strong>de</strong> la arquitectura central <strong>de</strong>l programa. A<strong>de</strong>más, en esta parte veremos <strong>con</strong> <strong>de</strong>talle<br />

el elemento <strong>de</strong> interacción <strong>de</strong> todos los módulos y capacida<strong>de</strong>s <strong>de</strong> <strong>SEXTANTE</strong> que requieren<br />

alguna introducción <strong>de</strong> datos por parte <strong>de</strong>l usuario, y <strong>con</strong> ello apren<strong>de</strong>remos algo más acerca<br />

<strong>de</strong> cómo trabajar <strong>con</strong> el programa y suministrarle información<br />

Los módulos <strong>de</strong> <strong>SEXTANTE</strong> se cargan y <strong>de</strong>scargan en función <strong>de</strong> las necesida<strong>de</strong>s <strong>de</strong>l<br />

usuario,y no es necesario tenerlos todos cargados <strong>de</strong> forma <strong>con</strong>tinua. Es <strong>de</strong>cir, se trata <strong>de</strong><br />

funcionalida<strong>de</strong>s no permanentes que el usuario pue<strong>de</strong> ✭✭activar✮✮ según le <strong>con</strong>venga, cargando<br />

el fichero correspondiente. De cualquier modo, no hay razón para no tener todos los módulos<br />

cargados (salvo la <strong>de</strong> que, por su número, pue<strong>de</strong> ser algo <strong>con</strong>fuso en<strong>con</strong>trar el que uno busca<br />

entre tantos), por lo que lo normal es que, una vez se hayan cargado los módulos, la función<br />

<strong>de</strong> cargar y <strong>de</strong>scargar éstos no se use apenas en una sesión <strong>de</strong> <strong>SEXTANTE</strong>. El programa<br />

mantiene la <strong>con</strong>figuración <strong>de</strong> módulos entre sesiones, <strong>de</strong> tal forma que los módulos disponibles<br />

al inicio <strong>de</strong> una sesión son los mismos que se en<strong>con</strong>traban cargados cuando se cerró la última.<br />

Los módulos se agrupan en librerías que generalmente tienen algún punto común. Estas<br />

librerías pue<strong>de</strong>n verse en la pestaña Módulos <strong>de</strong> la ventana <strong>de</strong> entorno <strong>de</strong> proyecto. Como ya<br />

<strong>de</strong>bes saber, la estructura es <strong>de</strong> tipo árbol, y al <strong>de</strong>splegar cada uno <strong>de</strong> los i<strong>con</strong>os que representan


2.5. LA ESTRUCTURA MODULAR DE <strong>SEXTANTE</strong> 19<br />

a dichas librerías aparecerán los módulos que se incluyen <strong>de</strong>ntro <strong>de</strong> la misma. A<strong>de</strong>más <strong>de</strong> esta<br />

entrada, cada módulo tiene su propio comando <strong>de</strong> menú bajo el menú Módulos. <strong>La</strong> ruta<br />

<strong>de</strong> acceso al submenú correspondiente no tiene porqué coincidir necesariamente <strong>con</strong> la <strong>de</strong> la<br />

librería y, en muchos casos, módulos <strong>de</strong> una misma librería, aun compartiendo características<br />

comunes, no están bajo un mismo submenú.<br />

Para iniciar este estudio sobre la utilización <strong>de</strong> los módulos <strong>de</strong> <strong>SEXTANTE</strong> (aunque no<br />

llegaremos aún a utilizar como tal ninguno <strong>de</strong> ellos), vamos a necesitar que al menos uno <strong>de</strong><br />

ellos se encuentre cargado. Por <strong>de</strong>fecto, los módulos se hallan en un subdirectorio <strong>de</strong>nominado<br />

modules bajo el directorio don<strong>de</strong> se encuentra el ejecutable <strong>de</strong> <strong>SEXTANTE</strong>. Si el programa<br />

ha re<strong>con</strong>ocido automáticamente la localización <strong>de</strong> los módulos, el <strong>con</strong>junto <strong>de</strong> ellos se en<strong>con</strong>trará<br />

cargado en el programa y la pestaña correspondiente, así como el menú <strong>de</strong> módulos,<br />

aparecerán completos. En caso <strong>de</strong> que no sea así, <strong>de</strong>bes cargar uno para tener algo <strong>con</strong> lo<br />

que trabajar. Selecciona el menú Módulos/Abrir Librería <strong>de</strong> Módulos. En el cuadro <strong>de</strong> dialogo<br />

que aparecerá ve hasta el directorio don<strong>de</strong> se encuentran las librerías <strong>de</strong> módulos y selecciona<br />

el fichero Terrain Analysis Morphometry.dll. Esto cargará la librería <strong>de</strong>nominada Análisis<br />

<strong>de</strong>l terreno: Morfometría, que <strong>con</strong>tiene los módulos <strong>de</strong> <strong>análisis</strong> morfométrico especialmente<br />

orientados a su uso <strong>con</strong> Mo<strong>de</strong>los Digitales <strong>de</strong>l Terreno.<br />

Con este módulo cargado (ya sea porque lo has cargado según las instrucciones anteriores<br />

o porque se cargó automáticamente al iniciar el programa), <strong>de</strong>spliega su entrada en el árbol<br />

<strong>de</strong> la pestaña Módulos y selecciona su módulo Morfometría Local. Si ahora vas a la ventana<br />

<strong>de</strong> elemento activo, en su pestaña Parámetros en<strong>con</strong>traras algo como lo siguiente.<br />

En esta ventana <strong>de</strong> parámetros es don<strong>de</strong> se realizan todos los ajustes necesarios para<br />

<strong>con</strong>figurar las distintas funcionalida<strong>de</strong>s <strong>de</strong> <strong>SEXTANTE</strong>, <strong>de</strong> las cuales los módulos son sólo<br />

una parte. Dependiendo <strong>de</strong> a qué tipo <strong>de</strong> elemento activo hagan referencia, los parámetros<br />

serán unos u otros, pero siempre estarán representados por filas en la tabla que compone<br />

la ventana. En el lado izquierdo en<strong>con</strong>trarás el nombre <strong>de</strong>l parámetro en cuestión, y en el<br />

lado izquierdo su valor. Estos parámetros pue<strong>de</strong>n ser capas tanto raster como vectoriales,<br />

valores numéricos, tablas, ca<strong>de</strong>nas <strong>de</strong> texto, ficheros, y un largo etcétera, <strong>con</strong> los cuales te irás<br />

familiarizando progresivamente a medida que vayan apareciendo en los sucesivos capítulos.<br />

Toda ventana <strong>de</strong> parámetros <strong>con</strong>tiene dos botones fijos: Abrir y Guardar. Con ellos pue<strong>de</strong>s<br />

guardar la <strong>con</strong>figuración <strong>de</strong> una ventana <strong>de</strong> parámetros, <strong>de</strong> modo que si en un uso posterior<br />

quieres <strong>con</strong>figurarla <strong>de</strong>l mismo modo, no es necesario ajustar cada uno <strong>de</strong> los parámetros<br />

uno a uno, sino simplemente recuperar el fichero <strong>de</strong> <strong>con</strong>figuración grabado. Los ficheros <strong>de</strong><br />

<strong>con</strong>figuración <strong>de</strong> parámetros se guardan <strong>con</strong> la extensión sprm.<br />

In<strong>de</strong>pendientemente <strong>de</strong> su naturaleza, todas las ventanas <strong>de</strong> parámetros posibles guardan<br />

sus <strong>con</strong>figuraciones en un mismo formato, <strong>de</strong> tal modo que teóricamente pue<strong>de</strong>s guardar la<br />

<strong>con</strong>figuración <strong>de</strong> un módulo y luego abrirla en la ventana <strong>de</strong> parámetros <strong>de</strong> otro módulo


20 CAPÍTULO 2. FUNDAMENTOS<br />

o incluso en la <strong>de</strong> otro elemento activo distinto <strong>de</strong> un módulo, como una capa raster, por<br />

ejemplo. Esto, sin embargo, no tiene efecto alguno.<br />

En el caso <strong>de</strong> los módulos, existe un botón <strong>de</strong>nominado Ejecutar. Una vez has ajustado<br />

los parámetros que rigen el funcionamiento <strong>de</strong>l módulo, haciendo clic en este botón se inicia<br />

la ejecución <strong>de</strong>l mismo.<br />

Existe otra forma <strong>de</strong> ejecutar un módulo sin utilizar la ventana <strong>de</strong> elemento activo, que<br />

<strong>con</strong>siste en acce<strong>de</strong>r a una ventana <strong>de</strong> parámetros in<strong>de</strong>pendiente. Selecciona el menú Módulos/Análisis<br />

<strong>de</strong>l Terreno/Morfometría/Morfometría Local. <strong>La</strong> ventana que verás tiene un <strong>con</strong>tenido<br />

similar a la pestaña <strong>de</strong> parámetros vista anteriormente.<br />

En este caso el botón Aceptar cumple la misma función que el Ejecutar anterior.<br />

<strong>La</strong> ventana <strong>de</strong> elemento activo <strong>con</strong>tiene a<strong>de</strong>más una pestaña <strong>con</strong> información sobre el<br />

módulo, a la cual no se pue<strong>de</strong> acce<strong>de</strong>r <strong>de</strong> otra forma. Esta pestaña, <strong>de</strong>nominada Descripción,<br />

<strong>con</strong>tiene información <strong>de</strong>tallada acerca <strong>de</strong> los distintos parámetros necesarios para ejecutar el<br />

módulo, así como acerca <strong>de</strong> otra serie <strong>de</strong> aspectos <strong>de</strong> interés respecto al mismo. Esta información<br />

es en muchos aspectos parecida a la que en<strong>con</strong>trarás en este mismo manual relativa a<br />

dichos módulos, en los capítulos <strong>de</strong>dicados expresamente a ello.<br />

Los ficheros en los que se <strong>con</strong>tienen estas <strong>de</strong>scripciones no son los mismos que aquellos en<br />

los que se encuentran los módulos (es <strong>de</strong>cir, los <strong>de</strong> las librerías), sino que se hallan en carpetas<br />

<strong>con</strong> el mismo nombre que dichas librerías. Si el programa no encuentra estos ficheros (pue<strong>de</strong><br />

ser el caso si, por ejemplo, <strong>de</strong>sarrollas un módulo tú mismo pero no escribes su ayuda correspondiente),<br />

<strong>SEXTANTE</strong> no muestra una ventana en blanco, sino que genera una información


2.6. TERMINANDO EL TRABAJO CON <strong>SEXTANTE</strong> 21<br />

básica a partir <strong>de</strong> la información que el propio modulo <strong>con</strong>tiene. Bajo estas líneas pue<strong>de</strong>s ver<br />

un ejemplo <strong>de</strong> su aspecto para el módulo Morfometría Local que venimos viendo.<br />

Si <strong>de</strong>seas <strong>de</strong>scargar una librería <strong>de</strong> módulos, basta <strong>con</strong> hacer clic sobre ella <strong>con</strong> el botón<br />

<strong>de</strong>recho <strong>de</strong>l ratón y seleccionar el comando Cerrar<br />

Dentro <strong>de</strong> un mismo tipo <strong>de</strong> objetos (por ejemplo, los módulos <strong>de</strong> la pestaña Módulos),<br />

la ventana <strong>de</strong> elemento activo es diferente según la importancia <strong>de</strong> dicho objeto. Por ejemplo,<br />

hacer clic en un módulo es diferente a hacer clic sobre la librería que lo <strong>con</strong>tiene o sobre la<br />

raíz <strong>de</strong> todo el árbol <strong>de</strong> librerías.<br />

Po<strong>de</strong>mos comprobarlo señalando la raíz <strong>de</strong> este árbol y modificando el único parámetro<br />

que en<strong>con</strong>traremos relativo a todos los módulos como <strong>con</strong>junto en la ventana Parámetros.<br />

Por <strong>de</strong>fecto, <strong>SEXTANTE</strong> emite un pitido para indicar la ejecución <strong>de</strong>l módulo. Deselecciona<br />

el campo Aviso Sonoro si no <strong>de</strong>seas que esto suceda.<br />

2.6. Terminando el trabajo <strong>con</strong> <strong>SEXTANTE</strong><br />

Una vez que termines tu trabajo <strong>con</strong> <strong>SEXTANTE</strong>, el programa se cierra como cualquier<br />

otro programa, haciendo clic sobre la esquina superior <strong>de</strong>recha <strong>de</strong> la ventana o seleccionando<br />

el menú Archivo/Salir<br />

Si se han importado ficheros mediante algunos <strong>de</strong> los módulos correspondientes y estos no<br />

han sido guardados en formatos propios <strong>de</strong> <strong>SEXTANTE</strong> (los soportados <strong>de</strong> forma nativa), o<br />

bien si se han generado nuevas capas mediante el uso <strong>de</strong> módulos y no has sido grabadas, el<br />

programa mostrará una pantalla como la siguiente.


22 CAPÍTULO 2. FUNDAMENTOS<br />

En ella se <strong>con</strong>tienen todas esas capas que no han sido grabadas y que <strong>SEXTANTE</strong> nos<br />

advierte que su información se per<strong>de</strong>rá si no lo hacemos. En caso <strong>de</strong> querer grabar alguna <strong>de</strong><br />

las mismas, simplemente selecciona el parámetro Guardar correspondiente a la misma y haz<br />

clic sobre el valor <strong>de</strong>l parámetro Archivo. Esto te permitirá introducir el nombre <strong>de</strong>l archivo<br />

a utilizar, o bien buscarlo en el cuadro <strong>de</strong> dialogo correspondiente si haces clic en el botón en<br />

la parte <strong>de</strong>recha <strong>de</strong> dicho campo <strong>de</strong> valor.<br />

Como ves, esto se hace también a través <strong>de</strong> una ventana <strong>de</strong> parámetros <strong>de</strong> similar estructura<br />

a las que acabamos <strong>de</strong> ver.<br />

Una vez hayas seleccionado los ficheros a guardar y les hayas asignado un nombre <strong>de</strong><br />

archivo, simplemente pulsa el botón Aceptar.


Trabajo <strong>con</strong> capas raster<br />

3.1. Introducción<br />

Capítulo 3<br />

Llegados a este punto, <strong>de</strong>bes saber ya cómo cargar capas <strong>de</strong> información geográfica (al<br />

menos en aquellos formatos soportados por el programa sin necesidad <strong>de</strong> módulos para importación<br />

<strong>de</strong> datos), y darles un uso simple para la creación <strong>de</strong> mapas. Aún así, todavía es mucho<br />

lo que pue<strong>de</strong> hacerse en <strong>SEXTANTE</strong> <strong>con</strong> esas capas sin requerir el empleo <strong>de</strong> módulos, y esa<br />

serie <strong>de</strong> funcionalida<strong>de</strong>s son las que se cubren en éste y en los 3 siguientes capítulos <strong>de</strong> este<br />

manual.<br />

Parte <strong>de</strong> esas capacida<strong>de</strong>s son simplemente nuevos comandos y funciones <strong>de</strong> cara al manejo<br />

y la representación <strong>de</strong> los distintos tipos <strong>de</strong> datos que el programa es capaz <strong>de</strong> manejar, extendiendo<br />

la información básica que se dio en el capítulo anterior. Otra parte, sin embargo, son ya<br />

elementos <strong>de</strong> <strong>análisis</strong> que permiten empezar a obtener resultados <strong>con</strong>cretos — aunque sencillos<br />

—, y servirán a<strong>de</strong>más para ir introduciendo paulatinamente otros elementos <strong>de</strong>l programa<br />

En este primer capítulo <strong>de</strong> introducción al manejo más intenso <strong>de</strong> la información primordial<br />

<strong>con</strong> la que trabaja <strong>SEXTANTE</strong>, nos centraremos en las capas <strong>de</strong> tipo raster. Esto es así,<br />

sencillamente porque <strong>SEXTANTE</strong> es un SIG eminentemente raster y, aunque su vertiente<br />

vectorial es tan importante y <strong>con</strong>tiene también numerosos comandos y funciones, es en el<br />

trabajo <strong>con</strong> capas raster don<strong>de</strong> se ve la verda<strong>de</strong>ra potencia <strong>de</strong>l programa y por don<strong>de</strong>, por<br />

tanto, ha <strong>de</strong> comenzarse su estudio.<br />

3.2. Representación y manejo <strong>de</strong> capas raster<br />

En el capítulo anterior vimos cómo mostrar una capa raster. Una vez que ésta ha sido<br />

cargada, basta crear un nuevo mapa o añadirla a uno ya existente y tendremos una ventana<br />

en pantalla en la que se representa la capa en cuestión. No obstante, no <strong>con</strong>ocemos aún la<br />

forma <strong>de</strong> ajustar dicha representación, a excepción <strong>de</strong>l propio movimiento a través <strong>de</strong>l mapa<br />

<strong>con</strong> las herramientas <strong>de</strong> zoom. Veremos en breve que este es solo uno <strong>de</strong> los muchos ajustes<br />

que pue<strong>de</strong>n realizarse, y cuyo <strong>con</strong>junto nos aporta una extensa flexibilidad y potencia gracias a<br />

la cual po<strong>de</strong>mos obtener representaciones acor<strong>de</strong>s <strong>con</strong> nuestras necesida<strong>de</strong>s en cada momento.<br />

Junto a los parámetros <strong>de</strong> representación veremos también algunos que, sin relación directa <strong>con</strong><br />

la forma en la que la capa se muestra, nos ayudarán al manejo <strong>de</strong> la misma y a la realización<br />

<strong>de</strong> operaciones <strong>con</strong> ella.<br />

El grueso <strong>de</strong> los parámetros se encuentra, como es lógico (y como <strong>de</strong>berías empezar a<br />

intuir ya), en la pestaña <strong>de</strong> parámetros <strong>de</strong>ntro <strong>de</strong> la ventana <strong>de</strong> elemento activo. Para verla,<br />

selecciona la capa raster <strong>con</strong> el MDT que cargamos en el capítulo anterior y ve <strong>de</strong>spués a<br />

23


24 CAPÍTULO 3. TRABAJO CON CAPAS RASTER<br />

dicha pestaña. <strong>La</strong> selección la pue<strong>de</strong>s hacer tanto en la pestaña <strong>de</strong> datos como en la <strong>de</strong> mapa,<br />

indistintamente.<br />

Lo primero que <strong>de</strong>bes notar es que han aparecido nuevas pestañas, al menos en comparación<br />

<strong>con</strong> lo que veíamos en casos previos (lease, módulos y mapas). Veremos todas ellas en breve,<br />

pero por ahora vamos a centrarnos en la principal, que es la que <strong>con</strong>tiene los parámetros <strong>de</strong><br />

ajuste y la que pue<strong>de</strong>s ver en la imagen encima <strong>de</strong> estas líneas.<br />

En primer lugar en<strong>con</strong>tramos una serie <strong>de</strong> parámetros generales <strong>de</strong> la capa raster y no<br />

relacionados <strong>con</strong> su representación, agrupados bajo la entrada General.<br />

Por <strong>de</strong>fecto, toda capa <strong>de</strong> información tiene un nombre asociado que es el <strong>de</strong>l propio fichero<br />

<strong>de</strong>s<strong>de</strong> el cual ha sido cargada. Este nombre es el que aparece para i<strong>de</strong>ntificarla en la pestaña<br />

<strong>de</strong> datos, Así como cuando se aña<strong>de</strong> a un mapa. Para modificar dicho nombre, simplemente<br />

tecléalo en el campo Nombre, el primero <strong>de</strong> los parámetros asociados a una capa raster que<br />

pue<strong>de</strong>s en<strong>con</strong>trar en la ventana.<br />

Debajo <strong>de</strong> éste, el campo Mostrar leyenda activa o <strong>de</strong>sactiva la presencia <strong>de</strong> leyenda asociada<br />

a dicha capa en la leyenda global <strong>de</strong> los mapas a los que ésta pertenece. A veces, como<br />

por ejemplo si usas una máscara, pue<strong>de</strong> ser interesante tener una capa en un mapa pero no<br />

ver su leyenda, pues los valores <strong>de</strong> la capa son irrelevantes a efectos <strong>de</strong> la interpretación <strong>de</strong>l<br />

<strong>con</strong>junto.<br />

Los dos siguientes campos, aunque no están directamente relacionados, sí que pue<strong>de</strong>n<br />

usarse en <strong>con</strong>junto o al menos <strong>con</strong> una i<strong>de</strong>a común. En el campo Unida<strong>de</strong>s pue<strong>de</strong>n anotarse<br />

las unida<strong>de</strong>s en que se mi<strong>de</strong>n los valores Z <strong>de</strong> la capa. Es un campo <strong>de</strong> texto, por lo que<br />

pue<strong>de</strong>s poner lo que <strong>de</strong>sees y el programa no lo utilizará para sus cálculos. Es simplemente<br />

<strong>con</strong> carácter informativo. El campo Factor Z, por su parte, sirve para aplicar un factor <strong>de</strong><br />

escala a los valores, y éste sí que es usado a la hora <strong>de</strong> calcular. Por ejemplo, si estamos<br />

trabajando <strong>con</strong> capas <strong>con</strong> valores <strong>de</strong> elevación en centímetros y queremos incorporar una capa<br />

<strong>con</strong> valores en metros, para hacer un uso coherente <strong>de</strong> las unida<strong>de</strong>s, <strong>de</strong>beríamos usar un factor<br />

en Z <strong>de</strong> 100. Esto no altera la información en la malla raster, pero sí los valores que se emplean<br />

en los cómputos <strong>con</strong> la capa y también, por ejemplo, el valor que se muestra en la barra <strong>de</strong><br />

estado al pasar el ratón por encima <strong>de</strong> su representación. Veremos en un próximo capítulo un<br />

uso muy habitual <strong>de</strong> este factor para <strong>con</strong>vertir los valores <strong>de</strong> radianes (tal y como los generan


3.2. REPRESENTACIÓN Y MANEJO DE CAPAS RASTER 25<br />

los módulos <strong>de</strong> <strong>análisis</strong> morfométrico) a grados, sin más que aplicar el factor correspondiente<br />

que relaciona ambas unida<strong>de</strong>s.<br />

El ultimo campo <strong>de</strong>l grupo General, <strong>de</strong>nominado Sin Datos, hace referencia al rango <strong>de</strong><br />

valores que el programa <strong>de</strong>be ignorar porque representan celdas para las que se <strong>de</strong>s<strong>con</strong>oce su<br />

valor exacto. A diferencia <strong>de</strong> otras aplicaciones que <strong>de</strong>finen un único valor para marcar estas<br />

celdas, en <strong>SEXTANTE</strong> pue<strong>de</strong> <strong>de</strong>finirse un rango completo <strong>de</strong> ellos. Si los valores extremos<br />

coinci<strong>de</strong>n, obviamente, utilizar ese rango es idéntico a utilizar un valor único.<br />

Algunas preguntas frecuentes al respecto son: ¿Por qué es necesario <strong>de</strong>finir un valor para<br />

celdas sin datos? ¿Por qué no utilizar valor cero para esas celdas?. En primer lugar, una capa<br />

raster tiene siempre una extensión rectangular, pero la información pue<strong>de</strong> no cubrirla por<br />

completo. Este es un caso típico cuando trabajamos por ejemplo <strong>con</strong> datos <strong>de</strong> una comunidad<br />

autónoma cerca <strong>de</strong> la frontera <strong>de</strong> la misma. Si adquirimos los datos <strong>de</strong> una fuente autonómica,<br />

es probable que la capa <strong>con</strong>tenga información únicamente en las celdas que caen <strong>de</strong>ntro <strong>de</strong> la<br />

comunidad que nos suministra la información, <strong>con</strong> lo que es necesario expresar ese ✭✭vacío✮✮ en<br />

las restantes, ya que <strong>de</strong>ben estar ahí completando la extensión <strong>de</strong> la capa.<br />

En segundo lugar, un valor cero no es a<strong>de</strong>cuado en la mayoría <strong>de</strong> los casos, ya que pue<strong>de</strong><br />

dar lugar a <strong>con</strong>fusión. Por ejemplo, en un MDT ese valor indicaría elevación cero <strong>con</strong> respecto<br />

al nivel <strong>de</strong>l mar, lo cual no tiene por que ser cierto. A<strong>de</strong>más, ese valor se emplearía para<br />

realizar cálculos, y se trata <strong>de</strong> evitar que esas celdas entren en ese proceso <strong>de</strong> cálculo, pues<br />

no son válidas <strong>de</strong>bido a su carencia <strong>de</strong> información. Por supuesto, pue<strong>de</strong> emplearse el valor 0<br />

como valor para celdas sin datos, pero hay que hacérselo saber al programa explícitamente.<br />

En general, es mejor emplear valores no factibles para la variable que representa la capa. En<br />

el caso <strong>de</strong> un MDT expresado en metros, valores como 9000 o -99999 son inviables, por lo que<br />

suponen una buena opción.<br />

Lejos <strong>de</strong> ser simplemente un recurso necesario para po<strong>de</strong>r utilizar capas incompletas, las<br />

celdas sin datos pue<strong>de</strong>n usarse para hacer muchas más cosas, como veremos cuando <strong>de</strong>ntro <strong>de</strong><br />

unos capítulos empleemos máscaras.<br />

Los siguientes campos, agrupados bajo la etiqueta Memoria correspon<strong>de</strong>n a un uso más<br />

avanzado <strong>de</strong>l programa y normalmente no es necesario modificar sus valores salvo que se<br />

trabaje <strong>con</strong> gran<strong>de</strong>s cantida<strong>de</strong>s <strong>de</strong> información o capas <strong>de</strong> gran extensión y <strong>de</strong>talle, lo cual<br />

pue<strong>de</strong> requerir un manejo optimizado <strong>de</strong> la memoria.<br />

El campo Manejo <strong>de</strong> memoria tiene 3 opciones: Normal, Compresión RTL y Caché <strong>de</strong><br />

archivos. Si no <strong>con</strong>oces el significado <strong>de</strong> estas dos últimas, es probable que no necesites usarlas.<br />

Si no tienes problemas <strong>de</strong> memoria, lo mejor es <strong>de</strong>jar este campo en Normal, ya que la velocidad<br />

<strong>de</strong> acceso a la información <strong>de</strong> las capas es mayor. En el caso <strong>de</strong> utilizar compresión RTL, la<br />

información se almacena en la memoria pero es necesario <strong>de</strong>scomprimirla para acce<strong>de</strong>r a ella,<br />

lo cual <strong>con</strong>sume tiempo. En el caso <strong>de</strong> emplear el caché <strong>de</strong> archivos, las capas se almacenan<br />

en el disco, siendo también más lento el acceso a ellas.<br />

Tras los anteriores campos, el resto <strong>de</strong> los que se incluyen en esta ventana <strong>de</strong> parámetros<br />

ya tienen relación directa <strong>con</strong> la representación <strong>de</strong> la capa y permiten modificar su apariencia.<br />

También analizaremos éstos por separado, en bloques, el primero <strong>de</strong> los cuales <strong>con</strong>tiene<br />

únicamente dos campos.


26 CAPÍTULO 3. TRABAJO CON CAPAS RASTER<br />

En el campo Interpolación en<strong>con</strong>trarás diferentes métodos <strong>de</strong> interpolación que pue<strong>de</strong>n ser<br />

usados para elaborar la imagen que ves <strong>de</strong> la capa en pantalla. Puesto que el tamaño <strong>de</strong> la<br />

representación en pantalla no ha <strong>de</strong> coincidir exactamente <strong>con</strong> el real <strong>de</strong> la malla raster (es<br />

<strong>de</strong>cir, que ocupe el mismo número <strong>de</strong> pixels que celdas hay en la malla), es necesario ✭✭calcular✮✮<br />

esa representación. Dependiendo <strong>de</strong> la complejidad <strong>de</strong>l algoritmo los resultados serán mejores,<br />

pero también requerirá más tiempo el hacerlo.<br />

De los métodos que en<strong>con</strong>trarás en la lista, cuanto más abajo se sitúen en ella más precisos<br />

son, y al mismo tiempo más tiempo <strong>con</strong>sumen. <strong>La</strong> diferencia no es realmente muy apreciable<br />

en pantalla y, salvo <strong>con</strong> capas muy gran<strong>de</strong>s o equipos limitados, la velocidad es suficiente en<br />

todos ellos. Por esta razón, simplemente selecciona el que te resulte más <strong>con</strong>veniente <strong>de</strong>spués<br />

<strong>de</strong> haberlos probado todos, o <strong>de</strong>ja la opción por <strong>de</strong>fecto.<br />

El campo Transparencia permite asignar un valor <strong>de</strong> transparencia a la capa, expresado<br />

en tanto por ciento, <strong>de</strong> forma que pue<strong>de</strong> verse ✭✭a través✮✮ <strong>de</strong> ella. Esto permite, por ejemplo,<br />

añadir dos capas raster que ocupen la misma extensión y extraer <strong>de</strong> ambas una información a<br />

partir <strong>de</strong> su representación gráfica. Esto es imposible sin el uso <strong>de</strong> transparencias, ya que <strong>de</strong><br />

otro modo únicamente se vería la capa situada más arriba en el or<strong>de</strong>n <strong>de</strong> capas, quedando la<br />

otra oculta tras ella.<br />

Para ver, no obstante, un uso más específico y habitual <strong>de</strong> esta funcionalidad, vamos a<br />

cargar una nueva capa. De la carpeta <strong>de</strong> datos <strong>de</strong> ejemplo, abre el fichero sombreado.dgm.<br />

Este fichero <strong>con</strong>tiene valores que representan la luz reflejada en cada celda <strong>de</strong>l MDT para un<br />

situación <strong>de</strong> iluminación dada, y pue<strong>de</strong> emplearse para añadir sensación <strong>de</strong> relieve a dicho<br />

MDT. Esta capa ha sido generada a partir <strong>de</strong>l propio Mo<strong>de</strong>lo Digital <strong>de</strong>l Terreno empleando<br />

uno <strong>de</strong> los módulos <strong>de</strong> <strong>SEXTANTE</strong>, y en su momento veremos cómo hacerlo. Por el momento,<br />

usa sencillamente el fichero que se incluye.<br />

Si abres una nueva ventana <strong>de</strong> mapa, el aspecto <strong>de</strong> esta malla raster es el siguiente.<br />

Pue<strong>de</strong> que no te diga mucho, pero si cambiamos los colores <strong>con</strong> los que está representado,<br />

la información que esta capa proporciona pue<strong>de</strong> ser muy notable. Por ejemplo, como en el<br />

siguiente ejemplo.


3.2. REPRESENTACIÓN Y MANEJO DE CAPAS RASTER 27<br />

Diferente, ¿verdad?. Para <strong>con</strong>seguir esto se <strong>de</strong>ben utilizar los campos que siguen en la<br />

ventana <strong>de</strong> parámetros, los agrupados bajo el grupo Representación: Clasificación <strong>de</strong> Colores,<br />

así que vamos a estudiar cómo funcionan antes <strong>de</strong> combinar las capas en transparencia.<br />

Existen diferentes maneras <strong>de</strong> asignar colores a las celdas <strong>de</strong> una malla raster en función<br />

<strong>de</strong> sus valores. Pue<strong>de</strong>s elegir entre ellas utilizando la lista <strong>de</strong>splegable <strong>de</strong>l campo Tipo.<br />

De las cinco opciones disponibles, las 2 últimas no requieren mayor ajuste, mientras que las<br />

tres restantes necesitan <strong>de</strong>finir algunos parámetros adicionales. Estos parámetros se encuentran<br />

también bajo este mismo grupo, y los veremos en breve. Para comenzar, veamos los dos tipos<br />

más sencillos: RGB y Sombreado.<br />

<strong>La</strong> imagen anterior <strong>de</strong> la capa sombreada ha sido generada utilizando este ultimo tipo <strong>de</strong><br />

clasificación <strong>de</strong> colores (a<strong>de</strong>más <strong>de</strong> unos distintos ajustes sobre la paleta). Su único uso es<br />

en este caso, ya que proporciona un efecto distinto al que se pue<strong>de</strong> <strong>con</strong>seguir mediante un<br />

ajuste simple <strong>de</strong> colores. Por sus propios valores, la capa <strong>con</strong> valores <strong>de</strong> iluminación pue<strong>de</strong><br />

representarse <strong>con</strong> sensación <strong>de</strong> relieve usando por ejemplo una rampa <strong>de</strong> color <strong>de</strong> grises. No<br />

obstante, utilizar el tipo Sombreado da una representación <strong>de</strong> mayor realismo, así que si tienes<br />

una capa <strong>de</strong> relieve sombreado, úsalo. En otro caso, no es una opción interesante.<br />

El empleo <strong>de</strong>l tipo RGB también está restringido a un caso particular <strong>de</strong> datos. A<strong>de</strong>más <strong>de</strong><br />

po<strong>de</strong>r leer capas <strong>con</strong> información acerca <strong>de</strong> una variable espacial, tal y como las elevaciones en<br />

un MDT, <strong>SEXTANTE</strong> soporta también el manejo <strong>de</strong> imágenes (aunque no <strong>de</strong> forma nativa,<br />

sino a través <strong>de</strong> módulos). El valor que <strong>con</strong>tiene cada celda en este caso es una codificación <strong>de</strong>l<br />

color <strong>de</strong>l pixel que representa, y para que <strong>SEXTANTE</strong> muestre la imagen <strong>de</strong> forma correcta<br />

en la pantalla es necesario indicarle esta circunstancia. Al igual que en el caso anterior, usa<br />

este tipo para capas que <strong>con</strong>tengan imágenes, pero no en otros casos.<br />

En lo que respecta a los restantes tipos, el más simple <strong>de</strong> ellos es Símbolo Único. Si se utiliza<br />

este tipo, todas las celdas <strong>de</strong> la malla se representan <strong>con</strong> un mismo color. Dicho color pue<strong>de</strong>s<br />

elegirlo en el campo Color <strong>de</strong> entre una lista <strong>de</strong> pre<strong>de</strong>finidos, o bien <strong>de</strong>finir uno tú mismo


28 CAPÍTULO 3. TRABAJO CON CAPAS RASTER<br />

haciendo clic en la última opción Definir. En este caso, te aparecerá un cuadro <strong>de</strong> diálogo<br />

como el siguiente, que probablemente ya <strong>con</strong>ozcas <strong>de</strong> otras aplicaciones.<br />

Pue<strong>de</strong> parecer bastante inútil el representar toda la capa <strong>con</strong> un sólo color, pero piensa<br />

que los valores sin datos no se representan, y pue<strong>de</strong> tener utilidad para señalar el <strong>con</strong>torno o<br />

extensión <strong>de</strong> una capa. En combinación <strong>con</strong>, por ejemplo, el uso <strong>de</strong> transparencias visto unas<br />

líneas atrás, los resultados pue<strong>de</strong>n ser interesantes.<br />

Algo más complejo que el uso <strong>de</strong> un único color es la utilización <strong>de</strong> una rampa <strong>de</strong> colores.<br />

Para ello selecciona el tipo Color Graduado. Usando los valores mínimo y máximo <strong>de</strong> la capa,<br />

y asignando un color a cada uno <strong>de</strong> ellos, pue<strong>de</strong> establecerse una rampa <strong>de</strong> la cual extraer<br />

la tonalidad en que ha <strong>de</strong> representarse cada celda en función <strong>de</strong> su propio valor. Para este<br />

caso es necesario <strong>de</strong>finir no únicamente la rampa, sino también como evolucionan los colores<br />

y valores a lo largo <strong>de</strong> la misma. Veamos cómo.<br />

Para editar la rampa <strong>de</strong> colores haz clic sobre el campo Colores. Verás una ventana como<br />

la siguiente.<br />

Por <strong>de</strong>fecto la rampa <strong>de</strong> color <strong>con</strong>tiene un total <strong>de</strong> 100 clases. Pue<strong>de</strong>s modificar este valor<br />

haciendo clic en el botón N o Clases e introduciendo el valor <strong>de</strong>seado en el cuadro <strong>de</strong> diálogo<br />

que te aparecerá.


3.2. REPRESENTACIÓN Y MANEJO DE CAPAS RASTER 29<br />

<strong>La</strong> rampa aparece en la ventana dividida en tres rampas para los colores rojo, ver<strong>de</strong> y azul.<br />

Combinando estas tres se obtiene la <strong>de</strong>finitiva, que es la utilizada para representar la capa.<br />

En cada una <strong>de</strong> ellas pue<strong>de</strong>s pinchar y arrastrar <strong>con</strong> el ratón para <strong>de</strong>finir tramos parciales <strong>de</strong><br />

la misma. Mejor que explicarlo aquí, prueba a intentarlo tu mismo, es intuitivo y nada mejor<br />

que tratar <strong>de</strong> <strong>de</strong>finir una rampa por ti mismo para apren<strong>de</strong>r cómo funciona.<br />

Pue<strong>de</strong>s guardar y abrir la <strong>con</strong>figuración <strong>de</strong> una rampa <strong>de</strong> color utilizando los botones Abrir<br />

y Guardar. El botón Reflejar invierte la dirección <strong>de</strong> la rampa actual, mientras que haciendo<br />

clic en Aleatoria se genera una nueva <strong>con</strong> un color aleatorio para cada una <strong>de</strong> las clases.<br />

Hay algunas rampas pre<strong>de</strong>finidas que pue<strong>de</strong>s en<strong>con</strong>trar haciendo clic sobre el botón Pre<strong>de</strong>finidas.<br />

Cierra la ventana y volvamos a la serie <strong>de</strong> parámetros <strong>de</strong>ntro <strong>de</strong>l apartado <strong>de</strong> clasificación<br />

<strong>de</strong> colores. En el campo Rango <strong>de</strong> valores pue<strong>de</strong>s escoger los valores mínimo y máximo a partir<br />

<strong>de</strong> los cuales se extien<strong>de</strong> la rampa <strong>de</strong> color. Si el valor <strong>de</strong> una celda es menor que el mínimo,<br />

se le asignara automáticamente el color <strong>de</strong>l mínimo, y <strong>de</strong> modo similar en el extremo superior.<br />

Por <strong>de</strong>fecto, los valores en este campo coinci<strong>de</strong>n <strong>con</strong> los extremos absolutos <strong>de</strong> la capa, <strong>de</strong> tal<br />

modo que se aprovecha al completo la rampa <strong>de</strong> color, pero en ocasiones pue<strong>de</strong>s preferir una<br />

<strong>con</strong>figuración distinta.<br />

Para ver el significado <strong>de</strong>l campo Modo, carguemos una nueva capa, en este caso la almacenada<br />

en el el fichero acumul.dgm. Esta capa <strong>con</strong>tiene valores <strong>de</strong> acumulación <strong>de</strong> flujo (también<br />

generados a partir <strong>de</strong> MDT y cuyo proceso estudiaremos más a<strong>de</strong>lante), los cuales son muy<br />

elevados en unas pocas celdas y no tanto en otras. Debido a esta disposición <strong>de</strong> valores, la<br />

rampa habitual no muestra <strong>de</strong>masiada información, como pue<strong>de</strong>s ver en la siguiente figura.


30 CAPÍTULO 3. TRABAJO CON CAPAS RASTER<br />

El uso <strong>de</strong> la rampa <strong>de</strong> colores requiere también el interpolar los valores situados entre los<br />

extremos, a fin <strong>de</strong> hacerles correspon<strong>de</strong>r un valor intermedio. Esta interpolación es lineal por<br />

<strong>de</strong>fecto, pero en ciertos casos (y este es uno <strong>de</strong> ellos), la propia variación <strong>de</strong> los valores hace<br />

que una interpolación <strong>de</strong> tipo logarítmico dé lugar a una representación mucho más explícita<br />

y cargada <strong>de</strong> información.<br />

Prueba a modificar el <strong>con</strong>tenido <strong>de</strong>l campo Modo y selecciona la opción Logarítmico (directo).<br />

Establece el valor 100000 en el campo Factor para escala logarítmica. Cuanto mayor<br />

sea este factor más acusado sera el efecto <strong>de</strong> usar el modo logarítmico. Aplica los cambios. El<br />

resultado es a todas luces mucho más interesante.<br />

Una vez que ya sabemos manejar a nuestro gusto los colores empleados para representar<br />

una capa raster, volvamos a lo que <strong>de</strong>jamos atrás, esto es, al uso <strong>de</strong> transparencias. Aquí va<br />

un pequeño ejercicio práctico: Asígnale a la capa <strong>de</strong> relieve sombreado una rampa <strong>de</strong> color en<br />

escala <strong>de</strong> grises tal y como la que en<strong>con</strong>trarás en las pre<strong>de</strong>finidas, y el tipo Color Graduado.<br />

Verás cómo <strong>con</strong> esta nueva <strong>con</strong>figuración sigue percibiéndose el aspecto <strong>de</strong> relieve sombreado.<br />

Para que los cambios realizados tengan efecto, utiliza el botón Aplicar en la parte inferior <strong>de</strong><br />

la ventana <strong>de</strong> parámetros.<br />

Pon las capas <strong>de</strong> relieve sombreado y la <strong>de</strong> acumulación <strong>de</strong> flujo (<strong>con</strong> escala logarítmica)<br />

en un mismo mapa y dale una transparencia <strong>de</strong>l 50 % a esta última, que <strong>de</strong>bera estar situada<br />

en la parte superior <strong>de</strong>l or<strong>de</strong>n <strong>de</strong> capas. El mapa resultante <strong>de</strong>berá tener un aspecto como el<br />

siguiente.


3.2. REPRESENTACIÓN Y MANEJO DE CAPAS RASTER 31<br />

Pue<strong>de</strong>s ver como las zonas <strong>de</strong> mayor acumulación <strong>de</strong> flujo coinci<strong>de</strong>n <strong>con</strong> las partes bajas<br />

<strong>de</strong> los valles, teniendo así información visual simultánea acerca <strong>de</strong>l relieve y <strong>de</strong> la hidrografía,<br />

cada una <strong>de</strong> ellas en una capa distinta.<br />

Si cambias la <strong>con</strong>figuración <strong>de</strong>l tipo a Sombreado, el aspecto es el mismo, ya que simplemente<br />

toma la intensidad <strong>de</strong> color <strong>de</strong> cada rango en la rampa <strong>de</strong> color y la <strong>con</strong>vierte a<br />

intensidad <strong>de</strong> gris. Con la rampa <strong>de</strong> color que estamos utilizando, esto no tiene efecto notable,<br />

pero pue<strong>de</strong>s probar <strong>con</strong> otra distinta. ¡Experimenta!<br />

<strong>La</strong> última forma <strong>de</strong> asignar colores a una capa es <strong>de</strong>finir <strong>de</strong> forma explícita las clases en las<br />

que se divi<strong>de</strong> el rango <strong>de</strong> valores abarcado por las celdas <strong>de</strong> la capa y estableciendo un color<br />

fijo para cada una <strong>de</strong> ellas. Para ello <strong>de</strong>bes seleccionar el tipo Tabla y <strong>de</strong>spués hacer clic en el<br />

botón <strong>de</strong>ntro <strong>de</strong>l campo también <strong>de</strong>nominado Tabla. Te aparecerá la siguiente ventana.<br />

<strong>La</strong>s tablas son uno <strong>de</strong> los tipos <strong>de</strong> datos que pue<strong>de</strong> manejar <strong>SEXTANTE</strong>, y como tal<br />

tienen <strong>de</strong>dicado un capítulo completo a su manejo. Aquí tan sólo presentaremos algunas características<br />

básicas que permitan hacer uso <strong>de</strong> esta ventana, pero los <strong>de</strong>talles acerca <strong>de</strong>l<br />

manejo completo <strong>de</strong> tablas se verán <strong>de</strong>ntro <strong>de</strong> algunos capítulos.<br />

Para cambiar cualquiera <strong>de</strong> los valores, simplemente haz clic sobre la casilla correspondiente<br />

e introduce el nuevo valor. Los campos Mínimo y Máximo, que acotan la extensión <strong>de</strong> cada<br />

clase, <strong>de</strong>ben <strong>con</strong>tener valores numéricos.<br />

Si haces clic sobre el campo Color podrás elegir el color que <strong>de</strong>seas para cada una <strong>de</strong> las<br />

clases.


32 CAPÍTULO 3. TRABAJO CON CAPAS RASTER<br />

Quizás estas dos clases no sean suficientes para la clasificación que quieres <strong>de</strong>finir. En este<br />

caso, pue<strong>de</strong>s añadir nuevas filas en la tabla <strong>con</strong> el botón Añadir. <strong>La</strong> nueva fila se sitúa en<br />

la parte inferior <strong>de</strong> la tabla. Para incorporar una nueva fila en otro lugar, pincha sobre una<br />

cualquiera <strong>de</strong> las celdas <strong>de</strong> la fila inmediatamente inferior a don<strong>de</strong> quieres situar la nueva y<br />

<strong>de</strong>spués utiliza el botón Insertar.<br />

Para borrar una clase, sitúate sobre la fila correspondiente y selecciona Eliminar. El botón<br />

Borrar elimina todas e inicia una tabla en blanco.<br />

Este tipo <strong>de</strong> clasificación es buena para capas raster que no <strong>con</strong>tienen una información<br />

<strong>con</strong>tinua, tal y como la elevación en un MDT, sino discreta. Por ejemplo, una capa raster que<br />

<strong>con</strong>tenga valores codificados <strong>de</strong> uso <strong>de</strong> suelo. No obstante, también pue<strong>de</strong> usarse para capas<br />

<strong>con</strong>tinuas en caso <strong>de</strong> que se quiera dividir éstas en clases. Supongamos que tenemos un grid<br />

cuyos valores representan la pendiente en cada celda. Para la realización <strong>de</strong> una actividad se<br />

<strong>de</strong>finen unas clases <strong>de</strong> capacidad <strong>de</strong> acogida:<br />

Si la pendiente es menor <strong>de</strong>l 10 % la celda es óptima<br />

Si la pendiente es mayor <strong>de</strong>l 10 % pero menor <strong>de</strong>l 25 %, la celda no es óptima pero aún<br />

es viable.<br />

Si la pendiente es mayor <strong>de</strong>l 25 %, la realización <strong>de</strong> esa actividad es inviable en dicha<br />

celda.<br />

Con lo anterior, si disponemos <strong>de</strong> una capa <strong>con</strong> valores <strong>de</strong> pendiente (algo sencillo <strong>de</strong><br />

obtener a partir <strong>de</strong> un MDT, como pronto veremos), po<strong>de</strong>mos representarla en función <strong>de</strong> su<br />

capacidad <strong>de</strong> acogida. <strong>La</strong> tabla que <strong>de</strong>bemos emplear en este caso es la siguiente.<br />

Intenta crearla tú <strong>con</strong> lo explicado anteriormente.<br />

Es interesante hacer notar que esta división, no obstante, es puramente a efectos <strong>de</strong> representación,<br />

y no <strong>de</strong>be <strong>con</strong>fundirse <strong>con</strong> un proceso <strong>de</strong> reclasificación. En este caso la información<br />

<strong>de</strong> la capa no se modifica, pero al reclasificar los valores sí que sufren una alteración real. Por<br />

este hecho, pue<strong>de</strong> <strong>con</strong>si<strong>de</strong>rarse que la reclasificación es una operación como tal sobre la capa<br />

raster y por ello requiere <strong>de</strong> un módulo especial para ser llevada a cabo (el cual veremos en<br />

su momento).<br />

A<strong>de</strong>más <strong>de</strong> dividir en clases el grid, el hecho <strong>de</strong> usar una tabla hace que los nombres <strong>de</strong> las<br />

clases se utilicen para ✭✭nombrar✮✮ el valor <strong>de</strong> cada celda cuando pasas el ratón por encima <strong>de</strong><br />

ellas. Si ahora pruebas a hacer esto, verás que en la barra <strong>de</strong> la parte inferior <strong>de</strong> la ventana,


3.2. REPRESENTACIÓN Y MANEJO DE CAPAS RASTER 33<br />

en lugar <strong>de</strong> aparecer el valor <strong>con</strong>tenido en la celda, aparece el nombre <strong>de</strong> la clase <strong>de</strong>ntro <strong>de</strong> la<br />

cual dicho valor se encuentra.<br />

Junto <strong>con</strong> los anterior, y aunque <strong>de</strong> menor importancia, en<strong>con</strong>tramos en la ventana <strong>de</strong><br />

parámetros otros campos que pue<strong>de</strong>n modificar distintos aspectos <strong>de</strong> la representación <strong>de</strong> la<br />

capa.<br />

En ocasiones pue<strong>de</strong> ser interesante representar únicamente una capa a una escala <strong>de</strong>terminada.<br />

Esto pue<strong>de</strong> suce<strong>de</strong>r especialmente si tenemos una capa vectorial <strong>con</strong> mucho <strong>de</strong>talle y al<br />

utilizar una escala <strong>de</strong> poco <strong>de</strong>talle no es útil representar toda la información, ya que <strong>con</strong>sume<br />

mucho tiempo y a<strong>de</strong>más no resulta distinguible en la representación. No obstante, también<br />

<strong>con</strong> capas raster pue<strong>de</strong> resultarnos práctica esta solución por similares razones, y <strong>SEXTANTE</strong><br />

lo permite en ambos casos.<br />

Si <strong>de</strong>seas visualizar la capa <strong>de</strong>ntro <strong>de</strong> los mapas que la <strong>con</strong>tienen <strong>con</strong> in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> su<br />

escala, selecciona el campo Mostrar siempre. Si no es así, <strong>de</strong>sactiva la casilla correspondiente y<br />

selecciona el rango <strong>de</strong> escala en que <strong>de</strong>seas que se represente la capa <strong>de</strong>ntro <strong>de</strong>l campo Mostrar<br />

en Función <strong>de</strong> la Escala. Por ejemplo, un rango (0, 100000) hará que la capa sólo aparezca<br />

representada cuando su escala se sitúe por <strong>de</strong>bajo <strong>de</strong> 1:100000.<br />

Por último, el grupo <strong>de</strong>nominado Representación: Valores <strong>con</strong>trola la forma en que los<br />

valores <strong>de</strong> las celdas aparecen en pantalla cuando uno se acerca mucho al mapa.<br />

Desactivando el campo Mostrar le indicas al programa que no <strong>de</strong>seas que muestre los valores<br />

<strong>de</strong> las celdas, in<strong>de</strong>pendientemente <strong>de</strong> la escala <strong>de</strong> representación. Cuando trabajes <strong>con</strong><br />

una capa raster, ésta no será una opción muy útil, pero si tienes varias hay ciertas circunstancias<br />

en las que te interesará hacerlo. Por ejemplo, en el mapa anterior <strong>con</strong> la capa <strong>de</strong> relieve<br />

sombreado y empleando transparencias, esta transparencia no solo permite ver el color <strong>de</strong><br />

una capa a a través <strong>de</strong> la otra, sino también los valores <strong>de</strong> las celdas, como se aprecia en la<br />

siguiente imagen.<br />

Para evitar esto, elige no mostrar los valores y simplemente verás la transparencia <strong>de</strong><br />

colores, <strong>de</strong> más sencilla interpretación y <strong>con</strong> mejor aspecto.<br />

En caso <strong>de</strong> que sí te interese ver los valores, pue<strong>de</strong>s elegir la forma en que estos se representan.<br />

Haciendo clic en el campo Fuente te aparecerá el clásico cuadro <strong>de</strong> diálogo para elegir<br />

una <strong>de</strong> ellas.


34 CAPÍTULO 3. TRABAJO CON CAPAS RASTER<br />

El tamaño relativo <strong>de</strong> la fuente se pue<strong>de</strong> establecer en el campo <strong>de</strong>l mismo nombre.<br />

En último lugar, cuando se trabaja <strong>con</strong> valores no enteros pue<strong>de</strong> ajustarse el número <strong>de</strong><br />

<strong>de</strong>cimales que se escriben para cada uno <strong>de</strong> dichos valores. Haz esto en el campo Decimales.<br />

Si estás trabajando <strong>con</strong> una capa <strong>con</strong> valores enteros, quizás te interese ajustar a cero este<br />

campo.<br />

3.3. Obteniendo información y editando una capa raster<br />

<strong>La</strong> pestaña <strong>de</strong> parámetros es sin duda una <strong>de</strong> las más útiles y la que hemos venido empleando<br />

para todos estos ajustes <strong>de</strong>scritos en el punto anterior. No obstante, existen otras<br />

pestañas en la ventana <strong>de</strong> elemento activo que también <strong>de</strong>sempeñan funciones interesantes y<br />

que utilizaremos <strong>de</strong> forma más o menos habitual al trabajar <strong>con</strong> capas raster. Selecciona, por<br />

ejemplo, la pestaña Descripción.<br />

En ella aparece información básica acerca <strong>de</strong> la capa activa. Algunos <strong>de</strong> los valores como<br />

las dimensiones <strong>de</strong> la capa están <strong>con</strong>tenidos directamente en la misma (es <strong>de</strong>cir, en el fichero<br />

en el que se encuentra almacenada), mientras que otros como la media o la <strong>de</strong>sviación típica<br />

han sido calculados por <strong>SEXTANTE</strong>.


3.4. ANÁLISIS BÁSICOS 35<br />

Bajo esta breve serie <strong>de</strong> datos pue<strong>de</strong>s en<strong>con</strong>trar la historia reciente <strong>de</strong>l trabajo <strong>con</strong> el<br />

fichero. En ella se reflejan todas las operaciones realizadas sobre el mismo, <strong>de</strong> tal modo que<br />

pue<strong>de</strong>s comprobar <strong>de</strong> dón<strong>de</strong> viene la información <strong>con</strong> la que estás trabajando. Esta historia<br />

se almacena únicamente al utilizar archivos .dgm, así que aquí tienes otra ventaja más <strong>de</strong><br />

emplear siempre que sea posible el formato propio <strong>de</strong>l programa.<br />

Si ahora vas a la pestaña Atributos es probable que la encuentres vacía. Cuando el elemento<br />

activo es una capa raster, esta pestaña sólo <strong>con</strong>tiene información en el caso <strong>de</strong> que se haya<br />

hecho una selección <strong>de</strong>ntro <strong>de</strong> la misma (¿recuerdas cómo seleccionar un grupo <strong>de</strong> celdas?).<br />

En tal caso, aparece una tabla <strong>con</strong> los valores <strong>de</strong> las celdas <strong>con</strong>tenidas en la selección, <strong>de</strong> la<br />

forma que pue<strong>de</strong>s ver a <strong>con</strong>tinuación.<br />

Es similar a la representación <strong>de</strong> los valores en el propio mapa como ya hemos visto,<br />

pero en esta ocasión pue<strong>de</strong>s editar esos valores y <strong>de</strong> este modo modificar la capa. Para ello,<br />

simplemente haz doble clic sobre la celda que <strong>de</strong>sees editar e introduce un nuevo valor.<br />

<strong>La</strong> información que ves en la tabla y pue<strong>de</strong>s editar es in<strong>de</strong>pendiente <strong>de</strong> la propia capa.<br />

Esto quiere <strong>de</strong>cir que cuando modificas alguna celda el cambio no se refleja inmediatamente<br />

en la capa, sino que para ello <strong>de</strong>bes emplear el botón Aplicar. Esto tiene la ventaja <strong>de</strong> que, si<br />

modificas una o varias celdas <strong>de</strong> forma errónea y luego no <strong>de</strong>seas actualizarlas, pue<strong>de</strong>s hacer<br />

clic sobre el botón Reestablecer, y cada una recuperará su valor original en la tabla.<br />

Al hacer clic en Actualizar, la capa se actualiza inmediatamente y se recalcula toda su<br />

representación. En el caso <strong>de</strong>l Mo<strong>de</strong>lo Digital <strong>de</strong>l Terreno <strong>con</strong> el que estamos trabajando, sus<br />

valores se sitúan entre 530 y 2093 metros (recuerda que pue<strong>de</strong>s comprobar esto en la pestaña<br />

Descripción). Prueba a añadir un valor muy alejado <strong>de</strong> ese rango, por ejemplo una altura<br />

<strong>de</strong> 200 metros. Selecciona una celda cualquiera y modifica su valor, y <strong>de</strong>spués actualiza la<br />

información <strong>con</strong> el botón Actualizar. Verás como el aspecto <strong>de</strong> la capa en el mapa cambia<br />

notablemente.<br />

3.4. Análisis básicos<br />

Quitando esos sencillos valores estadísticos como la media o la <strong>de</strong>sviación típica que aparecen<br />

en la pestaña Descripción, aún no hemos extraído ninguna información <strong>de</strong> una capa<br />

raster salvo la que se <strong>con</strong>tiene en ella misma como tal. Hay, no obstante, un pequeño grupo<br />

<strong>de</strong> funciones incluidas en el núcleo <strong>de</strong> <strong>SEXTANTE</strong> que nos permiten analizar <strong>de</strong> modo simple<br />

los valores <strong>de</strong> una capa y presentar algunos resultados interesantes, y ahora que ya <strong>con</strong>oces<br />

cómo manejar la capa y trabajar <strong>con</strong> ella, es el momento i<strong>de</strong>al <strong>de</strong> presentarlas.<br />

Los elementos que veremos son dos:<br />

Histogramas <strong>de</strong> frecuencias<br />

Análisis <strong>de</strong> regresión.


36 CAPÍTULO 3. TRABAJO CON CAPAS RASTER<br />

3.4.1. Histogramas<br />

Un histograma muestra la forma en la que los valores se distribuyen en una capa. Si un<br />

valor (o rango <strong>de</strong> valores) aparece <strong>con</strong> frecuencia en la capa, en el histograma tendrá asociado<br />

un valor elevado.<br />

Para ver el histograma <strong>de</strong> una capa raster, haz clic en su nombre <strong>de</strong>ntro <strong>de</strong> la pestaña<br />

Datos <strong>con</strong> el botón <strong>de</strong>recho <strong>de</strong>l ratón y selecciona el comando Mostrar Histograma.<br />

Como pue<strong>de</strong>s ver, el histograma se representa <strong>con</strong> los mismos colores que la propia capa,<br />

por lo que si modificas la forma en que los colores <strong>de</strong> cada clase son asignados, notarás cómo<br />

este cambio se hace también efectivo en la ventana <strong>de</strong>l histograma. Pero éste no es el único<br />

punto en que se hallan enlazadas la representación <strong>de</strong> la capa y la <strong>de</strong>l histograma. Si recuerdas,<br />

era posible ajustar la asignación <strong>de</strong> colores únicamente <strong>de</strong>ntro <strong>de</strong> un rango <strong>de</strong>finido (esto se<br />

hacía <strong>con</strong> el campo Rango <strong>de</strong> valores). Una forma más directa <strong>de</strong> hacer esto sin tener que<br />

pasar por la ventana <strong>de</strong> parámetros es seleccionando <strong>con</strong> el ratón el rango <strong>de</strong>seado sobre el<br />

histograma.<br />

Supongamos que quieres centrarte en el rango 1000–1500 metros. Pincha <strong>con</strong> el botón<br />

izquierdo en uno <strong>de</strong> los extremos <strong>de</strong>l rango y arrastra hasta el otro. Al soltar el ratón, el<br />

histograma se actualiza y también lo hace el mapa en caso <strong>de</strong> que se encuentre visible.


3.4. ANÁLISIS BÁSICOS 37<br />

Cuando quieras volver al rango completo, haz clic <strong>con</strong> el botón <strong>de</strong>recho sobre el histograma.<br />

En este sentido, esta ventana se comporta <strong>de</strong> modo similar a la <strong>de</strong> mapa cuando se encuentra<br />

seleccionada la herramienta Zoom.<br />

Ahora abre el histograma <strong>de</strong> la capa <strong>de</strong> acumulación <strong>de</strong> flujo. Verás que pue<strong>de</strong>s tener<br />

abiertos al mismo tiempo tantos histogramas como capas haya cargadas en ese momento.<br />

A primera vista no aporta mucha información, ¿verdad? Al igual que sucedía <strong>con</strong> la representación<br />

<strong>de</strong> la capa, la distribución <strong>de</strong> valores no es la más a<strong>de</strong>cuada para el empleo <strong>de</strong> una<br />

escala lineal, y esto pue<strong>de</strong> verse en este histograma claramente. Si cambias al modo logarítmico<br />

no sólo obtendrás más información en el mapa, sino también en el propio histograma.


38 CAPÍTULO 3. TRABAJO CON CAPAS RASTER<br />

Otra forma <strong>de</strong> presentar el histograma es <strong>con</strong> valores acumulados. En este caso, a cada<br />

clase se le asigna no la frecuencia <strong>de</strong> la misma sino la suma <strong>de</strong> las <strong>de</strong> todas las inferiores. Para<br />

cambiar entre estos modos <strong>de</strong> representación usa el menú Histograma/Acumulado. El aspecto<br />

<strong>de</strong>l histograma acumulado para nuestro MDT <strong>de</strong> trabajo es el siguiente.<br />

Aunque la ventana <strong>de</strong>l histograma muestra una representación visual <strong>de</strong>l mismo, existe<br />

una tabla <strong>de</strong> valores a partir <strong>de</strong> la cual se ha creado dicha representación. Para acce<strong>de</strong>r a<br />

ella, es necesario generar dicha tabla, que se incorporará a la pestaña <strong>de</strong> datos <strong>de</strong>ntro <strong>de</strong>l<br />

correspondiente nodo en el árbol <strong>de</strong> la misma. Selecciona el menú Histograma/Convertir a<br />

Tabla. Ahora vete a la pestaña <strong>de</strong> datos y haz doble clic sobre el nombre <strong>de</strong>l histograma recién<br />

generado.


3.4. ANÁLISIS BÁSICOS 39<br />

El <strong>con</strong>tenido <strong>de</strong> la tabla <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la forma <strong>de</strong>l histograma en el momento <strong>de</strong> generarlo,<br />

<strong>de</strong> tal modo que los ajustes sobre el modo <strong>de</strong> escala o el rango <strong>de</strong> valores tienen una influencia<br />

directa en la misma. Pruébalo y genera las distintas tablas según las posibles <strong>con</strong>figuraciones,<br />

y compáralas <strong>de</strong>spués.<br />

3.4.2. Análisis <strong>de</strong> regresión. Diagramas <strong>de</strong> puntos.<br />

No sólo es posible estudiar las características <strong>de</strong> una capa raster aislada como hemos hecho<br />

en el punto anterior, sino también extraer algunos resultados acerca <strong>de</strong> la relación entre dos<br />

<strong>de</strong> ellas. Dadas dos capas raster que representan los valores <strong>de</strong> dos variables para una misma<br />

zona, po<strong>de</strong>mos analizar si existe una relación entre dichas variables cruzando los valores <strong>de</strong><br />

las dos capas y estudiándolos.<br />

Para ver un ejemplo <strong>de</strong> ésto vamos a abrir una nueva capa <strong>con</strong>teniendo valores <strong>de</strong> pendiente<br />

para cada celda. Abre el fichero pendiente.dgm. Ahora haz clic sobre esta capa en la pestaña<br />

<strong>de</strong> datos y selecciona Diagrama <strong>de</strong> puntos. Verás la siguiente ventana.<br />

Es una ventana <strong>de</strong> parámetros en apariencia típica, pero nos va a servir para explicar<br />

algunas particularida<strong>de</strong>s <strong>de</strong> <strong>SEXTANTE</strong> que <strong>de</strong>bes <strong>con</strong>ocer, y que son imprescindibles a la<br />

hora <strong>de</strong> utilizar módulos, como más a<strong>de</strong>lante veremos.<br />

En este caso, queremos estudiar la relación entre la variable que se <strong>con</strong>tiene en la capa<br />

seleccionada (en este caso, la pendiente) y la <strong>con</strong>tenida en otra capa, ya sea ésta <strong>de</strong> tipo raster<br />

o <strong>de</strong> tipo vectorial. Resulta obvio, por tanto, que <strong>SEXTANTE</strong> necesita como entrada otra<br />

capa para po<strong>de</strong>r llevar a cabo el <strong>análisis</strong>, y ése es precisamente el objeto <strong>de</strong> esta ventana <strong>de</strong><br />

parámetros.<br />

Cuando <strong>SEXTANTE</strong> necesita saber qué capa vectorial <strong>de</strong>be utilizar, presenta una lista<br />

<strong>con</strong> todas las que se encuentren cargadas en ese momento, tal y como la que pue<strong>de</strong>s ver en<br />

el campo Vectorial. Si ése es el caso, se necesita también saber qué atributo <strong>de</strong> los <strong>de</strong> la capa<br />

en cuestión se utilizará para extraer los valores a usar en el <strong>análisis</strong>, y por ello en<strong>con</strong>trarás un<br />

campo <strong>de</strong>nominado Atributo. Este campo está enlazado al anterior, <strong>de</strong> forma que si modificas<br />

la capa a usar cambiará el <strong>con</strong>tenido <strong>de</strong> éste para incluir los distintos campos <strong>de</strong> la misma.


40 CAPÍTULO 3. TRABAJO CON CAPAS RASTER<br />

Para este ejemplo <strong>de</strong> regresión vamos a utilizar dos capas raster, pero aún así pue<strong>de</strong>s probar<br />

a seleccionar una capa vectorial para comprobar lo anterior. De cualquier modo, la entrada<br />

<strong>de</strong> capas vectoriales es sencilla y no requiere explicación adicional.<br />

Más compleja que la selección <strong>de</strong> capas vectoriales es la <strong>de</strong> capas raster. Dentro <strong>de</strong> SEX-<br />

TANTE, las capas raster se organizan según su extensión y resolución (es <strong>de</strong>cir, tamaño <strong>de</strong><br />

celda). Dentro <strong>de</strong> la ventana <strong>de</strong> datos pue<strong>de</strong>s ver que las capas no se sitúan inmediatamente<br />

por <strong>de</strong>bajo <strong>de</strong>l nodo Grids, sino bajo uno que <strong>con</strong>tiene las características geográficas <strong>de</strong> la<br />

capa. Esto tiene ventajas prácticas y <strong>con</strong>stituye una forma muy a<strong>de</strong>cuada <strong>de</strong> organizar las<br />

distintas capas. Verás <strong>de</strong> forma más clara esto cuando trabajes <strong>con</strong> módulos, especialmente al<br />

tener en cuenta la creación <strong>de</strong> nuevas capas a partir <strong>de</strong> otras.<br />

Cuando sea necesario especificar una capa <strong>de</strong>ntro <strong>de</strong> una ventana <strong>de</strong> parámetros, SEX-<br />

TANTE no dará únicamente una lista <strong>de</strong> todas ellas, sino dos. En la primera, <strong>de</strong>nominada<br />

Extensión <strong>de</strong> Grid, <strong>de</strong>bes elegir qué extensión <strong>de</strong>seas, y en función <strong>de</strong> tu elección en<strong>con</strong>trarás<br />

unas u otras capas <strong>de</strong>ntro <strong>de</strong>l campo Grid. Es en este campo don<strong>de</strong> <strong>de</strong>bes elegir la capa a<br />

utilizar.<br />

Continuando <strong>con</strong> el ejemplo, selecciona la capa <strong>de</strong>l MDT. Haz clic en Aceptar y SEXTAN-<br />

TE comenzará a calcular. Pue<strong>de</strong>s ver el avance <strong>de</strong>l proceso en la barra <strong>de</strong> progreso <strong>de</strong> la parte<br />

inferior <strong>de</strong>recha <strong>de</strong> la ventana. Al final <strong>de</strong>l mismo verás algo como lo siguiente.<br />

El gráfico incluye no solo los puntos que representan los pares <strong>de</strong> valores, sino también una<br />

recta <strong>de</strong> ajuste <strong>con</strong> su ecuación correspondiente y el coeficiente R que indica la bondad <strong>de</strong>l<br />

mismo. En el ejemplo propuesto, pue<strong>de</strong>s ver que éste no es precisamente muy bueno.<br />

Pue<strong>de</strong> modificarse la regresión y <strong>con</strong>ocer más datos sobre la misma usando el menú Diagrama<br />

<strong>de</strong> Puntos/Propieda<strong>de</strong>s y accediendo a la siguiente ventana <strong>de</strong> parámetros.


3.4. ANÁLISIS BÁSICOS 41<br />

Los campos en esta ventana regulan la apariencia <strong>de</strong>l gráfico pero también las propias<br />

características <strong>de</strong> la regresión.<br />

El campo Colores no <strong>de</strong>biera requerir más explicación, al igual que Fuente o Mostrar Curva<br />

<strong>de</strong> Regresión.<br />

<strong>La</strong> curva <strong>de</strong> regresión es por <strong>de</strong>fecto <strong>de</strong> la forma y = ax + b, pero pue<strong>de</strong>n elegirse otras<br />

formas <strong>de</strong>ntro <strong>de</strong> la lista <strong>de</strong>l campo Ecuación <strong>de</strong> Regresión.<br />

Si las capas que se utilizan <strong>con</strong>tienen muchas celdas, es posible que <strong>con</strong>suma tiempo representar<br />

todos los pares <strong>de</strong> puntos la gráfica. Para evitarlo, pue<strong>de</strong>s aumentar el valor en el<br />

campo Resolución para que se dibuje sólo una fracción <strong>de</strong> estos puntos. Prueba <strong>con</strong> distintos<br />

valores en caso <strong>de</strong> que te sea necesaria una mayor velocidad <strong>de</strong> representación o bien déjalo<br />

tal y como está en caso <strong>de</strong> que no sea así.<br />

Haciendo clic sobre el botón Detalles <strong>de</strong> la Regresión se abre una nueva ventana <strong>con</strong><br />

una gran caja <strong>de</strong> texto don<strong>de</strong> pue<strong>de</strong>s ver información estadística adicional. Esta ventana<br />

aparecerá cuando <strong>SEXTANTE</strong> requiera una entrada <strong>de</strong> texto mayor que una simple línea,<br />

pero también en algunos casos como éste cuando <strong>de</strong>see mostrarla.


42 CAPÍTULO 3. TRABAJO CON CAPAS RASTER


Trabajo <strong>con</strong> tablas<br />

4.1. Introducción<br />

Capítulo 4<br />

<strong>La</strong>s tablas son un elemento básico <strong>de</strong> <strong>SEXTANTE</strong>. No son únicamente un tipo <strong>de</strong> datos<br />

que el programa pue<strong>de</strong> manejar <strong>de</strong>l mismo modo que una capa <strong>de</strong> información geográfica<br />

como las empleadas en el capítulo anterior, sino que también se emplean para introducir y<br />

mostrar distintos tipos <strong>de</strong> información; <strong>de</strong>s<strong>de</strong> tablas que <strong>de</strong>finen la asignación <strong>de</strong> colores según<br />

los valores <strong>de</strong> una capa, a tablas <strong>con</strong> las clases <strong>de</strong> un histograma.<br />

Éstos son sólo algunos<br />

ejemplos que ya hemos visto y que forman parte <strong>de</strong> las muchas situaciones en las que usando<br />

<strong>SEXTANTE</strong> <strong>de</strong>beremos trabajar <strong>con</strong> tablas.<br />

El manejo <strong>de</strong> las tablas es sencillo y requiere tan sólo unos pocos <strong>con</strong>ceptos fundamentales,<br />

pero no por ello <strong>de</strong>ja <strong>de</strong> ser importante.<br />

<strong>La</strong> inclusión <strong>de</strong> este capítulo antes <strong>de</strong>l <strong>de</strong>dicado a las capas vectoriales, más lógico si se ve<br />

como <strong>con</strong>tinuación <strong>de</strong>l anterior, se <strong>de</strong>be al hecho <strong>de</strong> que las tablas están estrechamente ligadas<br />

<strong>con</strong> el registro <strong>de</strong> información vectorial, y es recomendable tener algunas nociones sobre su<br />

manejo antes <strong>de</strong> entrar en el manejo más complejo <strong>de</strong> ésta última.<br />

Junto <strong>con</strong> todo lo anterior, las tablas representan el punto <strong>de</strong> unión entre <strong>SEXTANTE</strong> y<br />

otras aplicaciones tales como hojas <strong>de</strong> cálculo, añadiendo así más versatilidad todavía a su<br />

uso.<br />

4.2. Abrir y editar tablas<br />

Para empezar a trabajar <strong>con</strong> las tablas necesitamos tener al menos una cargada en el<br />

programa, que como ya sabemos aparecerá bajo la entrada correspondiente en la pestaña<br />

<strong>de</strong> datos. Si has seguido el manual hasta este punto es probable que ya tengas alguna, en<br />

particular alguna <strong>con</strong>teniendo las clases <strong>de</strong> un histograma. No obstante, en lugar <strong>de</strong> utilizar<br />

esta tabla vamos a trabajar <strong>con</strong> otra distinta que se incluye en el directorio <strong>de</strong> datos <strong>de</strong> ejemplo,<br />

y así vemos las capacida<strong>de</strong>s <strong>de</strong> <strong>SEXTANTE</strong> para abrir ficheros <strong>de</strong> tablas.<br />

Los formatos soportados <strong>de</strong> forma nativa por el programa son dos <strong>de</strong> los más populares<br />

y extendidos. Por una parte, los archivos DBase, que son a su vez los usados en el formato<br />

shapefile para almacenar la información <strong>de</strong> las entida<strong>de</strong>s vectoriales. Por otra, archivos <strong>de</strong><br />

texto ASCII <strong>con</strong> campos <strong>de</strong>limitados, que pue<strong>de</strong>n ser creados por cualquier editor <strong>de</strong> texto.<br />

Será uno <strong>de</strong> estos ficheros <strong>con</strong> el que trabajemos.<br />

Abre el archivo tabla.txt usando el menú Archivo/Tabla/Abrir Tabla. Ésta es la tabla<br />

que se abrirá.<br />

43


44 CAPÍTULO 4. TRABAJO CON TABLAS<br />

Editar la tabla es sencillo, y es algo que ya <strong>de</strong>berías <strong>con</strong>ocer. Simplemente haz clic en<br />

la celda que <strong>de</strong>sees editar y teclea el nuevo valor. Pulsa Enter o haz clic en otra celda para<br />

<strong>con</strong>firmar el valor.<br />

Si haces clic en la cabecera <strong>de</strong> una columna, la tabla se or<strong>de</strong>nará según los valores <strong>de</strong> esta<br />

columna. Si vuelves a hacer clic, el or<strong>de</strong>n cambiará <strong>de</strong> ascen<strong>de</strong>nte a <strong>de</strong>scen<strong>de</strong>nte.<br />

Dentro <strong>de</strong>l menú Tabla que aparece al presentar una tabla en una ventana, en<strong>con</strong>tramos<br />

cuatro opciones que permiten modificar el numero <strong>de</strong> registros (filas) que la tabla <strong>con</strong>tiene.<br />

Éstas son las siguientes:<br />

Añadir Fila: Aña<strong>de</strong> una fila al final <strong>de</strong> la tabla.<br />

Insertar Fila: Inserta una nueva fila en el lugar don<strong>de</strong> se encuentre el cursor, es <strong>de</strong>cir,<br />

la fila <strong>de</strong> la última celda seleccionada <strong>con</strong> el ratón.<br />

Eliminar Fila: Elimina la fila seleccionada.<br />

Eliminar Todo: Elimina todas las filas.<br />

Utilizando estas opciones en <strong>con</strong>junto <strong>con</strong> la propia edición <strong>de</strong> valores en las celdas, pue<strong>de</strong>s<br />

dar forma a la tabla que <strong>de</strong>sees, <strong>de</strong> modo sencillo.<br />

Para guardar los cambios realizados en una tabla, pincha en su nombre <strong>con</strong> el botón <strong>de</strong>recho<br />

y selecciona Guardar Tabla o bien Guardar tabla como...<br />

4.3. Crear una tabla<br />

<strong>SEXTANTE</strong> mantiene, en la medida <strong>de</strong> lo posible, una estructura modular, <strong>de</strong> tal modo<br />

que la gran mayoría <strong>de</strong> sus capacida<strong>de</strong>s se intentan mantener en módulos in<strong>de</strong>pendientes. <strong>La</strong><br />

creación <strong>de</strong> una tabla <strong>de</strong>s<strong>de</strong> cero es una <strong>de</strong> estas capacida<strong>de</strong>s, y la veremos una vez alcancemos<br />

el capítulo <strong>de</strong>dicado a los módulos para manejo <strong>de</strong> tablas. Dentro <strong>de</strong>l presente capítulo<br />

únicamente trataremos las operaciones relativas a tablas implementadas en el núcleo central<br />

<strong>de</strong>l programa.<br />

4.4. Diagramas<br />

En muchas ocasiones, representar gráficamente la información <strong>con</strong>tenida en una tabla permite<br />

adquirir una mejor comprensión <strong>de</strong>l significado <strong>de</strong> dicha información. <strong>SEXTANTE</strong> incluye


4.4. DIAGRAMAS 45<br />

capacida<strong>de</strong>s <strong>de</strong> representación que, si bien pue<strong>de</strong>n no ser tan potentes como las habitualmente<br />

presentes en hojas <strong>de</strong> cálculo o programas similares, pue<strong>de</strong>n <strong>de</strong>sempeñar una función muy útil<br />

a la hora <strong>de</strong> interpretar resultados.<br />

Para crear un diagrama a partir <strong>de</strong> los datos <strong>de</strong> una tabla, selecciónala <strong>con</strong> el botón <strong>de</strong>recho<br />

y en el menú emergente que aparece haz clic en Mostrar Diagrama. Veras una representación<br />

similar a la siguiente.<br />

Tal vez tu representación no coincida <strong>con</strong> esta forma pese a que utilizas la misma tabla<br />

que yo. Si te fijas en el eje inferior, verás que está numerada <strong>de</strong>l 1 al 19, es <strong>de</strong>cir, indicando la<br />

fila <strong>de</strong> la tabla en cada punto. Si has or<strong>de</strong>nado la tabla según alguno <strong>de</strong> sus campos, el or<strong>de</strong>n<br />

<strong>de</strong> estas filas pue<strong>de</strong> ser diferente al que tenía al crear el diagrama <strong>de</strong> la imagen. Comprueba<br />

esto tu mismo reor<strong>de</strong>nando la tabla y viendo cómo la gráfica varía inmediatamente. De igual<br />

modo, si modificas un valor, también la gráfica cambiará su aspecto al hacerlo.<br />

Puesto que la tabla que utilizamos tan sólo <strong>con</strong>tiene un campo numérico, sólo veras una<br />

curva en la gráfica, pero en esta versión inicial <strong>de</strong>l diagrama aparecen por <strong>de</strong>fecto tantas curvas<br />

como campos pue<strong>de</strong>n representarse. Para modificar esto y ajustar la gráfica a tus preferencias,<br />

utiliza el menú Diagrama/Propieda<strong>de</strong>s<br />

<strong>La</strong> ventana <strong>de</strong> parámetros que aparece es variable, y <strong>con</strong>tiene una entrada por cada una<br />

<strong>de</strong> las curvas presentes, por <strong>de</strong>bajo <strong>de</strong>l grupo Atributos. Estas entradas permiten elegir si se<br />

representa o no la curva correspondiente al parámetro (activando o <strong>de</strong>sactivando la casilla al<br />

lado <strong>de</strong> su nombre) y en caso <strong>de</strong> que se haga pue<strong>de</strong> elegirse el color <strong>de</strong> la curva (mediante el<br />

campo Color).<br />

Dentro <strong>de</strong>l grupo General se incluyen dos parámetros que afectan a todas las curvas. En<br />

primer lugar, el tipo <strong>de</strong> gráfico que <strong>de</strong>seas, <strong>de</strong> entre las siguientes opciones:<br />

Barras<br />

Puntos<br />

Líneas


46 CAPÍTULO 4. TRABAJO CON TABLAS<br />

Líneas y puntos<br />

Veamos un pequeño ejemplo.<br />

Crea una tabla a partir <strong>de</strong>l histograma <strong>de</strong>l MDT <strong>con</strong> el que venimos trabajando. Representa<br />

un diagrama a partir <strong>de</strong> ella y modifica éste para que sea un diagrama <strong>de</strong> barras en lugar <strong>de</strong><br />

una curva sencilla. El aspecto <strong>de</strong>l mismo <strong>de</strong>berá ser similar a la representación <strong>de</strong>l histograma,<br />

a excepción <strong>de</strong> los colores empleados.<br />

Para que sea similar a esta imagen, <strong>de</strong>berás <strong>de</strong>sactivar la representación <strong>de</strong>l campo Clase<br />

Los diagramas <strong>de</strong> puntos (o <strong>de</strong> dispersión, como también se <strong>de</strong>nominan), ya los hemos<br />

visto en el capítulo anterior. Sin embargo, no es necesario emplear una capa raster para po<strong>de</strong>r<br />

crear uno <strong>de</strong> ellos; la información <strong>con</strong>tenida en una tabla pue<strong>de</strong> ser utilizada <strong>con</strong> el objeto <strong>de</strong><br />

comparar la relación entre dos variables almacenadas en dos columnas <strong>de</strong> la misma.<br />

Haz clic en el nombre <strong>de</strong> la tabla <strong>con</strong> el botón <strong>de</strong>recho y selecciona Mostrar Diagrama <strong>de</strong><br />

Puntos. Verás esta pantalla <strong>de</strong> parámetros.<br />

Simplemente tienes que seleccionar los campos <strong>de</strong> la tabla a utilizar, uno <strong>de</strong> ellos en cada<br />

eje <strong>de</strong> la gráfica resultante. Con la tabla que hemos abierto a partir <strong>de</strong>l fichero <strong>de</strong> ejemplo no<br />

tenemos suficientes campos, ya que tan sólo <strong>con</strong>tiene un único campo <strong>de</strong> tipo numérico. Para<br />

que practiques un poco, crea una tabla <strong>con</strong> más <strong>de</strong> un campo numérico y llénala <strong>con</strong> datos<br />

aleatorios. Después ya pue<strong>de</strong>s generar un diagrama <strong>de</strong> dispersión a partir <strong>de</strong> sus datos.<br />

Con el menú Diagrama <strong>de</strong> Puntos/Propieda<strong>de</strong>s pue<strong>de</strong>s obtener más información acerca <strong>de</strong><br />

la regresión y modificar su aspecto, <strong>de</strong>l mismo modo que ya vimos en el caso <strong>de</strong> crear ésta a<br />

partir <strong>de</strong> dos capas raster.


Trabajo <strong>con</strong> capas vectoriales<br />

5.1. Introducción<br />

Capítulo 5<br />

Ahora que ya hemos visto los fundamentos <strong>de</strong>l trabajo <strong>con</strong> capas raster y tablas, es el<br />

momento para tratar todo lo <strong>con</strong>cerniente a las capas vectoriales, otro <strong>de</strong> los pilares básicos<br />

sobre los que se asienta el manejo <strong>de</strong> información geoespacial en <strong>SEXTANTE</strong> y en cualquier<br />

Sistema <strong>de</strong> Información Geográfica similar. Gran parte <strong>de</strong> cuanto se pue<strong>de</strong> hacer <strong>con</strong> las capas<br />

vectoriales (por ejemplo todo lo relacionado <strong>con</strong> su representación) <strong>de</strong>ntro <strong>de</strong> <strong>SEXTANTE</strong>,<br />

se asemeja bastante a lo que ya hemos visto para el caso <strong>de</strong> capas raster, <strong>de</strong> forma que los<br />

<strong>con</strong>ocimientos entonces adquiridos pue<strong>de</strong>n ser empleados también aquí sin más que adaptar<br />

los <strong>con</strong>ceptos básicos.<br />

Por otra parte, la información asociada a las entida<strong>de</strong>s vectoriales se almacena en tablas,<br />

las cuales también hemos tratado previamente. Todo lo explicado en el capítulo anterior es<br />

aquí aplicable, y el manejo <strong>de</strong> las tablas asociadas a una capa vectorial es prácticamente<br />

idéntico al <strong>de</strong> una tabla aislada.<br />

Como se ha comentado ya al inicio, <strong>SEXTANTE</strong> es un SIG principalmente <strong>de</strong> tipo raster,<br />

pese a que da soporte a ambos tipos <strong>de</strong> datos, tanto raster como vectorial. El número <strong>de</strong> operaciones<br />

y comandos que pue<strong>de</strong>n ejecutarse <strong>con</strong> capas vectoriales en <strong>SEXTANTE</strong>, especialmente<br />

los <strong>con</strong>tenidos en módulos aparte, es elevado, pero aún así existen muchas funcionalida<strong>de</strong>s (muchas<br />

<strong>de</strong> ellas básicas que <strong>de</strong>bieran formar parte <strong>de</strong>l núcleo mismo <strong>de</strong>l programa) que no están<br />

presentes y serían necesarias para un trabajo completo <strong>con</strong> información vectorial.<br />

Por ejemplo, el manejo <strong>de</strong> largas cantida<strong>de</strong>s <strong>de</strong> datos en formato vectorial implica el manejo<br />

<strong>de</strong> gran<strong>de</strong>s tablas <strong>de</strong> datos. Un manejo óptimo <strong>de</strong> las mismas requiere <strong>de</strong> un gestor <strong>de</strong> bases <strong>de</strong><br />

datos potente, algo <strong>de</strong> lo que el programa carece. Po<strong>de</strong>mos trabajar <strong>con</strong> tablas en <strong>SEXTANTE</strong><br />

como ya hemos visto, pero a partir <strong>de</strong> un cierto punto las funcionalida<strong>de</strong>s implementadas en<br />

el programa no son, a <strong>de</strong>cir verdad, las más óptimas y a<strong>de</strong>cuadas.<br />

No obstante, el enfoque <strong>de</strong>l programa es distinto, y en su <strong>de</strong>sarrollo se <strong>con</strong>templa la información<br />

vectorial como algo necesario <strong>de</strong> usar pero que no <strong>con</strong>stituye la base primordial<br />

<strong>de</strong> la arquitectura <strong>de</strong>l programa. Nos gusta pensar que <strong>SEXTANTE</strong> es una especie <strong>de</strong> Arc-<br />

GIS pero a la inversa. ArcGIS es un excelente software para el manejo <strong>de</strong> capas vectoriales,<br />

pero <strong>de</strong>s<strong>de</strong> nuestro punto <strong>de</strong> vista carece <strong>de</strong> verda<strong>de</strong>ra potencia para llevar a cabo <strong>análisis</strong><br />

raster avanzados. En <strong>SEXTANTE</strong> nos <strong>de</strong>cantamos más por un producto <strong>con</strong> unas brillantes<br />

capacida<strong>de</strong>s raster y las suficientes funcionalida<strong>de</strong>s <strong>de</strong> manejo <strong>de</strong> información vectorial como<br />

para satisfacer los requerimientos más habituales y aportar mayor potencia a la parte raster<br />

al combinar ambas realida<strong>de</strong>s.<br />

No olvi<strong>de</strong>s que <strong>SEXTANTE</strong> está <strong>con</strong>cebido como un GIS <strong>de</strong>dicado al <strong>análisis</strong>, y en este<br />

47


48 CAPÍTULO 5. TRABAJO CON CAPAS VECTORIALES<br />

sentido su vertiente raster tiene mucho más que ofrecer, motivo por el cual es prepon<strong>de</strong>rante<br />

en el <strong>de</strong>sarrollo y evolución <strong>de</strong>l programa.<br />

En resumen, si eres usuario <strong>de</strong> un SIG como ArcGIS seguramente no habrás echado nada<br />

en falta en el capítulo <strong>de</strong>dicado a capas raster, pero tal vez encuentres escasa la información<br />

<strong>de</strong> este capítulo. De cualquier forma, sean suficientes o no para el uso que quieras darles<br />

(probablemente lo sean), las prestaciones <strong>de</strong>l programa en este sentido no son pocas, y el<br />

manejo fluido <strong>de</strong> todas ellas es tan importante como el <strong>de</strong> cualquier otra parte <strong>de</strong>l mismo.<br />

5.2. Representación <strong>de</strong> capas vectoriales<br />

Con lo ya explicado, no te será difícil apren<strong>de</strong>r a ajustar la representación <strong>de</strong> una capa<br />

vectorial <strong>de</strong> acuerdo <strong>con</strong> tus preferencias, sin más que saber como interpretar los parámetros<br />

necesarios para ello. Como es habitual, éstos se encuentran en la pestaña Parámetros y <strong>de</strong>bes<br />

seleccionar primero la capa cuyo aspecto <strong>de</strong>seas ajustar para que se <strong>con</strong>stituya como elemento<br />

activo.<br />

Aunque muchos <strong>de</strong> estos parámetros son comunes para todos los tipos <strong>de</strong> información<br />

vectorial, la <strong>con</strong>figuración no es igual si la capa <strong>con</strong>tiene puntos o si <strong>con</strong>tiene polígonos. Por<br />

ejemplo, en el caso <strong>de</strong> polígonos es necesario especificar cómo se dibuja el relleno, pero en el<br />

caso <strong>de</strong> puntos o lineas no existe tal relleno y sí otros atributos como por ejemplo el grosor<br />

<strong>de</strong>l trazado que no se aplican en una capa <strong>de</strong> polígonos.<br />

Veamos estos parámetros por grupos, <strong>de</strong>tallando sólo aquellos que no son <strong>con</strong>ocidos <strong>de</strong><br />

antemano, para evitar redundancia.<br />

Puesto que la capa vectorial que tenemos abierta <strong>con</strong>tiene líneas, empezaremos por ella y<br />

<strong>de</strong>spués cargaremos otras <strong>con</strong> distintos tipos <strong>de</strong> datos para ver cómo ajustar la representación<br />

<strong>de</strong> las mismas.<br />

En primer lugar, po<strong>de</strong>mos etiquetar cada una <strong>de</strong> las entida<strong>de</strong>s <strong>de</strong>ntro <strong>de</strong> una capa, <strong>de</strong> tal<br />

forma que en el mapa no sólo aparezca su representación sino también junto a ésta su nombre o<br />

un i<strong>de</strong>ntificativo <strong>de</strong> la misma. Este texto se pue<strong>de</strong> extraer <strong>de</strong> cualquiera <strong>de</strong> los valores asociados<br />

a la entidad, que son los <strong>con</strong>tenidos en los distintos campos <strong>de</strong> la tabla asociada a la capa.<br />

Si en el campo Atributo bajo Representación: Etiquetas se selecciona la opción [ninguno], las<br />

entida<strong>de</strong>s aparecen sin etiquetar. Si se selecciona cualquiera <strong>de</strong> los restantes elementos <strong>de</strong> la<br />

lista (que son los campos <strong>de</strong> la tabla), se toma el valor <strong>de</strong> dicho campo para crear una etiqueta.<br />

El tamaño <strong>de</strong> la etiqueta en el mapa pue<strong>de</strong> <strong>con</strong>figurarse haciendo uso <strong>de</strong>l campo Fuente.<br />

Si en el campo Tamaño en Pantalla esta seleccionada la opción Tamaño Fijo, entonces<br />

se utilizará el tamaño anterior <strong>con</strong> in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> la escala <strong>de</strong>l mapa. Ello pue<strong>de</strong> causar<br />

que, si nos alejamos <strong>de</strong> la vista y cubrimos una gran extensión <strong>de</strong> terreno, coexistan en la<br />

representación <strong>de</strong> mapa un gran número <strong>de</strong> entida<strong>de</strong>s y sus etiquetas se solapen y no sean<br />

distinguibles. En este caso, es más <strong>con</strong>veniente utilizar la opción Tamaño en Unida<strong>de</strong>s <strong>de</strong> Mapa<br />

en el campo Tamaño en Pantalla, e introducir el valor <strong>de</strong>l tamaño (expresado en las mismas<br />

unida<strong>de</strong>s <strong>de</strong>l mapa), en el campo Tamaño. Un valor <strong>de</strong>, por ejemplo, 500, hará que la etiqueta<br />

tenga un tamaño <strong>de</strong> 500 metros (suponiendo que las coor<strong>de</strong>nadas en el mapa están expresadas<br />

en metros), variando su tamaño en la pantalla según lo haga la escala <strong>de</strong> visualización.<br />

Pue<strong>de</strong>s ver un ejemplo <strong>de</strong> esto en la siguiente imagen.


5.2. REPRESENTACIÓN DE CAPAS VECTORIALES 49<br />

Para el caso <strong>de</strong> una capa <strong>de</strong> líneas, pue<strong>de</strong> modificarse el grosor <strong>de</strong> cada línea <strong>de</strong> varias<br />

formas distintas.<br />

Si se <strong>de</strong>sea que todas las líneas, in<strong>de</strong>pendientemente <strong>de</strong> sus valores asociados, tengan<br />

un mismo grosor, <strong>de</strong>be seleccionarse en el campo Atributo (en este caso bajo Representación:<br />

Tamaño) la opción [ninguno] y en el campo Pre<strong>de</strong>terminado el grosor fijo <strong>de</strong>seado. Utilizando,<br />

por ejemplo, un grosor <strong>de</strong> 15, éste es el aspecto <strong>de</strong> la capa <strong>de</strong> cauces.<br />

Si, por el <strong>con</strong>trario, quieres representar las distintas entida<strong>de</strong>s <strong>con</strong> grosores diferentes en<br />

función <strong>de</strong> alguno <strong>de</strong> sus atributos, selecciona en Atributo el campo <strong>de</strong> la tabla don<strong>de</strong> se<br />

<strong>con</strong>tienen los valores a utilizar (<strong>de</strong>be ser un campo numérico), y <strong>de</strong>spués establece el rango <strong>de</strong><br />

grosores entre los cuales quieres que varíe la representación según esos valores.<br />

<strong>La</strong> utilización <strong>de</strong> distintos grosores permite representar dos variables simultáneamente si<br />

se combina <strong>con</strong> el uso <strong>de</strong> colores diferentes para cada entidad en función <strong>de</strong> otro campo. <strong>La</strong><br />

variable recogida en un campo se representa mediante una graduación <strong>de</strong> tonos, mientras que<br />

la otra lo hace mediante una graduación <strong>de</strong> gruesos <strong>de</strong> línea.<br />

Utilizando un rango <strong>de</strong> (2,10) aplicado según el campo Or<strong>de</strong>n, la apariencia es como la<br />

mostrada a <strong>con</strong>tinuación.


50 CAPÍTULO 5. TRABAJO CON CAPAS VECTORIALES<br />

El valor <strong>de</strong>l mínimo no tiene que ser necesariamente menor que el <strong>de</strong>l máximo. Es <strong>de</strong>cir,<br />

si se <strong>de</strong>sea asignar un grosor inversamente proporcional al valor <strong>de</strong>l campo pue<strong>de</strong> usarse un<br />

rango <strong>de</strong>l tipo (10, 2)<br />

Respecto a la asignación <strong>de</strong> colores, su funcionamiento es prácticamente idéntico al caso <strong>de</strong><br />

las capas raster, <strong>con</strong> una importante diferencia. En una capa raster, el valor asociado a cada<br />

celda es único, y es éste el que <strong>de</strong>be emplearse para seleccionar el color a<strong>de</strong>cuado para la misma.<br />

En el caso <strong>de</strong> una entidad vectorial, ésta es probable que tenga asociada una serie <strong>de</strong> campos<br />

numéricos, todos ellos susceptibles <strong>de</strong> usarse para graduar el color <strong>de</strong> representación <strong>de</strong> dicha<br />

entidad. Puesto que solo uno <strong>de</strong> ellos pue<strong>de</strong> usarse, es necesario informar a <strong>SEXTANTE</strong> <strong>de</strong> cuál<br />

<strong>de</strong>seamos emplear, para lo cual <strong>de</strong>be seleccionarse en el campo Atributo bajo Representación:<br />

Clasificación <strong>de</strong> Colores.<br />

Si intentas utilizar un campo alfanumérico para graduar el color, te en<strong>con</strong>trarás <strong>con</strong> que<br />

<strong>SEXTANTE</strong> te lo permite, pero luego no sabe cómo usarlo, <strong>con</strong> lo cual no <strong>con</strong>sigues el efecto<br />

<strong>de</strong>seado. Por ejemplo, abre el archivo esp.shp, que <strong>con</strong>tiene un mapa <strong>de</strong> España dividido en<br />

polígonos que representan sus comunida<strong>de</strong>s autónomas.<br />

Si intentas representar la capa <strong>con</strong> un color diferente para cada comunidad autónoma, esto<br />

no te será posible, ya que el campo que <strong>con</strong>tiene esa información es alfanumérico. Si haces clic<br />

sobre el nombre <strong>de</strong> la capa <strong>con</strong> el botón <strong>de</strong>recho en la pestaña <strong>de</strong> datos, verás un comando<br />

<strong>de</strong>nominado Crear Tabla <strong>de</strong> Asignación, que te lleva a la siguiente ventana <strong>de</strong> parámetros.


5.2. REPRESENTACIÓN DE CAPAS VECTORIALES 51<br />

Selecciona el atributo que <strong>de</strong>sees utilizar, y <strong>SEXTANTE</strong> <strong>de</strong> forma automática creará una<br />

tabla que pue<strong>de</strong>s usar para la representación. De hecho, cambia automáticamente los ajustes <strong>de</strong><br />

la capa para que la clasificación <strong>de</strong> colores se base en la información <strong>de</strong> dicha tabla. Aquí pue<strong>de</strong>s<br />

ver la misma para la capa <strong>de</strong> España.<br />

En lugar <strong>de</strong> seguir trabajando <strong>con</strong> este mapa <strong>de</strong> España, para ver los parámetros adicionales<br />

que pue<strong>de</strong>n ajustarse en una capa vectorial <strong>de</strong> polígonos, abre ahora el archivo cuencas.shp.<br />

Este archivo <strong>con</strong>tiene las cuencas vertientes asociadas a los cauces <strong>de</strong> la capa ya abierta, y la<br />

combinación <strong>de</strong> ambas en un mapa <strong>de</strong>be tener un aspecto similar al siguiente<br />

He ajustado los colores para una mejor apariencia. Intenta <strong>con</strong>seguir un efecto parecido<br />

ajustando los campos que ya <strong>con</strong>oces. No te será difícil.<br />

Para la capa <strong>de</strong> polígonos en<strong>con</strong>tramos un grupo <strong>de</strong> parámetros bajo el grupo Pantalla.<br />

El primero <strong>de</strong> ellos, <strong>de</strong>nominado Relleno <strong>con</strong>trola el tipo <strong>de</strong> relleno interior que se aplica a


52 CAPÍTULO 5. TRABAJO CON CAPAS VECTORIALES<br />

cada polígono, que por <strong>de</strong>fecto es Opaco. En el caso <strong>de</strong>l mapa mostrado en la imagen, éste es<br />

el relleno más a<strong>de</strong>cuado, pero si existen otras capas por <strong>de</strong>bajo, tal vez sea más <strong>con</strong>veniente<br />

utilizar otro tipo, por ejemplo uno transparente. Para enten<strong>de</strong>r esto, mira el siguiente ejemplo<br />

creado <strong>con</strong> el MDT sombreado y la capa <strong>de</strong> cuencas.<br />

Los campos Bor<strong>de</strong> y Color <strong>de</strong> Bor<strong>de</strong> permiten especificar si se <strong>de</strong>sea trazar el <strong>con</strong>torno <strong>de</strong><br />

cada polígono y, en caso afirmativo, el color a emplear para ello. Si utilizas el relleno Transparente<br />

como en el caso anterior, <strong>de</strong>bes obligatoriamente dibujar el bor<strong>de</strong> <strong>de</strong> los polígonos. ¡De<br />

otro modo no veras nada!<br />

Los restantes rellenos (es <strong>de</strong>cir, todos excepto Opaco y Transparente son tramas <strong>de</strong> distinta<br />

forma, y permiten hacer un uso interesante <strong>de</strong> ellos. Por ejemplo, si queremos representar dos<br />

variables <strong>de</strong> las asociadas a cada cuenca (lease, el numero <strong>de</strong> cuenca y su área), po<strong>de</strong>mos<br />

cargar dos veces la misma capa (esto es posible en <strong>SEXTANTE</strong> sin problema alguno, aunque<br />

tendrás que darles un distinto nombre para no <strong>con</strong>fundirlas) y representar cada una <strong>de</strong> ellas<br />

<strong>con</strong> una trama distinta y su escala <strong>de</strong> colores correspondiente asociada a cada uno <strong>de</strong> esos<br />

campos.<br />

Aquí tienes un ejemplo <strong>de</strong> como podría quedar el mapa así compuesto.<br />

Intenta hacerlo por ti mismo. Ahora ya tienes <strong>con</strong>ocimiento suficiente para ello.<br />

Nos queda por último analizar las capas <strong>de</strong> puntos. Éstas pue<strong>de</strong>n <strong>con</strong>si<strong>de</strong>rarse como un<br />

punto intermedio entre líneas y polígonos. El tamaño <strong>de</strong>l punto pue<strong>de</strong> regularse <strong>de</strong> la misma<br />

forma que el grosor <strong>de</strong> las líneas, aunque en este caso el tamaño también pue<strong>de</strong> ser relativo


5.3. SELECCIÓN. LA TABLA DE ATRIBUTOS. 53<br />

o absoluto, al igual que suce<strong>de</strong> <strong>con</strong> las etiquetas. Una vez se ha hecho esto, la representación<br />

sobre el mapa <strong>de</strong> los puntos en sí sigue un mecanismo similar al <strong>de</strong> los polígonos, como si cada<br />

punto fuera un pequeño polígono a efectos <strong>de</strong> su trazado en pantalla. Si quieres comprobar esto<br />

por ti mismo y experimentar (es recomendable), en la carpeta <strong>de</strong> datos <strong>de</strong> ejemplo en<strong>con</strong>trarás<br />

el archivo centroi<strong>de</strong>s.shp que <strong>con</strong>tiene los centros <strong>de</strong> gravedad <strong>de</strong> cada una <strong>de</strong> las cuencas<br />

vertientes <strong>con</strong> las que hemos estado trabajando.<br />

5.3. Selección. <strong>La</strong> tabla <strong>de</strong> atributos.<br />

Cuando tratamos los aspectos fundamentales <strong>de</strong>l trabajo <strong>con</strong> mapas, vimos que la herramienta<br />

Selección servía para seleccionar una o varias entida<strong>de</strong>s en caso <strong>de</strong> que la capa activa<br />

fuera <strong>de</strong> tipo vectorial. En este apartado veremos algo más acerca <strong>de</strong>l proceso <strong>de</strong> selección <strong>de</strong><br />

entida<strong>de</strong>s, no solo relacionado <strong>con</strong> la representación <strong>de</strong> la capa en el mapa en sí, sino <strong>con</strong> otro<br />

elemento clave como es la tabla asociada a la misma.<br />

Para cada una <strong>de</strong> las capas vectoriales que tengas abiertas, si haces clic en la cruz a la<br />

izquierda <strong>de</strong> su nombre el árbol muestra un nuevo nivel en el que se <strong>con</strong>tiene la tabla <strong>con</strong> los<br />

campos asociados a la capa. Esta tabla no aparece bajo el grupo Tablas, pero pue<strong>de</strong>s usarla<br />

como si fuera una <strong>de</strong> ellas. Haz doble clic en su nombre para mostrarla.<br />

Cuando seleccionas una entidad en el mapa pue<strong>de</strong>s ver cómo su color cambia a amarillo<br />

<strong>de</strong> forma que puedas <strong>de</strong> un vistazo saber cuáles están seleccionadas y cuáles no. Pero no sólo<br />

es en el mapa don<strong>de</strong> quedan marcadas las entida<strong>de</strong>s seleccionadas, sino también en la tabla<br />

asociada. Abre ambas ventanas y compruébalo.


54 CAPÍTULO 5. TRABAJO CON CAPAS VECTORIALES<br />

<strong>La</strong> relación es recíproca, <strong>de</strong> tal modo que si modificas la selección en la tabla también el<br />

mapa se actualiza para reflejar este cambio.<br />

Para seleccionar en el mapa pue<strong>de</strong>s simplemente hacer clic sobre una entidad, o marcar<br />

una selección múltiple pinchando y arrastrando para cubrir un área. Si mantienes presionada<br />

la tecla Mayúsculas, la selección no sustituye a la anterior, sino que se aña<strong>de</strong> a ésta.<br />

Para marcar en la tabla, el funcionamiento es igual al <strong>de</strong> cualquier hoja <strong>de</strong> cálculo o base<br />

<strong>de</strong> datos. Pue<strong>de</strong>s seleccionar una celda o un rango, así como utilizar las teclas Mayúsculas o<br />

Ctrl para selecciones múltiples.<br />

Po<strong>de</strong>mos usar esto junto <strong>con</strong> la capacidad <strong>de</strong> or<strong>de</strong>nar la tabla según un campo, para<br />

seleccionar las cuencas <strong>de</strong> menor tamaño. El archivo <strong>de</strong> cuencas vertientes esta generado a<br />

partir <strong>de</strong> una capa vectorial <strong>de</strong> cuencas, la cual ha sido generada a partir <strong>de</strong> un MDT. Estos<br />

procesos se realizan empleando módulos <strong>de</strong> <strong>SEXTANTE</strong> y, <strong>de</strong>pendiendo <strong>de</strong> la calidad <strong>de</strong>l<br />

MDT, en ocasiones aparecen cuencas residuales <strong>de</strong> muy pequeño tamaño (una celda o unas<br />

pocas <strong>de</strong> ellas), que no interesan y es recomendable eliminar. Prueba a seleccionarlas haciendo<br />

uso <strong>de</strong> lo que ya sabes. Después veremos cómo eliminarlas.<br />

Un último apartado reseñable es el hecho <strong>de</strong> que, al seleccionar una entidad, la información<br />

correspondiente a la misma aparece en una tabla <strong>de</strong> dos columnas en la pestaña Atributos.


5.4. EDICIÓN DE CAPAS VECTORIALES 55<br />

De este modo pue<strong>de</strong>s <strong>con</strong>ocer qué valores tiene asociados sin tener que buscarla en la tabla,<br />

sino pudiendo seleccionarla <strong>de</strong> forma más visual.<br />

En caso <strong>de</strong> que la selección no sea única, la información en la pestaña Atributos correspon<strong>de</strong><br />

al primero <strong>de</strong> los elementos seleccionados.<br />

Tanto en la tabla <strong>de</strong> la capa al completo como en esta tabla resumen <strong>de</strong> los campos<br />

asociados a una única entidad, pue<strong>de</strong>s modificar los valores e introducir otros nuevos. Cuando<br />

hayas hecho esto, no olvi<strong>de</strong>s guardar la capa para actualizar los cambios en el fichero. Al igual<br />

que en el caso <strong>de</strong> una capa raster, pincha <strong>con</strong> el botón <strong>de</strong>recho en el nombre <strong>de</strong> la capa y<br />

selecciona Guardar Capa Vectorial.<br />

5.4. Edición <strong>de</strong> capas vectoriales<br />

A<strong>de</strong>más <strong>de</strong> modificar el <strong>con</strong>tenido <strong>de</strong> la tabla asociada, es posible editar las entida<strong>de</strong>s en<br />

sí, es <strong>de</strong>cir, la forma <strong>de</strong> éstas y sus propieda<strong>de</strong>s geográficas. No solo es posible hacer esto, sino<br />

que también pue<strong>de</strong>s incluir nuevas entida<strong>de</strong>s (para cada una <strong>de</strong> las cuales aparecerá un nuevo<br />

registro en la tabla asociada cuyos datos también <strong>de</strong>berás editar), o eliminar otras.<br />

<strong>La</strong> edición <strong>de</strong> entida<strong>de</strong>s vectoriales requiere una larga serie <strong>de</strong> herramientas para po<strong>de</strong>r<br />

llevarse a cabo en las mejores <strong>con</strong>diciones, y <strong>SEXTANTE</strong> solo incluye una pequeña parte <strong>de</strong><br />

ellas. No obstante, éstas son las más fundamentales y es probable que sean más que suficientes<br />

para el trabajo que <strong>de</strong>sees hacer. Una vez más, todo <strong>de</strong>pen<strong>de</strong> <strong>de</strong> las necesida<strong>de</strong>s que tengas.<br />

Si lo único que preten<strong>de</strong>s es digitalizar una gran cantidad <strong>de</strong> información, <strong>SEXTANTE</strong> no es<br />

tu programa (pue<strong>de</strong>s hacerlo, pero no es ni <strong>de</strong> lejos la forma óptima). En la mayoría <strong>de</strong> casos,<br />

probablemente las herramientas <strong>de</strong> edición incluidas en <strong>SEXTANTE</strong> sean suficientes para tus<br />

objetivos.<br />

De igual modo que veíamos para el caso <strong>de</strong> su representación en pantalla, existen pequeñas<br />

diferencias según se trabaje <strong>con</strong> una capa <strong>de</strong> puntos, <strong>de</strong> líneas o <strong>de</strong> polígonos. Para el <strong>de</strong>sarrollo<br />

<strong>de</strong> este apartado utilizaremos la capa <strong>de</strong> cauces (es <strong>de</strong>cir, una capa <strong>de</strong> líneas), aunque se<br />

señalarán las diferencias existentes. Pue<strong>de</strong>s comprobarlas tu mismo probando a trabajar <strong>con</strong><br />

las capas <strong>de</strong> cuencas y centroi<strong>de</strong>s que ya <strong>con</strong>oces, para así probar todas las posibilida<strong>de</strong>s.<br />

5.4.1. <strong>La</strong> jerarquía vectorial<br />

Antes <strong>de</strong> que empecemos a <strong>de</strong>tallar los comandos y acciones <strong>de</strong> edición y nos pongamos a<br />

modificar una capa, es necesario que <strong>con</strong>ozcas algo más sobre la estructura subyacente en toda<br />

capa vectorial. <strong>La</strong>s diferentes entida<strong>de</strong>s se almacenan y son manejadas por <strong>SEXTANTE</strong> <strong>de</strong> una<br />

forma <strong>con</strong>creta que <strong>de</strong>bes <strong>con</strong>ocer para po<strong>de</strong>r <strong>de</strong>spués operar <strong>con</strong> ellas. A<strong>de</strong>más, la terminología<br />

empleada en los menús y comandos se basa en esta estructura, por lo que cuanto antes te<br />

familiarices <strong>con</strong> ella más fácil te resultará <strong>de</strong>spués ir comprendiendo cada funcionalidad.<br />

El elemento superior <strong>de</strong> esta jerarquía ya es <strong>con</strong>ocido por ti: la capa. Una capa se almacena<br />

en un único archivo, y <strong>con</strong>tiene un numero dado <strong>de</strong> entida<strong>de</strong>s. En una sola capa pue<strong>de</strong>n<br />

coexistir tan sólo entida<strong>de</strong>s <strong>de</strong> una única naturaleza, es <strong>de</strong>cir, puntos, líneas o polígonos.<br />

Existe otro tipo <strong>de</strong> capa <strong>de</strong>nominada <strong>de</strong> ✭✭multipunto✮✮, pero <strong>con</strong>ceptualmente es similar a la<br />

<strong>de</strong> puntos, así que aquí al inicio prescindiré <strong>de</strong> ella para hacer la explicación más sencilla.<br />

Por supuesto, ya sabes que pue<strong>de</strong>s combinar en un mapa capas <strong>de</strong> distinta naturaleza, incluso<br />

capas raster, pero no te <strong>con</strong>fundas, un mapa es una cosa bien distinta y no forma parte <strong>de</strong><br />

esta jerarquía que aquí se <strong>de</strong>scribe.<br />

Cada una <strong>de</strong> las entida<strong>de</strong>s que componen la capa tiene asociada una entrada en la tabla <strong>de</strong><br />

atributos. Lo habitual es que cada entidad se componga <strong>de</strong> una única parte, pero <strong>SEXTANTE</strong><br />

soporta el uso <strong>de</strong> múltiples partes. Veamos lo que todo esto significa <strong>con</strong> un pequeño ejemplo.


56 CAPÍTULO 5. TRABAJO CON CAPAS VECTORIALES<br />

Imagina que tienes una capa <strong>de</strong> polígonos que representan países. Su tabla <strong>de</strong> atributos<br />

<strong>con</strong>tendrá atributos tales como Población, Superficie, Producto Interior Bruto o similares.<br />

Algunos países como Alemania se pue<strong>de</strong>n representar empleando un único polígono, pero<br />

otros como España necesitarán varios para incluir, por ejemplo, las Islas Canarias. En otras<br />

palabras, el <strong>con</strong>torno <strong>de</strong> los territorios <strong>de</strong> Alemania pue<strong>de</strong> dibujarse en el papel sin levantar<br />

el lápiz, mientras que en el <strong>de</strong> España esto no es posible.<br />

Con in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> lo anterior, es obvio que todos los territorios españoles <strong>de</strong>ben estar<br />

asociados a una única entrada en la tabla, ya que comparten los mismos valores en los campos<br />

<strong>de</strong> la misma. Es <strong>de</strong>cir, que el uso <strong>de</strong> partes nos permite tener entida<strong>de</strong>s que se componen <strong>de</strong><br />

varios elementos disgregados, que sin embargo se hayan relacionados <strong>con</strong> un único registro.<br />

Si trabajas <strong>con</strong> una capa <strong>con</strong> alguna entidad que <strong>con</strong>tenga múltiples partes, al seleccionar<br />

cualquiera <strong>de</strong> dichas partes se seleccionaran todas las restantes, ya que pertenecen a la misma<br />

entidad. Si pinchases sobre Madrid, las Islas Canarias se seleccionarían, aunque a simple vista<br />

parezcan aisladas y pertenecientes a una entidad distinta. Lógico, ¿no?.<br />

Si seguimos bajando en la jerarquía, llegamos ya hasta su último elemento: el punto. En<br />

ultima instancia, toda la información vectorial pue<strong>de</strong> ser expresada mediante puntos. <strong>La</strong>s lineas<br />

se <strong>de</strong>finen mediante sus nodos (que no son sino puntos), los polígonos mediante sus vértices<br />

(que también son puntos), y los puntos...son obviamente puntos! A la hora <strong>de</strong> modificar una<br />

capa vectorial (sea <strong>de</strong>l tipo que sea) se trabaja directamente <strong>con</strong> los puntos, y son estos sobre<br />

los que pue<strong>de</strong>s actuar, como pronto veremos.<br />

Mejor que hablar <strong>de</strong> todo esto, aquí tienes un esquema que seguramente te ayudará a<br />

compren<strong>de</strong>r mejor la forma en que se estructura la información vectorial en <strong>SEXTANTE</strong>.<br />

5.4.2. Edición <strong>de</strong> entida<strong>de</strong>s<br />

Ahora que ya <strong>con</strong>oces cómo se organizan internamente los elementos <strong>de</strong> una capa vectorial,<br />

es momento <strong>de</strong> comenzar a editar una <strong>de</strong> ellas. Abre un nuevo mapa que <strong>con</strong>tenga únicamente<br />

la capa <strong>de</strong> cauces.


5.4. EDICIÓN DE CAPAS VECTORIALES 57<br />

Para modificar una cualquiera <strong>de</strong> las entida<strong>de</strong>s, primero <strong>de</strong>bes seleccionarla. <strong>La</strong> capa<br />

está por <strong>de</strong>fecto bloqueada para su edición, así que hay que activar ésta y ello se hace para una<br />

única entidad. Si lo que <strong>de</strong>seas es borrar una o varias entida<strong>de</strong>s, o añadir una nueva, entonces<br />

no es necesario, pero si <strong>de</strong>seas editar una parte <strong>de</strong> una entidad o añadir a la misma otra parte<br />

nueva, entonces selecciónala y <strong>de</strong>spués haz clic en el menú Editar Entidad Seleccionada. Pue<strong>de</strong>s<br />

en<strong>con</strong>trar este menú haciendo clic <strong>con</strong> el botón <strong>de</strong>recho en el nombre <strong>de</strong> la capa a editar y<br />

buscando en el menú que aparece <strong>de</strong>ntro <strong>de</strong> la lista Edición. También, <strong>de</strong> forma más rápida,<br />

haciendo clic <strong>con</strong> el botón <strong>de</strong>recho sobre el mapa que <strong>con</strong>tenga la capa a editar.<br />

Si la selección es múltiple, tan sólo la primera entidad seleccionada se activa para edición.<br />

A la hora <strong>de</strong> editar, únicamente es útil seleccionar muchas entida<strong>de</strong>s cuando se <strong>de</strong>seen eliminar<br />

éstas <strong>de</strong> una sola vez, pero para los <strong>de</strong>más casos no tiene utilidad alguna.<br />

Una vez que la edición <strong>de</strong> una entidad está activada para edición, su aspecto varía, y cada<br />

uno <strong>de</strong> sus puntos (recuerda que toda entidad se compone en ultima instancia <strong>de</strong> puntos) se<br />

marca <strong>con</strong> un pequeño cuadradito. Selecciona un tramo <strong>de</strong> cauce y actívalo para edición. Verás<br />

algo como lo siguiente.<br />

Esa masa negra correspon<strong>de</strong> a todos esos cuadraditos solapándose, ya que la capa tiene<br />

mucho más <strong>de</strong>talle que el que pue<strong>de</strong>s apreciar a esta escala. Acércate y verás algo similar a<br />

esto.<br />

Pue<strong>de</strong>s hacer dos cosas: añadir nuevos puntos entre los actuales, o <strong>de</strong>splazar los que ya<br />

existen. De este modo, pue<strong>de</strong>s modificar la geometría <strong>de</strong> la entidad a tu antojo.<br />

Si te sitúas sobre un punto, el cursor tomara un aspecto como el siguiente.


58 CAPÍTULO 5. TRABAJO CON CAPAS VECTORIALES<br />

Esto indica que pue<strong>de</strong>s <strong>de</strong>splazar el punto. Simplemente haz clic y arrástralo hasta colocarlo<br />

en su nueva posición. Al hacer esto, el punto queda seleccionado y el cuadrado que lo <strong>de</strong>limita<br />

pasa a ser <strong>de</strong> color rojo.<br />

Pue<strong>de</strong>s eliminar el punto seleccionado utilizando el menú Edición/Eliminar Punto Seleccionado.<br />

Para añadir un nuevo punto, sitúate en el lugar don<strong>de</strong> <strong>de</strong>sees hacerlo, en la linea que une<br />

dos puntos <strong>con</strong>tiguos. El cursor cambiará a uno como el mostrado a <strong>con</strong>tinuación.<br />

Simplemente haz clic y un nuevo punto aparecerá en tu posición actual. Pue<strong>de</strong>s <strong>de</strong>splazar<br />

éste a tu antojo o eliminarlo, tal y como harías <strong>con</strong> uno <strong>de</strong> los puntos ya existentes.<br />

Todas las entida<strong>de</strong>s <strong>de</strong> esta capa se componen <strong>de</strong> una única parte, pero pue<strong>de</strong>s añadir<br />

nuevas partes a cualquiera <strong>de</strong> ellas. Para añadir una a la entidad <strong>con</strong> la que estas trabajando<br />

(ésta <strong>de</strong>be estar en modo <strong>de</strong> edición), selecciona el menú Edición/Añadir Nueva Parte. Una vez<br />

hagas esto, la próxima vez que pinches sobre el mapa en cualquier punto vacío, se añadirá un<br />

nuevo punto y <strong>de</strong>s<strong>de</strong> ese mismo se irán enlazando los siguientes hasta <strong>con</strong>formar la nueva línea<br />

(recuerda que trabajamos <strong>con</strong> una capa <strong>de</strong> líneas). Cuando termines <strong>de</strong> añadir puntos, usa el<br />

botón <strong>de</strong>recho y la parte habrá quedado por completo <strong>de</strong>finida.<br />

Este es uno <strong>de</strong> los puntos don<strong>de</strong> existen diferencias entre los distintos tipos <strong>de</strong> capas<br />

vectoriales. Para el caso <strong>de</strong> las líneas y los polígonos, una parte pue<strong>de</strong> <strong>con</strong>tener muchos puntos.<br />

Estos se introducen <strong>de</strong> la manera que acabamos <strong>de</strong> ver, indicando el final mediante un clic<br />

<strong>con</strong> el botón <strong>de</strong>recho <strong>de</strong>l ratón. Si estamos trazando unas líneas, <strong>SEXTANTE</strong> no aña<strong>de</strong> nada<br />

a lo que po<strong>de</strong>mos ver en el mapa según estamos editando. Si, por el <strong>con</strong>trario, trabajamos


5.4. EDICIÓN DE CAPAS VECTORIALES 59<br />

<strong>con</strong> polígonos, el programa cierra el polígono y aña<strong>de</strong> una linea que va <strong>de</strong>s<strong>de</strong> el último punto<br />

añadido hasta el primero <strong>con</strong> el cual comenzamos la creación <strong>de</strong> la parte.<br />

Cada entidad <strong>de</strong> un tema <strong>de</strong> puntos es un único punto, <strong>de</strong> tal modo que si estamos editando<br />

un tema <strong>de</strong> puntos no tenemos necesidad <strong>de</strong> hacer clic <strong>con</strong> el botón <strong>de</strong>recho <strong>de</strong>l ratón para<br />

indicar el final <strong>de</strong> la parte, puesto que todo punto que añadamos es en sí un punto final.<br />

Esto hace que, si una vez hemos añadido un punto, añadimos otro, éste no se aña<strong>de</strong>, sino que<br />

reemplaza al anterior <strong>de</strong> forma que en todo momento exista un único punto.<br />

<strong>La</strong>s capas <strong>de</strong> multipuntos son como las capas <strong>de</strong> puntos pero sí pue<strong>de</strong>n <strong>con</strong>tener varios<br />

<strong>de</strong> ellos en una sola entidad. En este sentido, son como las capas <strong>de</strong> líneas o polígonos, solo<br />

que sin enlace entre los puntos que <strong>con</strong>stituyen la entidad. Tampoco en este caso es necesario<br />

<strong>de</strong>finir un punto final, puesto que por la propia <strong>de</strong>finición <strong>de</strong> este tipo <strong>de</strong> capas, este <strong>con</strong>cepto<br />

carece <strong>de</strong> sentido.<br />

Una vez más, te invito a que edites las capas restantes que en<strong>con</strong>trarás en el directorio <strong>de</strong><br />

datos <strong>de</strong> ejemplo, para que veas sobre el terreno estas diferencias y experimentes por ti mismo.<br />

Para finalizar, veamos cómo eliminar toda una parte <strong>de</strong> una entidad. Cuando seleccionas<br />

un punto <strong>de</strong>ntro <strong>de</strong> una entidad, la parte a la que pertenece también queda seleccionada<br />

(aunque esto no se refleje <strong>de</strong> forma explícita en la representación en el mapa). Pue<strong>de</strong>s eliminar<br />

dicha parte (la que se encuentra en cada momento seleccionada), usando el comando<br />

Edición/Eliminar Parte Seleccionada.<br />

Cuando hayas terminado <strong>de</strong> editar una entidad, vuelve a seleccionar el menú Edición/Editar<br />

Entidad Seleccionada, que <strong>de</strong>berá tener en este momento una marca junto a él. <strong>SEXTANTE</strong><br />

te pedirá que <strong>con</strong>firmes que en efecto quieres guardar los cambios que has hechos.<br />

5.4.3. Enlace automático (snap)<br />

Al editar, por ejemplo, una capa <strong>de</strong> polígonos en la cual dichos polígonos son adyacentes,<br />

interesa que esa adyacencia se produzca <strong>de</strong> la forma más exacta posible. En lugar <strong>de</strong> tener que<br />

hacer dicho ajuste <strong>de</strong> forma puramente visual, po<strong>de</strong>mos forzar a que <strong>SEXTANTE</strong> lleve a cabo<br />

un ajuste automático y ✭✭pegue✮✮ los nuevos nodos que añadimos a las entida<strong>de</strong>s ya existentes<br />

para que ni se solapen ni que<strong>de</strong>n espacios intermedios entre las entida<strong>de</strong>s <strong>de</strong>finidas.<br />

Para llevar esto a cabo, se <strong>de</strong>be <strong>de</strong>finir una distancia máxima <strong>de</strong> ajuste. Al introducir un<br />

punto, <strong>SEXTANTE</strong> comprueba todas las entida<strong>de</strong>s circundantes y, en caso <strong>de</strong> que alguna se<br />

encuentre a una distancia menor que dicho umbral máximo, supone que intentamos situar el<br />

punto en posición adyacente a dicha entidad, y modifica la coor<strong>de</strong>nada introducida para que<br />

se produzca este ajuste.<br />

Si recuerdas, había dos campos que no <strong>de</strong>tallamos en la ventana <strong>de</strong> parámetros <strong>de</strong> una<br />

capa vectorial: Distancia <strong>de</strong> Enlace y Enlazar a....<br />

En el primero <strong>de</strong> ellos introduce la distancia umbral expresada en las unida<strong>de</strong>s <strong>de</strong> la capa<br />

que estés editando, y en el segundo selecciona la capas (es una lista) a cuyas entida<strong>de</strong>s <strong>de</strong>seas


60 CAPÍTULO 5. TRABAJO CON CAPAS VECTORIALES<br />

ajustarte. Lo habitual, como en el caso anterior mostrado, es que al editar una capa esta se<br />

ajuste a sus propias entida<strong>de</strong>s (es <strong>de</strong>cir, que <strong>de</strong>be seleccionarse aquí el propio nombre <strong>de</strong> la<br />

capa), aunque pue<strong>de</strong>s elegir cualquier otra a<strong>de</strong>más <strong>de</strong> ésta. Si no <strong>de</strong>seas que se produzca este<br />

ajuste automático, simplemente no añadas capas a la lista.<br />

Si te fijas, durante la edición aparece en la esquina superior un circulo <strong>de</strong> tamaño variable.<br />

Este circulo tiene como radio la distancia <strong>de</strong> ajuste umbral establecida, <strong>de</strong> forma que pue<strong>de</strong>s<br />

tener una i<strong>de</strong>a <strong>de</strong> cuanto <strong>de</strong>bes ✭✭afinar✮✮ al introducir puntos si quieres que se produzca ese<br />

enlace automático.<br />

5.4.4. Añadir una nueva entidad<br />

Pue<strong>de</strong>s modificar una capa no solamente editando las entida<strong>de</strong>s que <strong>con</strong>tiene, sino añadiendo<br />

otras nuevas a la misma.<br />

Para añadir una nueva entidad a una capa, selecciona Edición/Añadir entidad. Después <strong>de</strong><br />

esto, ya pue<strong>de</strong>s empezar a añadir puntos simplemente haciendo clic sobre el mapa en el lugar<br />

don<strong>de</strong> <strong>de</strong>sees emplazarlos. El proceso es como si añadieras una nueva parte a una entidad que<br />

no tiene ninguna todavía.<br />

No olvi<strong>de</strong>s que al añadir una entidad se aña<strong>de</strong> también una entrada en la tabla <strong>de</strong> atributos.<br />

Para completar la información <strong>de</strong> la nueva entidad no solo <strong>de</strong>bes <strong>de</strong>finir su geometría, sino<br />

también rellenar los campos asociados a la misma en la tabla.<br />

5.4.5. Crear una nueva capa vectorial<br />

Crear una nueva capa es una parte fundamental <strong>de</strong> la edición vectorial, ya que nos permite<br />

no sólo modificar las ya existentes, sino añadir nuestra propia información <strong>de</strong>s<strong>de</strong> cero.<br />

Crear una nueva capa es el punto <strong>de</strong> inicio para, por ejemplo, proce<strong>de</strong>r a la digitalización <strong>de</strong><br />

información.<br />

No obstante, al igual que sucedía <strong>con</strong> las tablas, la creación <strong>de</strong> nuevas capas se dispone<br />

<strong>de</strong>ntro <strong>de</strong> <strong>SEXTANTE</strong> en un módulo in<strong>de</strong>pendiente, y la veremos cuando alcancemos el<br />

capítulo sobre módulos para capas vectoriales.<br />

Una vez creada la capa, pue<strong>de</strong> añadirse información a la misma y editar ésta según lo<br />

<strong>de</strong>scrito anteriormente.


Trabajo <strong>con</strong> TINs<br />

6.1. Introducción<br />

Capítulo 6<br />

Aunque los tipos <strong>de</strong> datos que hemos visto hasta el momento (tablas, mallas raster y<br />

capas vectoriales) son, <strong>con</strong> mucha diferencia, los más utilizados para todo tipo <strong>de</strong> información<br />

geográfica, <strong>SEXTANTE</strong> tiene soporte para otro tipo <strong>de</strong> objetos como las re<strong>de</strong>s <strong>de</strong> triángulos<br />

irregulares o TINs (por su <strong>de</strong>nominación inglesa: Triangulated Irregular Networks).<br />

Realmente, un TIN es una capa vectorial, pero <strong>de</strong>ntro <strong>de</strong> <strong>SEXTANTE</strong> este tipo <strong>de</strong> datos se<br />

manejan <strong>de</strong> modo distinto, <strong>con</strong>si<strong>de</strong>rándose como una clase aparte. De todas formas, veremos<br />

cómo su manejo es muy similar al <strong>de</strong> una capa vectorial cualquiera.<br />

Los TINs son utilizados principalmente para representar terrenos, es <strong>de</strong>cir, como una alternativa<br />

vectorial para los Mo<strong>de</strong>los Digitales <strong>de</strong>l Terreno, sobre la que pue<strong>de</strong> a su vez llevarse<br />

a cabo una parte <strong>de</strong>l <strong>análisis</strong> morfométrico e hidrológico que <strong>con</strong> éstos es habitual.<br />

El fundamento sobre el que se asienta un TIN es la extracción <strong>de</strong> los puntos más representativos<br />

<strong>de</strong> la superficie a <strong>de</strong>finir, estableciéndose planos triangulares <strong>con</strong> dichos puntos, los<br />

cuales representan las facetas <strong>de</strong>l terreno.<br />

Los TINs se almacenan en <strong>SEXTANTE</strong> como shapefiles, y no hay un formato especial para<br />

almacenar un TIN. El tratamiento especial viene dado por el programa, una vez que cargas<br />

la capa como TIN y no como una simple capa vectorial.<br />

Por esta razón, no en<strong>con</strong>trarás opción <strong>de</strong> grabar el TIN al hacer clic sobre su nombre <strong>con</strong><br />

el botón <strong>de</strong>recho <strong>de</strong>l ratón. Veremos más a<strong>de</strong>lante cómo <strong>con</strong>vertirlo en una serie <strong>de</strong> capas<br />

vectoriales, las cuales ya pue<strong>de</strong>s almacenar <strong>de</strong> la forma que <strong>con</strong>oces.<br />

6.2. Representación <strong>de</strong> TINs<br />

<strong>La</strong> ventana <strong>de</strong> parámetros que <strong>con</strong>trolan la representación <strong>de</strong> un TIN apenas requiere<br />

explicación, puesto que la mayoría <strong>de</strong> dichos parámetros ya aparecían en el caso <strong>de</strong> capas<br />

vectoriales, y su significado y función en este caso son idénticos.<br />

Únicamente dos parámetros nuevos aparecen en esta ventana.<br />

Como se ha dicho, el TIN se compone <strong>de</strong> una serie <strong>de</strong> puntos representativos, sobre los<br />

cuales se establece una red <strong>de</strong> triángulos. A la hora <strong>de</strong> representar este <strong>con</strong>junto, pue<strong>de</strong> elegirse<br />

61


62 CAPÍTULO 6. TRABAJO CON TINS<br />

si representar dichos puntos, las líneas que los unen, o ambos. Selecciona (o no) los campos<br />

Mostrar Puntos y Mostrar Bor<strong>de</strong>s para llevar a cabo este ajuste.


Algo más sobre mapas<br />

Capítulo 7<br />

En el capítulo <strong>de</strong> fundamentos hemos visto cómo crear un mapa y añadir diferentes capas<br />

al mismo. Asimismo, sabemos ya como utilizar ese mapa y <strong>de</strong>splazarnos por el, <strong>de</strong> forma<br />

que po<strong>de</strong>mos sacar el mayor rendimiento posible <strong>de</strong>l mismo Todo esto, combinado <strong>con</strong> los<br />

ajustes particulares para la representación <strong>de</strong> cada tipo <strong>de</strong> capa, hacen que tengamos suficiente<br />

<strong>con</strong>ocimiento como para aprovechar en gran medida las capacida<strong>de</strong>s gráficas <strong>de</strong> <strong>SEXTANTE</strong><br />

y crear mapas <strong>de</strong> <strong>con</strong>tenido y apariencia óptimos.<br />

No obstante, hay algunas funcionalida<strong>de</strong>s accesorias que no hemos tratado aún y que<br />

aña<strong>de</strong>n algunas capacida<strong>de</strong>s adicionales a lo que por el momento <strong>con</strong>ocemos. Por ser menos<br />

habituales y <strong>con</strong>stituir una parte distinta <strong>de</strong>l programa, las hemos reunido en este capítulo y<br />

no en uno anterior, <strong>con</strong>si<strong>de</strong>rando a<strong>de</strong>más que ahora, <strong>con</strong> los <strong>con</strong>ocimientos ya adquiridos, es<br />

un mejor momento para tratarlas en profundidad y utilizarlas como correspon<strong>de</strong>.<br />

7.1. Sincronizando la extensión <strong>de</strong> varios mapas<br />

Es corriente trabajar <strong>con</strong> varios mapas a la vez <strong>de</strong>ntro <strong>de</strong> una misma sesión <strong>de</strong> <strong>SEXTANTE</strong>.<br />

Estos diferentes mapas pue<strong>de</strong>n representar diferentes regiones geográficas, pero lo habitual es<br />

que representen una misma aunque <strong>con</strong> diferente información <strong>con</strong>tenida en ellos. Por ejemplo,<br />

pue<strong>de</strong>s tener un mapa <strong>de</strong> carácter físico y uno político, usando distintas capas para cada uno<br />

<strong>de</strong> ellos, aunque todas cubran la misma extensión geográfica. También pue<strong>de</strong> ser que tengas<br />

dos o más capas raster <strong>con</strong> diferentes variables y tengas abiertos los mapas correspondientes<br />

a las mismas para comparar su valores.<br />

En este caso, es interesante hacer que la extensión cubierta por todos los mapas sea la<br />

misma, especialmente a efectos <strong>de</strong> comparación. Si usas las herramientas <strong>de</strong> zoom en un mapa<br />

y luego en otro distinto, <strong>SEXTANTE</strong> no actualiza una en función <strong>de</strong> la otra, por lo que pue<strong>de</strong><br />

ser que no exista coinci<strong>de</strong>ncia en el marco <strong>de</strong> representación <strong>de</strong> dichos mapas.<br />

Para utilizar una misma extensión <strong>de</strong>bes utilizar el comando Sincronizar Extensión <strong>de</strong><br />

Mapa, que en<strong>con</strong>trarás al hacer clic sobre el nombre <strong>de</strong> un mapa. <strong>La</strong> extensión <strong>de</strong> este mapa<br />

será la utilizada para visualizar los restantes.<br />

7.2. Ajustando la rampa <strong>de</strong> colores a la zona visible<br />

Uno <strong>de</strong> los ajustes relativos a la representación <strong>de</strong> las capas era el referente a los valores que<br />

actúan como límite para el uso <strong>de</strong> la rampa <strong>de</strong> color especificada. Si recuerdas, estos límites se<br />

establecían en el campo Rango <strong>de</strong> Valores, y en el caso <strong>de</strong> tratarse <strong>de</strong> una capa raster podía<br />

63


64 CAPÍTULO 7. ALGO MÁS SOBRE MAPAS<br />

ajustarse marcando un intervalo directamente sobre el histograma en lugar <strong>de</strong> introduciendo<br />

los valores numéricos en la ventana <strong>de</strong> parámetros.<br />

Para el caso <strong>de</strong> una capa raster, es posible ajustar la rampa <strong>de</strong> colores, <strong>de</strong> forma que se<br />

recorra completa <strong>con</strong> los valores <strong>de</strong> las celdas que aparecen en pantalla. Por <strong>de</strong>fecto, el rango<br />

<strong>de</strong> valores se sitúa entre el mínimo y el máximo <strong>de</strong> la capa. Si hemos hecho zoom en una<br />

región <strong>con</strong>creta, po<strong>de</strong>mos utilizar no los extremos <strong>de</strong> la capa completa, sino los <strong>de</strong> la parte <strong>de</strong><br />

la misma que se encuentra visible.<br />

Veamos un ejemplo. Sobre el MDT habitual, haz zoom sobre una zona baja. <strong>La</strong> representación<br />

<strong>de</strong>l mapa <strong>con</strong>tendrá principalmente colores azules, que son los que <strong>de</strong>signan estas zonas<br />

si se utiliza la rampa <strong>de</strong> color por <strong>de</strong>fecto. Haciendo clic <strong>con</strong> el botón <strong>de</strong>recho sobre el nombre<br />

<strong>de</strong> la capa en la pestaña <strong>de</strong> mapas, selecciona Ajustar Rampa <strong>de</strong> Colores a Extensión Visible.<br />

Verás como ahora la representación <strong>con</strong>tiene todos los colores <strong>de</strong> la rampa.<br />

Si te alejas y vuelves a cubrir toda la extensión <strong>de</strong> la capa, veras que muchas celdas<br />

tienen color rojo (el <strong>de</strong> los valores elevados), ya que <strong>con</strong>tienen valores por encima <strong>de</strong>l máximo<br />

establecido por el rango. Vuelve a seleccionar Ajustar Rampa <strong>de</strong> Colores a Extensión Visible<br />

para regresar al ajuste original.<br />

7.3. Midiendo distancias sobre un mapa<br />

Medir distancias sobre un mapa es una funcionalidad básica y sumamente sencilla. Para<br />

ello únicamente <strong>de</strong>bes seleccionar el menú Mapa/Medir Distancia y a <strong>con</strong>tinuación <strong>de</strong>finir<br />

sobre el mapa una serie <strong>de</strong> puntos que <strong>con</strong>stituyan el trazado a medir. Para <strong>de</strong>finir dichos<br />

puntos, simplemente haz clic <strong>con</strong> el botón izquierdo <strong>de</strong>l ratón<br />

A medida que lo vas <strong>de</strong>finiendo, la distancia <strong>de</strong>l trazado pue<strong>de</strong> verse en la barra <strong>de</strong> estado.<br />

Cuando hayas <strong>con</strong>cluido, haz clic <strong>con</strong> el botón <strong>de</strong>recho <strong>de</strong>l ratón para <strong>de</strong>jar <strong>de</strong> medir.<br />

7.4. Guardando un mapa como imagen<br />

Los mapas y su representación en pantalla nos ayudan a compren<strong>de</strong>r y visualizar la información<br />

<strong>con</strong> la que trabajamos. No obstante, a<strong>de</strong>más <strong>de</strong> ser un elemento para el manejo <strong>de</strong> las


7.5. FAMILIAS DE PLANOS 65<br />

distintas capas, también es interesante que podamos utilizar estas representaciones fuera <strong>de</strong><br />

<strong>SEXTANTE</strong> e incorporarlas en otros documentos.<br />

Más a<strong>de</strong>lante veremos cómo generar composiciones <strong>de</strong> mapa más elaboradas, pero SEX-<br />

TANTE incorpora una funcionalidad sencilla que nos permitirá grabar la representación <strong>de</strong><br />

un mapa en un sencillo fichero <strong>de</strong> imagen.<br />

Para ello, primero modifica el mapa a tu gusto. Es <strong>de</strong>cir, aña<strong>de</strong> las capas que <strong>de</strong>sees, ajusta<br />

las propieda<strong>de</strong>s <strong>de</strong> representación <strong>de</strong> las mismas y preséntalo en el encuadre a<strong>de</strong>cuado. Los<br />

únicos factores que no tienen influencia son los relativos al marco <strong>de</strong> coor<strong>de</strong>nadas y el propio<br />

tamaño <strong>de</strong> la ventana <strong>de</strong> mapa, así que no importa si ésta es pequeña o gran<strong>de</strong>. Ahora veremos<br />

el porqué <strong>de</strong> esto.<br />

Con el mapa ya creado, haz clic <strong>con</strong> el botón <strong>de</strong>recho sobre su nombre en la pestaña <strong>de</strong><br />

mapas y selecciona Guardar Como Imagen.... Especifica un nombre y un tipo <strong>de</strong> archivo <strong>de</strong><br />

imagen. <strong>SEXTANTE</strong> soporta los formatos más populares para generar salidas gráficas.<br />

Una vez tenga la información acerca <strong>de</strong>l fichero a crear, el programa te mostrará el siguiente<br />

cuadro <strong>de</strong> diálogo para que especifiques cómo quieres que sea la imagen a guardar.<br />

Los tres valores a ajustar hacen referencia a las dimensiones <strong>de</strong> la imagen resultante, en<br />

pixels. Introduce los valores <strong>de</strong>seados en los campos Ancho y Alto. Como se ha dicho antes,<br />

el ajuste previo <strong>de</strong>l marco no tiene importancia, y para especificar cómo se <strong>de</strong>sea éste pue<strong>de</strong>s<br />

hacer uso <strong>de</strong>l campo Ancho <strong>de</strong>l Marco <strong>de</strong> Coor<strong>de</strong>nadas, expresando también en pixels las<br />

dimensiones <strong>de</strong>l mismo.<br />

<strong>La</strong> leyenda <strong>de</strong>ntro <strong>de</strong> <strong>SEXTANTE</strong> se haya separada <strong>de</strong>l mapa (no aparece en la misma<br />

ventana, sino en una pestaña <strong>de</strong>ntro <strong>de</strong> otra distinta, como ya sabes), y esta separación se<br />

mantiene igual a la hora <strong>de</strong> grabar una imagen <strong>de</strong> un mapa. Si <strong>de</strong>seas que <strong>SEXTANTE</strong> genere<br />

también un fichero <strong>con</strong> una imagen <strong>de</strong> la leyenda, activa el campo Grabar. El fichero <strong>de</strong> leyenda<br />

aparecerá en el mismo directorio que has especificado para el propio mapa.<br />

El campo Zoom <strong>con</strong>trola el tamaño <strong>de</strong> la leyenda. Un valor <strong>de</strong> 1 la hace igual al tamaño<br />

que tiene <strong>de</strong>ntro <strong>de</strong> la pestaña correspondiente. Un valor <strong>de</strong> 2 genera una leyenda <strong>de</strong> tamaño<br />

doble, y así sucesivamente.<br />

7.5. Familias <strong>de</strong> planos<br />

Muy frecuentemente, una representación <strong>de</strong> mapa cubre un área muy extensa, o necesita<br />

un alto grado <strong>de</strong> <strong>de</strong>talle para utilizarse, <strong>de</strong> tal modo que observando en una sola imagen todo<br />

el área tratada no se obtiene suficiente información. Cuando trabajamos <strong>con</strong> <strong>SEXTANTE</strong>,<br />

esto no es un problema, ya que po<strong>de</strong>mos ir mirando cada porción a la escala que necesitemos,<br />

sin más que utilizar las herramientas <strong>de</strong> zoom que ya <strong>con</strong>ocemos. Pero en el caso <strong>de</strong> mapas<br />

impresos, este hecho nos obliga a fraccionar el territorio en una serie <strong>de</strong> mapas, y elaborar una<br />

familia <strong>de</strong> planos <strong>de</strong> un territorio extenso es una tarea tediosa y larga.<br />

<strong>SEXTANTE</strong> incorpora una funcionalidad muy interesante que automatiza esta labor y<br />

produce resultados <strong>de</strong> gran calidad <strong>de</strong> forma casi instantánea. Basta <strong>con</strong> crear un mapa que<br />

<strong>con</strong>tenga la información que <strong>de</strong>seamos plasmar en los mapas impresos, y especificar una capa<br />

índice que será la que <strong>con</strong>trole el fraccionamiento <strong>de</strong>l territorio. El resto <strong>de</strong>l trabajo lo lleva a


66 CAPÍTULO 7. ALGO MÁS SOBRE MAPAS<br />

cabo el programa sin que <strong>de</strong>bamos preocuparnos por nada más. Suena bien, ¿verdad?. Veamos<br />

cómo hacerlo.<br />

Crea un mapa utilizando las capas <strong>de</strong> ejemplo que hasta ahora hemos visto. Vamos a<br />

generar una composición <strong>de</strong> ese mapa para cada una <strong>de</strong> las cuencas vertientes que se incluyen en<br />

el fichero <strong>de</strong> cuencas que ya <strong>con</strong>oces. Cuando hayas creado el mapa y ajustado sus parámetros,<br />

haz clic <strong>con</strong> el botón <strong>de</strong>recho sobre el nombre <strong>de</strong> dicho mapa y selecciona Generar Familia <strong>de</strong><br />

Planos<br />

El campo División es el campo que <strong>de</strong>fine las distintas zonas en que dividir el mapa. Pue<strong>de</strong><br />

ser cualquier tipo <strong>de</strong> capa vectorial, aunque tiene más lógica el usar polígonos. Con cada uno<br />

<strong>de</strong> estos polígonos se <strong>de</strong>fine un recuadro mínimo que lo engloba, y este es el recuadro que se<br />

ajusta a la extensión <strong>de</strong> la página<br />

Para cada plano existirá un mapa índice en el que se señalará qué polígono actúa como<br />

índice en este caso. Lo que ves a <strong>con</strong>tinuación es un fragmento <strong>de</strong> una familia <strong>de</strong> planos<br />

generada <strong>de</strong> este modo.


7.5. FAMILIAS DE PLANOS 67<br />

Junto a este mapa índice existe un cajetín don<strong>de</strong> se incluye algo <strong>de</strong> información sobre cada<br />

hoja.<br />

El nombre genérico <strong>de</strong> la familia <strong>de</strong>be introducirse en el campo Descripción <strong>de</strong> plano,<br />

y pue<strong>de</strong> seleccionarse una imagen en formato jpg para usarla como i<strong>con</strong>o, introduciendo el<br />

nombre <strong>de</strong>l fichero en el campo I<strong>con</strong>o/Logotipo.<br />

También pue<strong>de</strong>s escoger el tamaño <strong>de</strong> página y su orientación en el campo Tamaño <strong>de</strong><br />

Papel.<br />

Por último, si se selecciona la casilla Redon<strong>de</strong>ar valor <strong>de</strong> escala, la escala no se ajusta a la<br />

mayor posible <strong>con</strong>si<strong>de</strong>rando el tamaño <strong>de</strong>l papel, sino que se modifica para mantener un valor<br />

redon<strong>de</strong>ado.<br />

<strong>La</strong> primera hoja <strong>de</strong>l fichero generado (en formato PDF), <strong>con</strong>tiene una vista global <strong>de</strong>l<br />

mapa y la capa índice.


68 CAPÍTULO 7. ALGO MÁS SOBRE MAPAS<br />

<strong>La</strong>s restantes correspon<strong>de</strong>n a cada una <strong>de</strong> las divisiones <strong>de</strong> la capa especificada como índice.<br />

El archivo se guarda <strong>con</strong> el nombre especificado en el campo Archivo PDF. Pue<strong>de</strong>s teclear<br />

directamente la ruta <strong>de</strong> acceso a la misma, o bien hacer clic en el botón en el extremo <strong>de</strong>recho<br />

<strong>de</strong>l campo y seleccionarlo <strong>con</strong> el ratón en el cuadro <strong>de</strong> diálogo que aparecerá.<br />

7.6. Guardar un mapa <strong>con</strong> un archivo SVG interactivo<br />

Otra forma distinta <strong>de</strong> almacenar una vista <strong>de</strong> mapa para que pueda ser <strong>con</strong>sultada fuera<br />

<strong>de</strong> <strong>SEXTANTE</strong> es guardarla como un archivo SVG. SVG (Scalable Vector Graphics) es un<br />

lenguaje que permite almacenar información gráfica y cada día cuenta <strong>con</strong> soporte en un mayor<br />

número <strong>de</strong> aplicaciones, entre ellas navegadores web tales como Firefox (<strong>con</strong> soporte nativo)<br />

o Internet Explorer (mediante el plugin <strong>de</strong> Adobe para visualización <strong>de</strong> SVG). El fichero<br />

generado por <strong>SEXTANTE</strong> esta pensado para utilizarse en un navegador web, y <strong>con</strong>tiene<br />

la información <strong>de</strong> las capas <strong>con</strong>tenidas en el mapa, junto <strong>con</strong> unas reducidas capacida<strong>de</strong>s<br />

interactivas que permiten <strong>de</strong>splazarse por el propio mapa <strong>de</strong> forma similar a como lo pue<strong>de</strong>s<br />

hacer en el mismo <strong>SEXTANTE</strong>.<br />

Para crear un archivo SVG interactivo, crea un mapa y selecciona Mapa/Guardar Mapa<br />

Como SVG Interactivo


7.7. VISTAS TRIDIMENSIONALES 69<br />

Simplemente <strong>de</strong>bes indicar el fichero en que <strong>de</strong>seas guardar el mapa y también la capa que<br />

servirá <strong>de</strong> índice, ya que, como ahora veremos, el archivo resultante incluye un mapa guia.<br />

Aquí tienes un posible resultado, ya <strong>de</strong>ntro <strong>de</strong> un navegador.<br />

<strong>La</strong>s funciones interactivas son muy similares a las <strong>de</strong>l propio <strong>SEXTANTE</strong>, y te será sencillo<br />

manejarlas. Pue<strong>de</strong>s <strong>de</strong>sactivar la representación <strong>de</strong> las capas sin más que hacer clic sobre las<br />

cajas <strong>de</strong> selección junto al nombre <strong>de</strong> cada una <strong>de</strong> ellas.<br />

7.7. Vistas tridimensionales<br />

<strong>La</strong>s vistas tridimensionales son algo que no falta en ningún SIG actual, y <strong>SEXTANTE</strong><br />

no es una excepción. El uso <strong>de</strong> estas representaciones es mucho más restringido que el <strong>de</strong> los<br />

mapas, pero pue<strong>de</strong>n aportar un distinto punto <strong>de</strong> vista acerca <strong>de</strong>l territorio que cubren y la<br />

información que <strong>de</strong> él se dispone. Aunque en la mayoría <strong>de</strong> los casos las vistas 3D puedan<br />

parecer simplemente una diversión (espectacular, eso sí), lo cierto es que guardan una importante<br />

valía como representación cartográfica, y la potencia <strong>con</strong> la que un programa como<br />

<strong>SEXTANTE</strong> es capaz <strong>de</strong> manejarlas es sin duda algo que <strong>de</strong>be ser aprovechado.<br />

7.7.1. Crear una vista tridimensional<br />

Para crear una vista 3D, haz clic <strong>con</strong> el botón <strong>de</strong>recho sobre el mapa que <strong>de</strong>sees representar<br />

y selecciona Mostrar Vista 3D. Verás la siguiente ventana <strong>de</strong> parámetros.


70 CAPÍTULO 7. ALGO MÁS SOBRE MAPAS<br />

Como pue<strong>de</strong>s apreciar, son muchos los parámetros que pue<strong>de</strong>n <strong>con</strong>figurarse, aunque solo<br />

algunos <strong>de</strong> ellos son realmente vitales. A<strong>de</strong>más, muchos <strong>de</strong> los que aquí ves tienen relación <strong>con</strong><br />

la posición <strong>de</strong> la vista y el emplazamiento <strong>de</strong>l observador, y éstos se ajustan mejor posteriormente<br />

✭✭navegando✮✮ a través <strong>de</strong> la representación empleando el ratón o las teclas <strong>de</strong> dirección,<br />

por lo que no es necesario ajustarlos ahora.<br />

Por el momento, el único que necesitas establecer es el campo Elevación, seleccionando<br />

antes una <strong>de</strong> las extensiones posibles y una vez hecho esto seleccionando una capa raster<br />

que será la que <strong>con</strong>tenga los datos <strong>de</strong> elevación. En función <strong>de</strong> estos datos, <strong>SEXTANTE</strong><br />

asignará a cada punto la altura correspondiente, y será así como se cree la sensación <strong>de</strong> relieve<br />

tridimensional. Para aquellos puntos <strong>de</strong>l mapa que que<strong>de</strong>n fuera <strong>de</strong> la extensión <strong>de</strong> la capa <strong>de</strong><br />

elevaciones, se utilizará un valor <strong>de</strong> altura cero.<br />

Una vez hecho esto, prescindamos por ahora <strong>de</strong>l resto <strong>de</strong> parámetros y vayamos directamente<br />

a la vista. Cierra la ventana <strong>de</strong> parámetros haciendo clic en Aceptar. <strong>La</strong> ventana <strong>de</strong> la<br />

vista tiene aquí al inicio un aspecto como el siguiente.


7.7. VISTAS TRIDIMENSIONALES 71<br />

Si ahora pinchas y arrastras <strong>con</strong> el ratón verás cómo la vista se mueve y pue<strong>de</strong>s elegir un<br />

nuevo punto <strong>de</strong> vista. Utiliza también el botón <strong>de</strong>recho en lugar <strong>de</strong>l izquierdo y mueve también<br />

el ratón en todas direcciones para ver su efecto. Mejor que explicar aquí lo que hace cada una<br />

<strong>de</strong> estas acciones, es preferible que pruebes por ti mismo. Es mucho más intuitivo y a<strong>de</strong>más<br />

entretenido.<br />

Si prefieres un ajuste más preciso, pue<strong>de</strong>s emplear los comandos que se agrupan bajo los<br />

menús Vista 3D/Rotación y Vista 3D/Desplazar.<br />

Pue<strong>de</strong>s volver a la ventana <strong>de</strong> parámetros seleccionando Propieda<strong>de</strong>s, también <strong>de</strong>ntro <strong>de</strong><br />

Vista 3D. Allí pue<strong>de</strong>s introducir los valores <strong>de</strong> posición numéricamente, aunque ésta es una<br />

opción que rara vez se emplea.<br />

Otra forma <strong>de</strong> variar el aspecto <strong>de</strong> la vista es modificando la exageración <strong>de</strong> relieve. Si<br />

los valores <strong>de</strong> elevación no son altos, es posible que no se perciba bien la sensación <strong>de</strong> relieve<br />

al representarlos. Po<strong>de</strong>mos acentuar éste aumentando la exageración. Para ello, utiliza el<br />

comando Aumentar Exageración sucesivamente hasta alcanzar el aspecto <strong>de</strong>seado.<br />

Pue<strong>de</strong>s volver a una menor exageración <strong>de</strong> relieve mediante el comando Disminuir exageración<br />

El tipo <strong>de</strong> perspectiva empleada para la representación es variable. Por <strong>de</strong>fecto, el menú Proyección<br />

Central se encuentra señalado <strong>con</strong> una marca. Si <strong>de</strong>sactivas este campo, el tipo <strong>de</strong><br />

perspectiva cambia y el efecto <strong>de</strong> pinchar y arrastrar <strong>con</strong> el ratón sobre la vista es distinto.<br />

De nuevo, es mejor que lo compruebes por ti mismo en lugar <strong>de</strong> tratar <strong>de</strong> dar una <strong>de</strong>scripción<br />

<strong>de</strong> ello mediante palabras.<br />

Si se encuentra activa la proyección central, pue<strong>de</strong> variarse la distancia en perspectiva <strong>con</strong><br />

los comandos Aumentar Distancia en Perspectiva y Disminuir Distancia en Perspectiva.<br />

Pue<strong>de</strong>s hacer que <strong>SEXTANTE</strong> proyecte la vista 3D sobre una figura geométrica tal como<br />

un cilindro o una esfera. Para ello, selecciona una <strong>de</strong> las opciones en el campo Figura y<br />

establece un valor para el campo Peso. De nuevo, es mejor probar uno mismo las distintas<br />

alternativas y ver en que se diferencian <strong>de</strong> forma visual. Para el caso <strong>de</strong> querer realizar ví<strong>de</strong>os<br />

(en breve veremos cómo) <strong>de</strong> movimiento sobre un terreno (i.e. vuelos), la opción panorama da<br />

unos resultados muy atractivos.<br />

Hay dos últimos ajustes que regulan la calidad <strong>de</strong> la representación y tienen influencia sobre<br />

el rendimiento <strong>de</strong> la misma (esto es, sobre la flui<strong>de</strong>z <strong>con</strong> la que tiene lugar el <strong>de</strong>splazamiento<br />

sobre ella). En primer lugar, es necesario ajustar los valores <strong>de</strong> resolución, empleando los<br />

campos X e Y <strong>de</strong>ntro <strong>de</strong>l grupo Resolución Original. Este ajuste sólo se pue<strong>de</strong> llevar a cabo<br />

<strong>de</strong>s<strong>de</strong> la ventana <strong>de</strong> parámetros, por lo que <strong>de</strong>bes acce<strong>de</strong>r a ella a través <strong>de</strong>l menú Propieda<strong>de</strong>s


72 CAPÍTULO 7. ALGO MÁS SOBRE MAPAS<br />

El valor inicial <strong>de</strong> 200 para ambas resoluciones es correcto para la representación tridimensional<br />

<strong>de</strong>l mapa compuesto a partir <strong>de</strong>l MDT <strong>de</strong> ejemplo. Empleando un valor más elevado<br />

se <strong>con</strong>sigue una mayor <strong>de</strong>finición (<strong>SEXTANTE</strong> representa más puntos en pantalla para una<br />

misma extensión <strong>de</strong>l mapa), <strong>con</strong> el <strong>con</strong>secuente coste en términos computacionales. Por ello,<br />

en caso <strong>de</strong> trabajar <strong>con</strong> equipos <strong>con</strong> una potencia limitada o tener mapas <strong>de</strong> una extensión<br />

amplia, ello pue<strong>de</strong> hacer que el movimiento <strong>de</strong> la vista sea lento. En este caso, lo que pue<strong>de</strong>s<br />

hacer es buscar la posición a<strong>de</strong>cuada haciendo uso <strong>de</strong> una menor resolución (<strong>de</strong> forma que te<br />

sea fluido mover la vista hasta dicha posición), y <strong>de</strong>spués, cuando ya no haya necesidad <strong>de</strong><br />

navegar por la vista tridimensional, establecer una mayor resolución.<br />

Si la resolución es baja o si nos acercamos mucho a la vista, se pue<strong>de</strong>n apreciar la falta <strong>de</strong><br />

<strong>de</strong>talle <strong>de</strong> la misma tal y como se muestra bajo estas líneas.<br />

Activando el campo Interpolar Colores, se corrige este efecto, aunque ello tiene un coste en<br />

tiempo <strong>de</strong> proceso, ya que <strong>SEXTANTE</strong> <strong>de</strong>be calcular los colores para los puntos intermedios<br />

representados en la ventana <strong>de</strong> la vista.<br />

Tanto este campo como los relacionados <strong>con</strong> la resolución <strong>de</strong>ben ajustarse en función <strong>de</strong><br />

los datos <strong>de</strong> los que dispongamos y <strong>de</strong> la potencia <strong>de</strong> nuestro equipo, buscando un punto <strong>de</strong><br />

equilibrio justo entre la calidad <strong>de</strong> la representación y la flui<strong>de</strong>z <strong>de</strong> movimiento <strong>de</strong> la misma.<br />

Como último ajuste, el campo Color <strong>de</strong> Fondo, te permite modificar el negro original <strong>de</strong>l<br />

fondo por otro color cualquiera.


7.7. VISTAS TRIDIMENSIONALES 73<br />

7.7.2. Guardar vistas tridimensionales<br />

Al igual que en el caso <strong>de</strong> los mapas era posible guardar la representación <strong>de</strong>l mismo en<br />

un fichero <strong>de</strong> imagen, ello pue<strong>de</strong> llevarse a cabo igualmente cuando trabajamos <strong>con</strong> vistas 3D.<br />

Más aún, en el caso <strong>de</strong> una vista 3D pue<strong>de</strong>n no solo guardarse imágenes, sino generar éstas<br />

<strong>de</strong> tal modo que puedan posteriormente componerse formando una animación. Veamos cómo.<br />

Para guardar el aspecto actual <strong>de</strong> la vista en un solo fichero, utiliza el menú Guardar Como<br />

Imagen.... En el cuadro <strong>de</strong> diálogo que aparecerá, simplemente elige el formato <strong>de</strong> fichero <strong>de</strong><br />

imagen <strong>de</strong>seado y asígnale un nombre al mismo.<br />

En el caso <strong>de</strong> <strong>de</strong>sear no una imagen aislada sino un <strong>con</strong>junto <strong>de</strong> ellas para <strong>con</strong>stituir una<br />

animación, lo que <strong>de</strong>be hacerse en primer lugar es <strong>de</strong>finir las diferentes posiciones. Para ello,<br />

utiliza los comandos y acciones que ya <strong>con</strong>oces para alcanzar una posición <strong>con</strong>creta y <strong>de</strong>spués<br />

haz clic sobre el menú Añadir Posición <strong>de</strong>ntro <strong>de</strong> Vista 3D/Secuenciador (<strong>de</strong> forma más<br />

fácil pue<strong>de</strong>s hacerlo simplemente pulsando la tecla A). Repite este proceso tantas veces como<br />

posiciones distintas <strong>de</strong>sees añadir a la animación. Si al añadir una posición te equivocas, pue<strong>de</strong>s<br />

eliminarla <strong>con</strong> el comando Eliminar<br />

Última Posición, o bien comenzar un nuevo recorrido<br />

completo, mediante el comando Eliminar Todas las Posiciones.<br />

Una vez el <strong>con</strong>junto <strong>de</strong> posiciones está <strong>de</strong>finido, pue<strong>de</strong>s ver la animación pulsando la<br />

tecla P o seleccionando el menú Reproducir una Vez. Si en lugar <strong>de</strong> esto usas el comando<br />

Reproducir Bucle (o la tecla L), la animación se repite <strong>con</strong>tinuamente, comenzando <strong>de</strong> nuevo<br />

<strong>de</strong>s<strong>de</strong> el primer punto una vez que se alcanza el último. Verás que la animación <strong>con</strong>tiene<br />

más pasos intermedios que las posiciones que has <strong>de</strong>finido. Esto es <strong>de</strong>bido a que <strong>SEXTANTE</strong><br />

aña<strong>de</strong> nuevos puntos situados entre dichas posiciones para <strong>de</strong> este modo <strong>con</strong>seguir una mayor<br />

sensación <strong>de</strong> flui<strong>de</strong>z y <strong>con</strong>tinuidad <strong>de</strong> movimiento.<br />

Para editar el número <strong>de</strong> posiciones nuevas que <strong>SEXTANTE</strong> aña<strong>de</strong>, pue<strong>de</strong>s utilizar el<br />

menú Editar Posiciones, el cual te llevará a una ventana como la siguiente.<br />

En esta tabla, cada registro correspon<strong>de</strong> a una posición, y en los campos asociados a la<br />

misma pue<strong>de</strong>s ver los factores que <strong>de</strong>finen dicha posición, así como, en último lugar, el numero<br />

<strong>de</strong> nuevos puntos a añadir tras el mismo. Como pue<strong>de</strong>s ver, no sólo pue<strong>de</strong>s cambiar los valores<br />

<strong>de</strong> la posición como tal, sino otros como la exageración <strong>de</strong> relieve, <strong>de</strong> tal modo que éste varíe<br />

a lo largo <strong>de</strong> la animación.<br />

Se trata <strong>de</strong> una ventana <strong>de</strong> tabla normal, por lo que también pue<strong>de</strong>s añadir y eliminar<br />

registros, lo cual obviamente tendrá influencia sobre el número final <strong>de</strong> posiciones y el recorrido<br />

<strong>de</strong> la propia animación, una vez que cierres la ventana.


74 CAPÍTULO 7. ALGO MÁS SOBRE MAPAS<br />

Ahora que ya sabes cómo crear y modificar una secuencia <strong>de</strong> posiciones, y también cómo<br />

reproducirla para ver su aspecto, es hora <strong>de</strong> ver cómo grabar la misma. Para grabar una secuencia,<br />

selecciona el menú Guardar Secuencia <strong>de</strong> Imágenes. En el cuadro <strong>de</strong> diálogo que aparecerá,<br />

especifica un nombre <strong>de</strong> archivo y un tipo <strong>de</strong> archivo <strong>de</strong> imagen, tal y como si grabaras una<br />

única posición. Con ese nombre <strong>de</strong> archivo, <strong>SEXTANTE</strong> añadirá números secuencialmente<br />

y grabará tantos archivos como pasos tenga la secuencia (incluyendo los situados entre las<br />

posiciones establecidas que son añadidos por el programa).<br />

7.7.3. Anaglifos<br />

Si bien las vistas 3D son un elemento habitual <strong>de</strong> un Sistema <strong>de</strong> Información Geográfica,<br />

<strong>SEXTANTE</strong> lleva las representaciones tridimensionales un paso más allá y aña<strong>de</strong> una funcionalidad<br />

que permite generar anaglifos. Si bien su utilidad es mucho más reducida, es una<br />

muestra <strong>de</strong> la potencia <strong>de</strong>l programa, y también pue<strong>de</strong>n ser empleados en ciertos casos para<br />

aportar un distinto acercamiento a la información geográfica.<br />

Un anaglifo es una representación bidimensional que, si se observa empleando una gafas<br />

especiales <strong>con</strong> filtros, produce un efecto estereoscópico que da sensación <strong>de</strong> ser realmente tridimensional.<br />

Probablemente <strong>con</strong>oces los anaglifos no a través <strong>de</strong> el campo <strong>de</strong>l <strong>análisis</strong> <strong>geográfico</strong>,<br />

sino como un mero entretenimiento o una curiosidad. No cabe duda <strong>de</strong> que lo son, pero también<br />

pue<strong>de</strong>n tener interés científico, como ahora veremos.<br />

Para <strong>con</strong>vertir una vista tridimensional habitual en un anaglifo, simplemente selecciona<br />

el menú Anaglifo. <strong>SEXTANTE</strong> genera el par estereoscópico a partir <strong>de</strong> la información <strong>de</strong><br />

elevación, y lo muestra en la ventana <strong>de</strong> la vista.<br />

Aunque la verda<strong>de</strong>ra representación <strong>de</strong>be ser observada <strong>con</strong> las gafas especiales (¡pue<strong>de</strong>s<br />

probar a fabricarte unas tu mismo si tienes curiosidad! Necesitarás un filtro rojo para un ojo<br />

y uno ver<strong>de</strong> para el otro.), aquí tienes una imagen <strong>de</strong> lo que verás en pantalla.<br />

El único ajuste que pue<strong>de</strong>s realizar <strong>con</strong> un anaglifo es el relativo a su alcance visual. Utiliza<br />

los menús Aumentar Alcance Visual y Disminuir Alcance Visual para ello.<br />

Un anaglifo no <strong>de</strong>ja <strong>de</strong> ser otro tipo <strong>de</strong> representación 3D tal y como lo es la representación<br />

✭✭normal✮✮, y ello significa que todo lo que puedas hacer <strong>con</strong> una <strong>de</strong> estás también lo pue<strong>de</strong>s<br />

hacer en caso <strong>de</strong> estar representando un anaglifo. Es <strong>de</strong>cir, pue<strong>de</strong>s moverte por la vista, grabar<br />

la imagen, o incluso grabar una secuencia. ¡Pruébalo!


Capítulo 8<br />

Módulos básicos para capas raster<br />

8.1. Introducción<br />

Llegados a este punto, <strong>de</strong>berías tener ya un buen dominio <strong>de</strong> las funcionalida<strong>de</strong>s básicas<br />

<strong>de</strong> <strong>SEXTANTE</strong>, es <strong>de</strong>cir, aquellas que te permiten un manejo fundamental <strong>de</strong> la información<br />

que pue<strong>de</strong> incorporarse en el programa. Siendo así, es el momento <strong>de</strong> comenzar a estudiar el<br />

estudio <strong>de</strong> los distintos módulos en los que resi<strong>de</strong> la verda<strong>de</strong>ra potencia <strong>de</strong>l programa, y cuyos<br />

resultados podrás ya interpretar y manejar sin problema alguno en base a lo explicado en los<br />

capítulos prece<strong>de</strong>ntes.<br />

Para empezar este recorrido (largo, como ya verás) por la serie <strong>de</strong> distintos módulos que<br />

componen la distribución habitual <strong>de</strong> <strong>SEXTANTE</strong> he escogido un grupo <strong>de</strong> módulos <strong>de</strong> gran<br />

importancia relacionados <strong>con</strong> el uso <strong>de</strong> capas raster. No son módulos <strong>de</strong> <strong>análisis</strong>, y muchos<br />

<strong>de</strong> ellos ni siquiera van a aportar resultados nuevos (en el sentido <strong>de</strong> que no van a generar<br />

capas <strong>con</strong> distintas variables). <strong>La</strong> gran mayoría <strong>de</strong> los módulos que verás en esta sección<br />

van a estar <strong>de</strong>stinados a preparar capas <strong>de</strong> información <strong>de</strong> forma que puedan emplearse en<br />

mejores <strong>con</strong>diciones para llevar a cabo <strong>análisis</strong> <strong>de</strong> todo tipo, probablemente mediante el uso <strong>de</strong><br />

otra serie <strong>de</strong> módulos que se verán en diferentes capítulos <strong>de</strong> los restantes <strong>de</strong> este libro. Este<br />

hecho les <strong>con</strong>fiere una importancia práctica gran<strong>de</strong>, como comprobarás por ti mismo cuando<br />

empieces a trabajar <strong>con</strong> los distintos módulos más a<strong>de</strong>lante y manejes información diversa<br />

para alimentarlos.<br />

Recuerda que para po<strong>de</strong>r usar un módulo éste <strong>de</strong>be estar cargado. Si no encuentras algún<br />

módulo, vuelve a cargar todos ellos hasta que la colección completa esté disponible para su uso.<br />

Pue<strong>de</strong>s únicamente cargar la librería que <strong>con</strong>tiene el módulo en cuestión, aunque te recomiendo<br />

cargarlos todos para trabajar y seguir el <strong>de</strong>sarrollo <strong>de</strong> este manual. Para saber en qué librería<br />

se encuentra un módulo, pue<strong>de</strong>s hacer uso <strong>de</strong> la lista incluida al final <strong>de</strong>l capítulo <strong>de</strong>dicado al<br />

uso <strong>de</strong> <strong>SEXTANTE</strong> en línea <strong>de</strong> comandos, en las últimas páginas <strong>de</strong>l libro.<br />

8.2. Filtrando una capa raster<br />

Comencemos este recorrido <strong>de</strong>teniéndonos en un sencillo pero abundante grupo <strong>de</strong> módulos:<br />

los módulos <strong>de</strong> filtrado. En<strong>con</strong>traras estos módulos <strong>de</strong>ntro <strong>de</strong>l submenú Módulos/Raster/Filtros.<br />

Con estos sencillos módulos no sólo vas a obtener tus primeras capas nuevas <strong>con</strong> las que trabajar<br />

y operar, sino que también verás <strong>de</strong> forma directa cómo es el funcionamiento general<br />

<strong>de</strong> un módulo, tal y como se ha explicado por encima en el capítulo <strong>de</strong> fundamentos algunas<br />

páginas atrás.<br />

75


76 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

Antes <strong>de</strong> empezar, veamos qué es exactamente un filtro. Cuando hablamos <strong>de</strong> una capa<br />

raster, un filtro implica una modificación <strong>de</strong> las celdas <strong>de</strong> dicha capa mediante la aplicación<br />

<strong>de</strong> formulas o algoritmos, en general relativas a los valores <strong>de</strong> las celdas <strong>con</strong>tiguas, <strong>de</strong> tal<br />

modo que se obtiene una nueva versión <strong>de</strong> dicha capa. El uso <strong>de</strong> un filtro <strong>de</strong> por sí no genera<br />

ninguna información adicional, sino que modifica la existente, y es por ello que en ese uso la<br />

capa resultante <strong>con</strong>tiene la misma variable que la original, representando un mismo aspecto<br />

<strong>de</strong>l área cubierta por ambas. Si estás familiarizado <strong>con</strong> el manejo <strong>de</strong> fotografías digitales y<br />

su procesado, enten<strong>de</strong>rás el <strong>con</strong>cepto sin dificultad. En realidad, no <strong>de</strong>bes olvidar que una<br />

fotografía no es sino otro tipo <strong>de</strong> capa raster, y <strong>SEXTANTE</strong> pue<strong>de</strong> trabajar también <strong>con</strong> ellas<br />

como <strong>con</strong> otros tipos diferentes.<br />

El uso más habitual <strong>de</strong> un filtro es la eliminación <strong>de</strong> ruido. Por ruido enten<strong>de</strong>mos, por<br />

ejemplo, la presencia <strong>de</strong> celdas <strong>de</strong>ntro <strong>de</strong> una malla raster cuyos valores son inesperadamente<br />

altos, revelando que la información que <strong>con</strong>tienen no es real sino <strong>de</strong>bida a algún tipo <strong>de</strong> error o<br />

como resultado <strong>de</strong> procesos previos utilizados para la creación <strong>de</strong> dicha malla. En el caso <strong>de</strong> una<br />

imagen, si aparecen puntos o pequeñas manchas (que son bloques <strong>de</strong> celdas cuya intensidad y<br />

color no es la ✭✭lógica✮✮ en esas posiciones <strong>de</strong> la imagen), eso es también ruido, y la eliminación<br />

<strong>de</strong> estos puntos es una tarea clásica que cualquier software para tratamiento <strong>de</strong> imágenes es<br />

capaz <strong>de</strong> realizar.<br />

No obstante, al trabajar <strong>con</strong> capas <strong>de</strong> información geográfica tal vez se <strong>de</strong>ba tener una<br />

mayor precaución a la hora <strong>de</strong> emplear un filtro. Por una parte, el objetivo final <strong>de</strong> una<br />

imagen (al menos <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista fotográfico y estético), es mejorar esa imagen y su<br />

apariencia, y los resultados <strong>de</strong> un filtrado o <strong>de</strong> cualquier otro proceso pue<strong>de</strong> comprobarse y<br />

juzgarse como positivos o no simplemente mirando la imagen. En el caso <strong>de</strong> una capa <strong>con</strong>,<br />

por ejemplo, un valor <strong>de</strong> temperatura, no es tan obvio percibir la bondad <strong>de</strong> los datos, y la<br />

aplicación <strong>de</strong> un filtro reduce el nivel <strong>de</strong> <strong>de</strong>talle <strong>de</strong> la malla raster, no siendo esto siempre<br />

inmediatamente apreciable.<br />

Por otra parte, para muchas tareas <strong>con</strong>cretas existen formas más a<strong>de</strong>cuadas y precisas <strong>de</strong><br />

preparar una capa raster que aplicar un filtro en toda su extensión. Por ejemplo, veremos que<br />

en el caso <strong>de</strong> emplear un MDT para <strong>análisis</strong> hidrológico es necesario eliminar las <strong>de</strong>presiones<br />

existentes antes <strong>de</strong> comenzar dicho <strong>análisis</strong>. Para esta labor existen algoritmos que <strong>de</strong>tectan<br />

estas <strong>de</strong>presiones y las eliminan, alterando únicamente las celdas <strong>de</strong>ntro <strong>de</strong> una <strong>de</strong>presión.<br />

Puesto que en cierta medida estas <strong>de</strong>presiones pue<strong>de</strong>n <strong>con</strong>si<strong>de</strong>rarse como un tipo <strong>de</strong> ruido (al<br />

menos las <strong>de</strong> poco tamaño), un filtro <strong>de</strong> suavizado pue<strong>de</strong> utilizarse para eliminarlas, aunque<br />

en este caso también actuaría sobre las celdas que no lo requieren y causaría una pérdida <strong>de</strong><br />

<strong>de</strong>talle en las mismas que no es en absoluto necesaria si se emplean otros métodos.<br />

En general, cuanto menos modifiquemos una capa original, y suponiendo que la información<br />

que <strong>con</strong>tiene es fiable, tanto mejores serán los resultados que obtengamos <strong>con</strong> la misma. Los<br />

filtros son un elemento básico y muy importante, pero no <strong>de</strong>be per<strong>de</strong>rse <strong>de</strong> vista lo que suponen,<br />

y <strong>de</strong>ben utilizarse sin excesos.<br />

Después <strong>de</strong> esta breve teoría, veamos directamente el efecto que un filtro tiene sobre una<br />

capa raster. Para ello, filtremos nuestro ya bien <strong>con</strong>ocido MDT <strong>con</strong> cada uno <strong>de</strong> los filtros que<br />

<strong>SEXTANTE</strong> incluye.<br />

Empecemos seleccionando el menú Raster/Filtros/Filtros Simples.


8.2. FILTRANDO UNA CAPA RASTER 77<br />

<strong>La</strong> ventana <strong>de</strong> parámetros <strong>de</strong>l módulo es relativamente sencilla y no <strong>con</strong>tiene un número<br />

excesivo <strong>de</strong> campos. Simplemente necesitas <strong>de</strong>finir una capa <strong>de</strong> entrada (la que se <strong>de</strong>be filtrar)<br />

y una <strong>de</strong> salida (la ya filtrada), y, puesto que estas capas son raster, antes <strong>de</strong>bes seleccionar<br />

una extensión <strong>de</strong> grid como ya se ha explicado anteriormente. Lógicamente, tanto la capa <strong>de</strong><br />

entrada como <strong>de</strong> salida estarán bajo la misma extensión <strong>de</strong> grid.<br />

En el campo Entrada pue<strong>de</strong>s ver que junto a su nombre aparece el signo >>, mientras que<br />

en el campo Resultado aparece un signo


78 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

El funcionamiento <strong>de</strong>l filtro es el siguiente. Se <strong>de</strong>fine un entorno <strong>de</strong> <strong>análisis</strong> (también<br />

<strong>de</strong>nominado ventana <strong>de</strong> <strong>análisis</strong> y se estudia dicho entorno para cada una <strong>de</strong> las celdas. Con<br />

los valores <strong>de</strong> ese grupo <strong>de</strong> celdas circundantes, y <strong>de</strong> acuerdo <strong>con</strong> una fórmula <strong>con</strong>creta, se<br />

calcula un nuevo valor para la celda central. De este modo, todas las celdas <strong>de</strong> la malla obtienen<br />

un nuevo valor mediante el <strong>de</strong>splazamiento <strong>de</strong>l entorno <strong>de</strong> <strong>análisis</strong> por todas ellas.<br />

El campo más importante en esta ventana <strong>de</strong> parámetros es el <strong>de</strong>nominado Filtro, que<br />

establece la formulación a aplicar para el cálculo <strong>de</strong>l nuevo valor <strong>de</strong> cada celda. En<strong>con</strong>tramos<br />

en él las siguientes opciones.<br />

Suavizado: Suavizar un grid implica disminuir las diferencias entre cada celda y sus<br />

circundantes, <strong>de</strong> forma que la transición entre ellas sea más suave. <strong>La</strong> representación<br />

en dos dimensiones en la ventana <strong>de</strong> mapa sufrirá un efecto <strong>de</strong> emborronamiento o<br />

perdida <strong>de</strong> foco (apreciarás esto bien si lo aplicas sobre una fotografía). En el caso <strong>de</strong><br />

la representación tridimensional, si utilizas la capa como capa <strong>de</strong> elevaciones, el relieve<br />

quedara suavizado, <strong>con</strong> lineas más dulces y menos aristas.<br />

Des<strong>de</strong> un punto <strong>de</strong> vista matemático, el filtro emplea la siguiente expresión matemática:<br />

z ′ = z (8.1)<br />

Don<strong>de</strong> z ′ es el nuevo valor <strong>de</strong> la celda y z la media <strong>de</strong> todas las celdas en el entorno <strong>de</strong><br />

<strong>análisis</strong>.<br />

Realce: Este filtro tiene un efecto opuesto al anterior, acentuando las diferencias entre<br />

celdas adyacentes. <strong>La</strong> formula en la que se basa es la siguiente.<br />

z ′ = 2 ∗ z − z (8.2)<br />

Detección <strong>de</strong> bor<strong>de</strong>s: Utiliza este filtro para localizar las zonas <strong>de</strong> alta variación <strong>de</strong><br />

los valores <strong>de</strong>ntro <strong>de</strong> la malla. En este caso la capa resultante es bastante distinta a la<br />

anterior, por lo que probablemente el uso que puedas darle no sea el mismo que a la<br />

original. En éste, la formula empleada es la siguiente:<br />

z ′ = z − z (8.3)<br />

Los otros dos campos que en<strong>con</strong>tramos en este módulo <strong>de</strong>finen las características <strong>de</strong> la<br />

ventana <strong>de</strong> <strong>análisis</strong>, las cuales <strong>con</strong>dicionan el efecto <strong>de</strong>l filtro sobre la capa origen.<br />

En primer lugar, el campo Entorno permite escoger entre un entorno circular o cuadrado,<br />

ambos centrados, por supuesto, sobre la celda objeto <strong>de</strong> <strong>análisis</strong> en cada caso a medida<br />

que dicho entorno se <strong>de</strong>splaza por la malla. <strong>La</strong> diferencia entre elegir uno u otro tipo no es<br />

excesivamente apreciable.<br />

Sí es notable, sin embargo, la diferencia que se obtiene al modificar el valor <strong>de</strong>l campo<br />

Radio. En caso <strong>de</strong> que el entorno tenga forma circular, este valor es el radio en celdas <strong>de</strong> dicho<br />

entorno. En el caso <strong>de</strong> usar un entorno cuadrado, el valor <strong>de</strong> este campo indica el lado <strong>de</strong><br />

dicho cuadrado. Cuanto más elevado sea el valor introducido, más acusado será el efecto <strong>de</strong>l<br />

filtro, in<strong>de</strong>pendientemente <strong>de</strong>l tipo que se seleccione en el campo Filtro<br />

Una vez que los parámetros <strong>de</strong> <strong>con</strong>figuración <strong>de</strong>l módulo han sido establecidos, éste pue<strong>de</strong><br />

ejecutarse. Selecciona un entorno circular <strong>con</strong> radio <strong>de</strong> 20 celdas (he elegido este radio elevado<br />

para que el efecto <strong>de</strong>l filtro sea más marcado y puedas apreciarlo <strong>con</strong> más facilidad), y <strong>de</strong>spués<br />

haz clic sobre el botón Aceptar (si has accedido al modulo a través <strong>de</strong> su elemento <strong>de</strong> menú) o<br />

bien Ejecutar (si lo estas utilizando mediante la ventana <strong>de</strong> elemento activo). Bajo estas líneas<br />

pue<strong>de</strong>s ver una comparación entre la capa raster original y la filtrada, esta última mostrando<br />

tal y como se explicó un aspecto ✭✭<strong>de</strong>senfocado✮✮.


8.2. FILTRANDO UNA CAPA RASTER 79<br />

Prueba tu mismo el efecto <strong>de</strong> los restantes tipos <strong>de</strong> filtros y <strong>de</strong> las variaciones en los valores<br />

<strong>de</strong>l radio y <strong>de</strong>l tipo <strong>de</strong> entorno, para así seguir practicando y coger algo <strong>de</strong> soltura.<br />

Este no es el único módulo <strong>de</strong>dicado a filtros, y los restantes son bastante similares. En<br />

particular, tres <strong>de</strong> ellos tienen un funcionamiento parecido al que acabamos <strong>de</strong> ver, por lo<br />

que probablemente no tendrás dificultad en usarlos sin requerir mayor explicación. Veamos<br />

estos otros módulos brevemente, añadiendo información sobre el significado <strong>de</strong> los mismos y<br />

su aplicación.<br />

El primero <strong>de</strong> los filtros adicionales que en<strong>con</strong>trarás se llama Filtro Gaussiano.<br />

Un filtro Gaussiano es un filtro <strong>de</strong> suavizado (es <strong>de</strong>cir, tendrá un efecto como el que<br />

acabamos <strong>de</strong> ver en la última figura), pero basa su funcionamiento en unas formulaciones más<br />

complejas que el filtro simple que ya hemos visto. A<strong>de</strong>más <strong>de</strong> esto, su efecto es más marcado<br />

que en el caso <strong>de</strong>l filtro simple.<br />

<strong>La</strong> intensidad <strong>de</strong>l suavizado se regula en este caso no únicamente mediante los valores<br />

<strong>de</strong> Entorno y Radio, sino también mediante el campo Desviación Típica. Mayores valores<br />

<strong>de</strong> este parámetro implican un efecto mayor. El radio <strong>de</strong> <strong>análisis</strong> <strong>de</strong>be variar según lo haga<br />

la <strong>de</strong>sviación típica, siendo necesarios mayores valores <strong>de</strong> radio a medida que ésta aumenta.<br />

En caso <strong>de</strong> que el radio sea <strong>de</strong>masiado pequeño, el programa te lo hará saber. ¿Cómo? Muy<br />

sencillo: a través <strong>de</strong> la pestaña Ejecución, don<strong>de</strong> <strong>SEXTANTE</strong> presenta los resultados <strong>de</strong> todas<br />

las operaciones que realiza, incluyendo el uso <strong>de</strong> módulos.


80 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

Pue<strong>de</strong>s ver en la figura anterior cómo no aparece únicamente el mensaje <strong>de</strong> aviso indicando<br />

que <strong>de</strong>be aumentarse el radio <strong>de</strong> <strong>análisis</strong>, sino también todo el resto <strong>de</strong> parámetros <strong>de</strong> ejecución<br />

<strong>de</strong>l módulo. Muchos <strong>de</strong> estos avisos no se muestran <strong>de</strong> forma explicita en cuadros <strong>de</strong> diálogo<br />

aparte, por lo que si usas un módulo que no <strong>con</strong>oces bien es recomendable que <strong>con</strong>troles la<br />

salida <strong>de</strong> esta ventana <strong>de</strong> ejecución para no per<strong>de</strong>r <strong>de</strong> vista los posibles fallos en su utilización.<br />

Después <strong>de</strong>l filtro Gaussiano en<strong>con</strong>tramos el módulo Filtro <strong>La</strong>placiano. Al <strong>con</strong>trario que el<br />

anterior, éste es un filtro <strong>de</strong> <strong>de</strong>tección <strong>de</strong> bor<strong>de</strong>s. Se utiliza <strong>con</strong> relativa frecuencia en el <strong>análisis</strong><br />

y procesado digital <strong>de</strong> imágenes, pero fuera <strong>de</strong> este área su uso es más restringido. Aplicado<br />

sobre un MDT, un filtro <strong>La</strong>placiano pue<strong>de</strong> emplearse para estudiar las formas <strong>de</strong>l relieve,<br />

<strong>de</strong>tectando zonas cóncavas o <strong>con</strong>vexas. Sin embargo, veremos otras formas más específicas y<br />

precisas <strong>de</strong> llevar esto a cabo, <strong>con</strong> módulos expresamente diseñados para tal propósito.<br />

Por último, en<strong>con</strong>tramos el <strong>de</strong>nominado Filtro Multidireccional <strong>de</strong> Lee, otro nuevo filtro<br />

para eliminación <strong>de</strong> ruido. Por sus características, pue<strong>de</strong> ser utilizado sobre MDTs <strong>con</strong> una relativamente<br />

baja pérdida <strong>de</strong> <strong>de</strong>talle, ya que preserva las pendientes. <strong>La</strong> ventana <strong>de</strong> parámetros<br />

es en este caso algo diferente a las anteriores.<br />

En este caso existen múltiples salidas, aunque pue<strong>de</strong>s ver que por <strong>de</strong>fecto solo una <strong>de</strong><br />

ellas se genera. <strong>La</strong>s otras dos son una capa <strong>con</strong> la mínima varianza <strong>de</strong> cada celda y otra <strong>con</strong><br />

la dirección <strong>de</strong>l filtro en la que se presenta dicha mínima varianza. Estas direcciones están<br />

numeradas <strong>de</strong>l 1 al 16.<br />

Para completar nuestro aprendizaje <strong>de</strong> todo lo relativo a filtros y a su implementación en<br />

<strong>SEXTANTE</strong>, así como para seguir trabajando <strong>con</strong> los distintos módulos y las características<br />

que presentan, veamos el módulo <strong>de</strong>nominado Filtro 3 × 3. Se trata <strong>de</strong> un filtro más flexible<br />

en el que no tendrás la opción <strong>de</strong> elegir entre una serie <strong>de</strong> diferentes formulaciones o aplicar<br />

sin más un filtro dado, como en los casos anteriores, sino que <strong>de</strong>berás <strong>de</strong>finirlo tú mismo. Esto<br />

aporta a este módulo una versatilidad mayor, y permite realizar <strong>con</strong> él procesos <strong>de</strong> filtrado<br />

muy distintos unos <strong>de</strong> otros.<br />

<strong>La</strong> ventana <strong>de</strong> parámetros <strong>de</strong>l módulo es la mostrada a <strong>con</strong>tinuación.


8.2. FILTRANDO UNA CAPA RASTER 81<br />

El campo más importante <strong>de</strong> los mostrados aquí es el <strong>de</strong>nominado Matriz <strong>de</strong> filtro[Núcleo].<br />

Haz clic sobre él y verás la siguiente ventana.<br />

Como ves, también en las ventanas <strong>de</strong> parámetros <strong>de</strong> los módulos sus campos no han <strong>de</strong><br />

<strong>con</strong>tener necesariamente sencillos valores numéricos, sino que también pue<strong>de</strong>n ser elementos<br />

más complejos, tal y como en este caso una tabla.<br />

<strong>La</strong> tabla que aparece en esta ventana representa lo que venimos <strong>de</strong>nominando entorno <strong>de</strong><br />

<strong>análisis</strong> en los filtros anteriores. En este caso su forma es fija (cuadrada) y también lo es su<br />

tamaño, <strong>de</strong> tres celdas <strong>de</strong> ancho, pero no su <strong>con</strong>tenido, que <strong>de</strong>bemos <strong>de</strong>finir y que marcará las<br />

características <strong>de</strong>l filtro. Este entorno <strong>de</strong> <strong>análisis</strong> es movido por todas las celdas <strong>de</strong> la malla,<br />

centrándolo en cada una <strong>de</strong> ellas y asignando posteriormente a la misma el valor extraído<br />

según la siguiente fórmula.<br />

Y =<br />

9<br />

n=1<br />

XnCn<br />

(8.4)<br />

don<strong>de</strong> n representa cada una <strong>de</strong> las celdas <strong>de</strong> la tabla (es <strong>de</strong>cir, cada una <strong>de</strong> las celdas en la<br />

malla raster en ese entorno <strong>de</strong> <strong>análisis</strong>, incluyendo la central), Xn es el valor en la celda n en<br />

la capa original, y Cn es el coeficiente <strong>de</strong> pon<strong>de</strong>ración <strong>de</strong>finido en la ventana <strong>de</strong> <strong>análisis</strong> (esto<br />

es, en la tabla).<br />

Esta operación se <strong>con</strong>oce habitualmente <strong>con</strong> el nombre <strong>de</strong> <strong>con</strong>volución en el argot <strong>de</strong>l<br />

tratamiento digital <strong>de</strong> imágenes, recibiendo la matriz <strong>de</strong> coeficientes la <strong>de</strong>nominación <strong>de</strong> núcleo<br />

o kernel.<br />

Pese a que el funcionamiento <strong>de</strong>l filtro es sencillo y su formulación matemática no entraña<br />

dificultad, la propia flexibilidad <strong>de</strong>l mismo hace que las posibilida<strong>de</strong>s que ofrece sean enormes.<br />

Para que puedas ver lo potente que es esta herramienta, aquí tienes algunas <strong>con</strong>figuraciones<br />

<strong>de</strong> filtros bien <strong>con</strong>ocidos, junto <strong>con</strong> algunos comentarios acerca <strong>de</strong>l efecto que tienen y <strong>de</strong> su<br />

utilización. Intenta pensar acerca <strong>de</strong> porqué funcionan <strong>de</strong> tal modo, y compararlos <strong>con</strong> algunos<br />

<strong>de</strong> los filtros que ya hemos visto. Ejecútalos tu mismo y prueba a modificar algunos <strong>de</strong> sus<br />

valores. Ver las diferencias que esto <strong>con</strong>lleva quizás te ayu<strong>de</strong> a compren<strong>de</strong>r mejor su mecanismo.


82 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

Prewitt Vertical<br />

Prewitt Horizontal<br />

-1 0 1<br />

-1 0 1<br />

-1 0 1<br />

1 1 1<br />

0 0 0<br />

-1 -1 -1<br />

Los filtros <strong>de</strong> Prewitt tiene el mismo efecto que una <strong>de</strong>rivada <strong>de</strong> primer or<strong>de</strong>n en la<br />

dirección especificada.<br />

Sobel Vertical<br />

Sobel Horizontal<br />

-1 0 1<br />

-2 0 2<br />

-1 0 1<br />

1 2 1<br />

0 0 0<br />

-1 -2 -1<br />

Los filtros <strong>de</strong> Sobel pue<strong>de</strong>n utilizarse para <strong>de</strong>tección <strong>de</strong> bor<strong>de</strong>s, y están relacionados <strong>con</strong><br />

<strong>de</strong>rivadas <strong>de</strong> segundo or<strong>de</strong>n.<br />

Filtro <strong>de</strong> paso alto (un filtro <strong>de</strong> realce / <strong>de</strong>tección <strong>de</strong> bor<strong>de</strong>s)<br />

Filtro <strong>de</strong> paso bajo (un filtro <strong>de</strong> suavizado)<br />

-1 -1 -1<br />

-1 8 -1<br />

-1 -1 -1<br />

1 1 1<br />

1 1 1<br />

1 1 1<br />

Piensa acerca <strong>de</strong> este último y te darás cuenta <strong>de</strong> que ya lo <strong>con</strong>oces. <strong>La</strong> flexibilidad <strong>de</strong> este<br />

método es tal que te permite <strong>con</strong>figurarlo para reproducir otros filtros implementados<br />

en módulos distintos.<br />

Por el momento, esto es todo acerca <strong>de</strong> los filtros (está bien, ¿no?). Prueba a utilizar<br />

todos los filtros <strong>de</strong>scritos y experimenta <strong>con</strong> ellos. Pue<strong>de</strong>s utilizarlos sobre el MDT original o<br />

sobre cualquiera <strong>de</strong> las otras capas <strong>de</strong> ejemplo, así como sobre nuevas capas que <strong>de</strong>riven <strong>de</strong> un<br />

proceso <strong>de</strong> filtrado previo. A medida que <strong>con</strong>tinuemos estudiando nuevos módulos y generando<br />

nuevas capas <strong>de</strong> datos, pue<strong>de</strong>s también utilizarlas para seguir probando.


8.3. NORMALIZANDO UNA CAPA RASTER 83<br />

8.3. Normalizando una capa raster<br />

En ocasiones pue<strong>de</strong> que necesites expresar los valores <strong>de</strong> un grid <strong>de</strong> acuerdo <strong>con</strong> una escala<br />

particular, por ejemplo entre 0 y 1. Esto es relativamente común si tienes diferentes capas que<br />

quieres incorporar en un mo<strong>de</strong>lo en el cual cada una <strong>de</strong> las variables representadas por esas<br />

capas <strong>de</strong>be escalarse <strong>de</strong> forma que se ajuste a una escala pre<strong>de</strong>finida como la mencionada 0–1.<br />

El proceso <strong>de</strong> <strong>con</strong>vertir una capa <strong>con</strong> valores en un rango cualquiera en una <strong>con</strong> valores <strong>de</strong>ntro<br />

<strong>de</strong> un rango dado como el anterior, se <strong>con</strong>oce como normalización.<br />

Ya se ha mencionado <strong>con</strong> anterioridad la calculadora <strong>de</strong> mapas, y <strong>con</strong> ella es posible<br />

normalizar una capa sin más que emplear la siguiente expresión<br />

x ′ i,j = xi,j − min<br />

max<br />

(8.5)<br />

don<strong>de</strong> min y max son, respectivamente, los valores mínimo y máximo absoluto presentes en<br />

la capa.<br />

Sin embargo, una vez más <strong>SEXTANTE</strong> dispone <strong>de</strong> un módulo sencillo para que no sea<br />

necesario utilizar la calculadora <strong>de</strong> mapas para este propósito, lo que simplifica el trabajo.<br />

En<strong>con</strong>trarás este módulo en el menú Raster/Cálculo/Normalizar<br />

Para ejecutar el módulo sólo <strong>de</strong>bes especificar una capa <strong>de</strong> entrada y otra <strong>de</strong> salida (te<br />

recuerdo que pue<strong>de</strong>n ser la misma si <strong>de</strong>seas sobreescribir la primera <strong>de</strong> ellas), y elegir entre<br />

uno <strong>de</strong> los dos métodos disponibles en el campo Método.<br />

(0,0 < x < 1,0): Seleccionando esta opción <strong>SEXTANTE</strong> utiliza la ecuación 8.5 para<br />

normalizar la capa<br />

Desviación típica: Si se usa este método, la <strong>de</strong>sviación típica <strong>de</strong> la capa resultante es<br />

igual a 1.<br />

8.4. <strong>La</strong> calculadora <strong>de</strong> mapas. Álgebra <strong>de</strong> mapas<br />

Como ya <strong>de</strong>berías saber por lo comentado en apartados anteriores, la calculadora <strong>de</strong> mapas<br />

es uno <strong>de</strong> los módulos más potentes y <strong>de</strong> frecuente uso <strong>de</strong> cuanto <strong>SEXTANTE</strong> incluye. <strong>La</strong><br />

calculadora <strong>de</strong> mapas es, como su nombre indica, una herramienta que nos permite efectuar<br />

operaciones aritméticas <strong>con</strong> una serie <strong>de</strong> capas, aplicando estas operaciones en cada una <strong>de</strong> las<br />

celdas <strong>de</strong> las capas seleccionadas. Por su propia naturaleza, es un módulo que pue<strong>de</strong> emplearse<br />

para una larga lista <strong>de</strong> propósitos, y es probable que tar<strong>de</strong> o temprano <strong>de</strong>bas <strong>de</strong> usarlo en tu<br />

trabajo <strong>con</strong> <strong>SEXTANTE</strong>, por lo que resulta básico adquirir un <strong>con</strong>ocimiento a<strong>de</strong>cuado <strong>de</strong> su<br />

manejo. Para ello, en este punto veremos los <strong>de</strong>talles <strong>de</strong> su funcionamiento y haremos algunos<br />

ejemplos.<br />

Pue<strong>de</strong>s acce<strong>de</strong>r a la calculadora <strong>de</strong> mapas a través <strong>de</strong>l menú Raster/Cálculo/ Álgebra <strong>de</strong><br />

Mapas


84 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

<strong>La</strong> ventana <strong>de</strong> parámetros en sí no es compleja, y <strong>con</strong>tiene un numero reducido <strong>de</strong> campos.<br />

No obstante, su uso no es tan inmediato como en otros casos, ya que, por su propia flexibilidad,<br />

el módulo requiere algunos <strong>con</strong>ocimientos extras (tranquilo, que es sencillo <strong>de</strong> todos modos).<br />

Lo primero reseñable es la presencia <strong>de</strong> una ventana <strong>de</strong> seleccion múltiple.<br />

Cuando <strong>SEXTANTE</strong> requiere una entrada múltiple (ya sea una serie <strong>de</strong> capas o un <strong>con</strong>junto<br />

<strong>de</strong> tablas), utiliza un cuadro <strong>de</strong> dialogo <strong>de</strong> selección múltiple como el siguiente. Pue<strong>de</strong>s acce<strong>de</strong>r<br />

a él haciendo clic sobre el botón situado <strong>de</strong>ntro <strong>de</strong>l campo Grids.<br />

Puesto que todas las capas raster que se requieren en este caso han <strong>de</strong> compartir una<br />

misma extensión <strong>de</strong> grid, <strong>de</strong>bes primero escoger una extensión. En caso <strong>con</strong>trario, el cuadro<br />

<strong>de</strong> selección múltiple aparecerá vacío.<br />

En la parte izquierda <strong>de</strong> la ventana aparecen todos los elementos que son susceptibles <strong>de</strong> ser<br />

seleccionados (en este caso, todos los grids bajo la extensión especificada). Haciendo doble clic<br />

sobre ellos, éstos pasan a la parte <strong>de</strong>recha, don<strong>de</strong> se incluyen los que han sido seleccionados.<br />

Haciendo doble clic sobre un elemento en la parte <strong>de</strong>recha, lo <strong>de</strong>vuelve a la parte izquierda,<br />

esto es, lo <strong>de</strong>selecciona.<br />

El or<strong>de</strong>n en que se establezca la selección es irrelevante en ciertos casos, ya que un módulo<br />

pue<strong>de</strong> utilizar todas las capas seleccionadas <strong>de</strong> la misma forma. En otros casos, sin embargo,<br />

el or<strong>de</strong>n sí tiene importancia, y <strong>de</strong>ben or<strong>de</strong>narse las capas seleccionadas <strong>de</strong> acuerdo <strong>con</strong> lo que<br />

se <strong>de</strong>see calcular. Para modificar el or<strong>de</strong>n, pue<strong>de</strong>s seleccionar un elemento en la parte <strong>de</strong>recha<br />

y <strong>de</strong>spués utilizar los botones Arriba y Abajo para <strong>de</strong>splazarlo <strong>de</strong> una posición a otra.<br />

En este caso, el or<strong>de</strong>n <strong>de</strong> las mismas sí es importante, ya que será en función <strong>de</strong>l mismo<br />

como posteriormente se haga referencia a cada capa a la hora <strong>de</strong> introducir la expresión<br />

matemática a evaluar por la calculadora <strong>de</strong> mapas. Selecciona las capas que quieras usar,<br />

sitúalas en un or<strong>de</strong>n a<strong>de</strong>cuado y recuerda éste para su uso posterior.<br />

Al cerrar el cuadro <strong>de</strong> diálogo <strong>de</strong> selección múltiple, la selección quedará sucintamente<br />

expresada en el campo <strong>de</strong>ntro <strong>de</strong> la ventana <strong>de</strong> parámetros.<br />

A partir <strong>de</strong> ahora, las capas seleccionadas se codifican empleando caracteres sencillos, para<br />

<strong>de</strong> este modo nombrarlas en la formula. <strong>La</strong> forma <strong>de</strong> hacer esto es sencilla: la primera capa se


8.4. LA CALCULADORA DE MAPAS. ÁLGEBRA DE MAPAS 85<br />

llama a, la segunda b, la tercera c, y así sucesivamente. Conociendo la posición <strong>de</strong> una capa<br />

en el or<strong>de</strong>n <strong>de</strong> las seleccionadas, simplemente basta utilizar la letra asignada a la misma para<br />

incorporarla en la fórmula, en lugar <strong>de</strong> hacerlo por su nombre u otro atributo similar. Insisto<br />

en lo importante <strong>de</strong> recordar dicho or<strong>de</strong>n para evitar resultados in<strong>con</strong>gruentes. Por lo <strong>de</strong>más,<br />

el método no presenta mayor dificultad.<br />

Como ya es habitual, selecciona una capa <strong>de</strong> salida en el campo Resultado.<br />

Habiendo establecido ya las capas <strong>de</strong> entrada y salida, es el momento <strong>de</strong> <strong>de</strong>finir el elemento<br />

clave <strong>de</strong>l módulo: la fórmula a emplear. Ésta formula se introduce en el campo nombrado como<br />

tal, y <strong>con</strong>siste en una sencilla ca<strong>de</strong>na <strong>de</strong> texto. Veamos qué elementos pue<strong>de</strong>n incorporarse en<br />

esta fórmula.<br />

Comenzando por los más básicos, <strong>SEXTANTE</strong> admite en este módulo el empleo <strong>de</strong> números<br />

enteros y reales, y la realización <strong>de</strong> operaciones aritméticas básicas entre ellos. No es en<br />

absoluto necesario el introducir capas en la fórmula (es <strong>de</strong>cir, añadir caracteres a la misma),<br />

aunque obviamente ello resulta mucho más útil y habitual. Por ejemplo, la fórmula 1+5*6<br />

dará como resultado una nueva capa <strong>con</strong>stante <strong>con</strong> valor 31.<br />

<strong>La</strong> prece<strong>de</strong>ncia <strong>de</strong> operadores es la habitual: + y - se evalúan tras * y /, y éstos <strong>de</strong>spués<br />

<strong>de</strong>l operador <strong>de</strong> potencia .<br />

Un aviso para los usuarios <strong>de</strong> ArcView. <strong>La</strong> calculadora <strong>de</strong> mapas <strong>de</strong> ArcView no usa este<br />

or<strong>de</strong>n, así que si estás acostumbrado a usarla, comprueba que la formula que introduces se<br />

ajusta a la prece<strong>de</strong>ncia <strong>de</strong> operadores <strong>de</strong> <strong>SEXTANTE</strong>. Para evitar errores, usa paréntesis<br />

en caso <strong>de</strong> duda, para estar completamente seguro <strong>de</strong> cómo el programa evaluará la fórmula<br />

introducida.<br />

Para añadir una capa a la fórmula, simplemente usa el carácter que la representa. Esto<br />

se compren<strong>de</strong> mejor <strong>con</strong> un ejemplo, así que aquí tienes uno: la siguiente fórmula genera una<br />

nueva capa <strong>con</strong> la media <strong>de</strong> las dos primeras seleccionadas: (a+b)/2<br />

<strong>SEXTANTE</strong> soporta los siguientes operadores:<br />

Suma (+)<br />

Resta (-)<br />

Multiplicación (*)<br />

División (/)<br />

Potencia ˆ ( )<br />

Junto <strong>con</strong> los anteriores, hay algunas funciones que también pue<strong>de</strong>n usarse. Los parámetros<br />

requeridos van entre paréntesis, y en caso <strong>de</strong> ser varios se separan mediante comas.<br />

Aquí tienes una lista <strong>de</strong>tallada <strong>de</strong> todas las funciones que implementa el módulo <strong>de</strong> calculadora<br />

<strong>de</strong> mapas. En algunos casos se aña<strong>de</strong> un pequeño ejemplo para ayudarte a compren<strong>de</strong>r<br />

mejor cómo funcionan.<br />

ln(x): <strong>de</strong>vuelve el logaritmo neperiano <strong>de</strong> x. (¡¡¡ pero ln(e) no <strong>de</strong>vuelve 1 !!!)<br />

sin(x): <strong>de</strong>vuelve el seno <strong>de</strong> x. x <strong>de</strong>be estar en radianes<br />

cos(x): <strong>de</strong>vuelve el coseno <strong>de</strong> x. x <strong>de</strong>be estar en radianes<br />

tan(x): <strong>de</strong>vuelve la tangente <strong>de</strong> x. x <strong>de</strong>be estar en radianes<br />

asin(x): <strong>de</strong>vuelve el arcoseno <strong>de</strong> x, en radianes<br />

acos(x): <strong>de</strong>vuelve el arcocoseno <strong>de</strong> x, en radianes


86 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

atan(x): <strong>de</strong>vuelve la arcotangente <strong>de</strong> x, en radianes<br />

atan2(x,y): <strong>de</strong>vuelve la arcotangente <strong>de</strong> y/x, en radianes<br />

abs(x): <strong>de</strong>vuelve el valor absoluto <strong>de</strong> x. abs(-5)=5<br />

int(x): <strong>de</strong>vuelve la parte entera <strong>de</strong> x. int(5.4)=5<br />

mod(x,y): <strong>de</strong>vuelve el módulo <strong>de</strong> x/y. mod(7,4)=3<br />

También se incluyen algunas funciones <strong>de</strong> tipo lógico que pue<strong>de</strong>n combinarse <strong>con</strong> las anteriores.<br />

El valor cero representa falso, mientras que el valor 1 representa verda<strong>de</strong>ro.<br />

He aquí una lista <strong>de</strong> las funciones lógicas soportadas por la calculadora <strong>de</strong> mapas:<br />

gt(x,y): <strong>de</strong>vuelve verda<strong>de</strong>ro si x es mayor que y<br />

lt(x,y): <strong>de</strong>vuelve verda<strong>de</strong>ro si x es menor que y<br />

eq(x,y): <strong>de</strong>vuelve verda<strong>de</strong>ro si x es igual que y. Al evaluar esta función, como en el<br />

caso <strong>de</strong> las restantes, el programa lo hace celda a celda. Así pues, eq(a,b) no <strong>de</strong>vuelve<br />

verda<strong>de</strong>ro si la capa a es igual a la b, sino que <strong>de</strong>vuelve uno para las celdas que sean<br />

iguales en ambas capas, y cero en caso <strong>con</strong>trario.<br />

ifelse(<strong>con</strong>dición, x, y): <strong>de</strong>vuelve x si la <strong>con</strong>dición es verda<strong>de</strong>ra (si el valor <strong>de</strong> la expresión<br />

es distinto <strong>de</strong> cero) o y si la <strong>con</strong>dición es falsa (si es igual a cero).<br />

Todas estas funciones pue<strong>de</strong>n combinarse y anidarse para crear fórmulas tan complejas<br />

como necesites, aunque es recomendable en muchas ocasiones el trabajar <strong>con</strong> fórmulas más<br />

reducidas y llevar a cabo varios cálculos, para evitar expresiones difíciles <strong>de</strong> compren<strong>de</strong>r que<br />

pue<strong>de</strong>n dar lugar fácilmente a errores.<br />

<strong>La</strong> integridad <strong>de</strong> la fórmula es comprobada por el programa, y en caso <strong>de</strong> en<strong>con</strong>trar algún<br />

error lo comunicará a través <strong>de</strong> la pestaña <strong>de</strong> ejecución.<br />

Los errores posible incluyen una sintaxis errónea, así como el uso <strong>de</strong> caracteres no asignables<br />

a capas (por ejemplo si empleas el carácter h y solo hay 3 capas seleccionadas).<br />

Un aspecto importante a tener en cuenta es el relativo a las celdas sin datos, ya que si<br />

una <strong>de</strong> ellas aparece, el resultado arrojado, <strong>con</strong> in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> la expresión, es otra celda<br />

sin datos. De igual modo, expresiones como 0<br />

0 también <strong>de</strong>vuelven valor <strong>de</strong> sin datos. <strong>La</strong>s<br />

divisiones por cero, como por ejemplo 4<br />

0 , <strong>de</strong>vuelven valor infinito. También es recomendable<br />

prestar atención a los valores nulos que pue<strong>de</strong>n aparecer en una capa al usar la calculadora <strong>de</strong><br />

mapas.<br />

Para ver la potencia <strong>de</strong> este módulo y que comprendas mejor su modo <strong>de</strong> empleo, vamos<br />

a hacer un par <strong>de</strong> sencillos ejemplos.<br />

Para el primero <strong>de</strong> ellos necesitarás el MDT original y uno <strong>de</strong> los MDTs filtrados que<br />

generamos en la primera parte <strong>de</strong> este capítulo (si no lo tienes, crealo <strong>con</strong> cualquiera <strong>de</strong> los<br />

módulos <strong>de</strong>scritos entonces). Vamos a emplear la calculadora <strong>de</strong> mapas para ver en qué medida<br />

ese proceso <strong>de</strong> filtrado ha alterado la capa original.<br />

Ejecuta la calculadora <strong>de</strong> mapas y selecciona ambas capas en el campo Grids. Sitúa el<br />

original en primer lugar, <strong>de</strong> modo que posteriormente nos refiramos a él usando el carácter a,<br />

y b para el filtrado. En el campo Fórmula, introduce la siguiente expresión: a-b.<br />

Ejecuta el módulo y obtendrás una nueva capa como la siguiente.


8.4. LA CALCULADORA DE MAPAS. ÁLGEBRA DE MAPAS 87<br />

Lo que esta capa representa es la diferencia entre el MDT original y el filtrado. ¿Cómo<br />

po<strong>de</strong>mos saber algo más acerca <strong>de</strong> la modificación sufrida por la capa original al filtrarla?<br />

Para empezar, pue<strong>de</strong>s ir a la pestaña <strong>de</strong> información <strong>de</strong>l elemento activo y comprobar los<br />

valores estadísticos (media, <strong>de</strong>sviación típica...) que ahí se incluían. Ello te dará una primera<br />

i<strong>de</strong>a. Pue<strong>de</strong>s abrir una ventana <strong>de</strong> histograma y ver la forma <strong>de</strong> éste para tener algo más <strong>de</strong><br />

información. Son sólo dos i<strong>de</strong>as sencillas, pero como pue<strong>de</strong>s ver, <strong>con</strong> lo que ya <strong>con</strong>oces hasta<br />

el momento es posible comenzar a analizar <strong>con</strong> rigor la información geográfica <strong>con</strong> la que<br />

trabajamos.<br />

Para el segundo ejemplo, vamos a intentar crear un extremadamente sencillo mapa <strong>de</strong><br />

usos <strong>de</strong> suelo. Supongamos que la vegetación crece por <strong>de</strong>bajo <strong>de</strong> los mil metros únicamente.<br />

Intentemos crear una capa en la que todas las celdas por encima <strong>de</strong> mil metros <strong>con</strong>tenga el<br />

valor 0, y las restantes 1. Hay formas más sencillas <strong>de</strong> hacer esto que utilizando la calculadora<br />

<strong>de</strong> mapas, pero creo que es un muy buen ejemplo para compren<strong>de</strong>r el uso <strong>de</strong> las distintas<br />

fórmulas.<br />

En primer lugar, ejecuta la calculadora y selecciona una única capa, la que <strong>con</strong>tiene el<br />

MDT. Introduce la siguiente fórmula en el campo correspondiente: ifelse(lt(1000,a),1,0)<br />

Este es el aspecto <strong>de</strong> la nueva capa.<br />

Como ves, la fórmula <strong>con</strong>tiene funciones lógicas anidadas, ya que el resultado <strong>de</strong> la función<br />

mayor que se uso como parámetro para evaluar la función <strong>con</strong>dicional. Si esto te resulta difícil<br />

<strong>de</strong> compren<strong>de</strong>r, pue<strong>de</strong>s probar a ejecutar el módulo usando las funciones individualmente y


88 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

<strong>de</strong>spués, una vez entiendas el funcionamiento <strong>de</strong> éstas, crear fórmulas más complejas. Cuanto<br />

más trabajes <strong>con</strong> la calculadora <strong>de</strong> mapas, más soltura ganarás. Es cuestión <strong>de</strong> práctica, pero<br />

no es difícil.<br />

8.5. Cambiando el formato <strong>de</strong> almacenamiento<br />

Deberías ya saber que las capas raster ocupan una gran cantidad <strong>de</strong> memoria, siendo<br />

ésta una <strong>de</strong> las principales <strong>de</strong>sventajas <strong>con</strong> respecto a la información almacenada en formato<br />

vectorial. Hasta este momento, hemos utilizado capas raster que <strong>con</strong>tenían diversos tipos <strong>de</strong><br />

información, en algunos casos <strong>de</strong> tipo <strong>con</strong>tinuo y en otros <strong>de</strong> tipo discreto, y al hacerlo no<br />

hemos dicho nada acerca <strong>de</strong> la precisión necesaria para su manejo y almacenamiento.<br />

Mientras que en el caso <strong>de</strong> un MDT se requiere una cierta precisión <strong>con</strong> objeto <strong>de</strong> reflejar<br />

fielmente las variaciones en el terreno (<strong>de</strong>be ser posible asignar a una celda un valor como<br />

54.32 metros, por ejemplo), algunas otras capas, como la que acabamos <strong>de</strong> crear en el punto<br />

anterior que <strong>con</strong>tenía solo ceros y unos, no requieren tal precisión.<br />

Cuanto mayor es la precisión, mayor es el espacio que se requiere en memoria para almacenar<br />

un valor, así que, en realidad, estamos <strong>de</strong>sperdiciando memoria al almacenar esa capa<br />

<strong>con</strong> precisión mayor <strong>de</strong> la necesaria. En algunos casos, especialmente cuando se trabaja <strong>con</strong><br />

gran<strong>de</strong>s cantida<strong>de</strong>s <strong>de</strong> datos o tenemos problemas <strong>de</strong> rendimiento, pue<strong>de</strong> ser interesante indicarle<br />

al programa que ciertas capas no requieren esa precisión, para que reduzca el espacio<br />

que ocupan en memoria.<br />

Para ello, ejecuta el módulo Raster/Herramientas/Cambiar Formato <strong>de</strong> almacenamiento.<br />

Aquí pue<strong>de</strong>s ver su ventana <strong>de</strong> parámetros.<br />

Como es lógico, <strong>con</strong>tiene dos campos <strong>de</strong>nominados Entrada y Resultado, y es normal<br />

que en ambos selecciones la misma capa, ya que al cambiar el formato <strong>de</strong> almacenamiento,<br />

normalmente no tendrá interés el <strong>con</strong>servar la capa original. El tercer campo que aparece se<br />

<strong>de</strong>nomina Formato <strong>de</strong> Almacenamiento y <strong>con</strong>tiene una lista <strong>con</strong> los distintos formatos. Como<br />

regla general, cuanto menor es el número <strong>de</strong> bytes utilizado por un formato, más simple ha<br />

<strong>de</strong> ser la información en la capa para evitar pérdidas <strong>de</strong> datos. Los tipos <strong>de</strong> coma flotante<br />

permiten almacenar valores reales, mientras que los restantes sólo valores enteros.<br />

De nuevo, si no entien<strong>de</strong>s el significado <strong>de</strong> estos <strong>con</strong>ceptos correctamente, es preferible<br />

no usarlos. Utilizar un formato <strong>de</strong> almacenamiento erróneo pue<strong>de</strong> <strong>con</strong>ducir a la perdida <strong>de</strong><br />

datos. Por ejemplo, para el almacenamiento <strong>de</strong> una capa normalizada entre 0 y 1 no pue<strong>de</strong>n<br />

emplearse más que los tipos <strong>de</strong> coma flotante, ya que todos los valores <strong>con</strong>tenidos son reales<br />

en el rango 0–1. Si se usa un tipo entero, todas las celdas <strong>con</strong> valores menores <strong>de</strong> 1 tendrán<br />

un valor truncado a 0, perdiéndose así toda la significación <strong>de</strong> la capa. Como veremos más<br />

a<strong>de</strong>lante en un ejemplo práctico, el cambio <strong>de</strong> formato no redon<strong>de</strong>a los valores, sino que los<br />

trunca, y ello <strong>de</strong>be tenerse en cuenta a la hora <strong>de</strong> emplear este módulo para cierto tipo <strong>de</strong><br />

<strong>con</strong>versiones.<br />

En cualquier caso, aquí tienes una lista <strong>de</strong> los tipos y los valores que almacenan.<br />

1 byte signed: Valores enteros <strong>de</strong>s<strong>de</strong> -128 a 127


8.6. CAMBIANDO LA ORIENTACIÓN DE UNA CAPA 89<br />

1 byte unsigned: Valores enteros <strong>de</strong>s<strong>de</strong> 0 a 255<br />

2 bytes signed: Valores enteros <strong>de</strong>s<strong>de</strong> -32768 a 32767<br />

2 bytes unsigned: Valores enteros <strong>de</strong>s<strong>de</strong> 0 a 65535<br />

4 bytes signed: Valores enteros <strong>de</strong>s<strong>de</strong> -2147483648 a 2147483647<br />

4 bytes unsigned: Valores enteros <strong>de</strong>s<strong>de</strong> 0 a 4294967295<br />

4 bytes floating point: Valores reales <strong>con</strong> precisión <strong>de</strong> siete dígitos<br />

8 bytes floating point: Valores reales <strong>con</strong> precisión <strong>de</strong> quince dígitos<br />

En algunos casos, sin embargo, pue<strong>de</strong> ser interesante utilizar formatos <strong>de</strong> almacenamiento<br />

<strong>de</strong> tipo entero no por razones <strong>de</strong> memoria, sino por la propia naturaleza <strong>de</strong> la información que<br />

se almacena. Para el trabajo <strong>con</strong> variables discretas, los formatos enteros son más apropiados,<br />

ya que el sistema ✭✭fuerza✮✮ a que cada celda <strong>con</strong>tenga un valor entero clasificado. Veremos esto<br />

<strong>con</strong> más <strong>de</strong>talle en un capítulo posterior, a través <strong>de</strong> un ejemplo.<br />

En resumen, se cauteloso a la hora <strong>de</strong> modificar el formato <strong>de</strong> almacenamiento, en especial<br />

cuando lo modifiques a uno que ocupa menor memoria. Si no estás seguro <strong>de</strong> lo que haces,<br />

mejor no lo hagas y evitarás sustos.<br />

8.6. Cambiando la orientación <strong>de</strong> una capa<br />

Todo programa <strong>de</strong> imágenes tiene entre sus capacida<strong>de</strong>s fundamentales la <strong>de</strong> girar o reflejar<br />

una <strong>de</strong> ellas. <strong>SEXTANTE</strong> incluye también estas funcionalida<strong>de</strong>s, que pue<strong>de</strong>s aplicar a imágenes<br />

o a cualquier capa raster <strong>con</strong> in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> la información que <strong>con</strong>tenga.<br />

En<strong>con</strong>trarás el módulo correspondiente en Raster/Herramientas/Cambiar Orientación<br />

De los campos que se incluyen en la ventana <strong>de</strong> parámetros, el marcado como Método es<br />

el que te permitirá seleccionar cuál <strong>de</strong> las transformaciones <strong>de</strong>seas aplicar.<br />

El seleccionado por <strong>de</strong>fecto, <strong>de</strong>nominado Copia, simplemente crea un duplicado <strong>de</strong> la capa,<br />

clonándola. El efecto <strong>de</strong> los restantes tres métodos se compren<strong>de</strong>n mejor <strong>con</strong> una imagen que<br />

<strong>con</strong> palabras, así que aquí tienes un ejemplo gráfico <strong>de</strong> los mismos.


90 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

Quizás el método Invertir es el más complicado <strong>de</strong> compren<strong>de</strong>r sólo <strong>con</strong> lo anterior. En<br />

lugar <strong>de</strong> modificar la posición <strong>de</strong> las celdas como hacen los restantes, modifica los valores Z<br />

<strong>de</strong> dichas celdas según la siguiente expresión:<br />

z ′ = max − z + min (8.6)<br />

don<strong>de</strong> max y min son, respectivamente, los valores máximo y mínimo <strong>de</strong> Z en la capa.<br />

8.7. Cambiando los valores <strong>de</strong> una capa. Reclasificación<br />

Clasificar los distintos valores <strong>de</strong> una capa es una tarea relativamente común y <strong>de</strong> gran<br />

utilidad en muchos casos. Si recuerdas, en el capítulo <strong>de</strong>dicado al trabajo <strong>con</strong> capas raster<br />

utilizábamos una tabla <strong>de</strong> asignación para <strong>de</strong>finir los colores a utilizar en la representación <strong>de</strong><br />

una capa <strong>de</strong> pendientes según su capacidad <strong>de</strong> acogida para una actividad dada (lo dividimos<br />

en tres clases: buena, normal e ina<strong>de</strong>cuada). Pese a lo anterior, los valores en la capa no eran<br />

modificados, por lo que no po<strong>de</strong>mos utilizarlos para realizar ninguna operación que requiera<br />

usar el valor <strong>de</strong> la clase a la que cada celda pertenece. Para po<strong>de</strong>r hacer esto, es necesario<br />

primero modificar los valores <strong>de</strong> la capa y generar otra nueva ya clasificada. Este proceso se<br />

<strong>con</strong>oce como Reclasificación


8.7. CAMBIANDO LOS VALORES DE UNA CAPA. RECLASIFICACIÓN 91<br />

Para reclasificar una capa, <strong>SEXTANTE</strong> incluye un módulo <strong>de</strong>nominado Reclasificar, en<br />

el cual, como veremos, se hace también uso <strong>de</strong> una tabla <strong>de</strong> asignación, aunque se permiten<br />

algunos ajustes adicionales para emplear <strong>de</strong> forma más flexible los valores <strong>con</strong>tenidos en dicha<br />

tabla. Bajo estas líneas pue<strong>de</strong>s ver la ventana <strong>de</strong> parámetros <strong>de</strong>l módulo.<br />

Pue<strong>de</strong>s acce<strong>de</strong>r a la tabla <strong>de</strong> asignación haciendo clic sobre el botón <strong>de</strong>l campo Tabla.<br />

Si recuerdas, en el caso <strong>de</strong> la tabla <strong>de</strong> asignación para representación en pantalla <strong>de</strong> una<br />

capa, aparecía un campo <strong>con</strong> un color. En este caso no tenemos tal campo (no es necesario),<br />

pero pue<strong>de</strong>s en<strong>con</strong>trar los mismos campos que <strong>de</strong>finen los límites <strong>de</strong> cada clase. En lugar <strong>de</strong>l<br />

campo <strong>de</strong> color, en<strong>con</strong>tramos un campo <strong>de</strong>nominado Remplazar <strong>con</strong>, ya que en este caso a<br />

cada celda no se le asignará un color en pantalla, sino un nuevo valor numérico en la capa <strong>de</strong><br />

salida.<br />

Por supuesto, pue<strong>de</strong>s añadir tantos registros (clases) como quieras y eliminarlos según<br />

<strong>con</strong>si<strong>de</strong>res, haciendo uso <strong>de</strong> los comandos habituales para el trabajo <strong>con</strong> tablas, los cuales<br />

<strong>de</strong>bes ya <strong>con</strong>ocer suficientemente.<br />

Por <strong>de</strong>fecto, únicamente el valor <strong>de</strong> límite inferior (en el campo Valor inferior) es utilizado.<br />

A todas las celdas <strong>con</strong> valores iguales a dicho valor se les asigna en la capa <strong>de</strong> salida el valor<br />

presente para dicho registro en el campo Remplazar <strong>con</strong>. Sin embargo, esto no es lo que<br />

necesitamos para <strong>con</strong>vertir los valores <strong>de</strong> pendiente en clases <strong>de</strong> capacidad <strong>de</strong> acogida. El<br />

módulo incluye otra serie <strong>de</strong> criterios, que pue<strong>de</strong>s en<strong>con</strong>trar en el campo Criterio <strong>de</strong> remplazo.<br />

Define la tabla y cierra su ventana para regresar a la ventana <strong>de</strong> parámetros, don<strong>de</strong> en<strong>con</strong>trarás<br />

dicho campo. Éstas son las opciones que hallarás en el mismo.<br />

El valor en la celda es igual al valor inferior: El criterio por <strong>de</strong>fecto. No es excesivamente<br />

útil si se trabaja <strong>con</strong> capas que <strong>con</strong>tienen una variable <strong>con</strong>tinua, pero sí en el<br />

caso <strong>de</strong> variables discretas. Imagina que tienes una capa <strong>con</strong> 10 clases <strong>de</strong> usos <strong>de</strong> suelo.<br />

Ahora imagina que una <strong>de</strong> esas clases ha variado y <strong>de</strong>bes asociar a todas sus celdas el<br />

valor <strong>de</strong> una nueva clase. Introduce el código <strong>de</strong> la clase anterior en el campo Valor inferior<br />

<strong>de</strong> la tabla, y el <strong>de</strong> la nueva clase en el campo Remplazar <strong>con</strong>, y habrás actualizado<br />

correctamente la capa.


92 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

Valor inferior < Valor en celda < Valor superior: El criterio a utilizar en el ejemplo<br />

para crear la capa <strong>de</strong> capacidad <strong>de</strong> acogida. Todas las celdas cuyos valores son mayores<br />

que el límite inferior y menores que el superior tendrán en la capa reclasificada el valor<br />

situado en el campo Remplazar <strong>con</strong>.<br />

Valor inferior


8.8. REESCALANDO UNA CAPA 93<br />

En este módulo en<strong>con</strong>tramos tres formas distintas <strong>de</strong> proce<strong>de</strong>r, a seleccionar en el campo<br />

Método, para cada una <strong>de</strong> las cuales existe asimismo un subgrupo <strong>de</strong> parámetros. Los métodos<br />

disponibles son:<br />

Valor único. Se reclasifican todas las celdas que cumplan una <strong>con</strong>dición dada respecto<br />

a un único valor. Por ejemplo, todas las celdas mayores <strong>de</strong> 5 cambian a un valor dado.<br />

Rango. Igual que el anterior, pero la <strong>con</strong>dición es relativa a un rango dado, <strong>de</strong>finido por<br />

sus valores extremos.<br />

Tabla. Similar a lo visto para el módulo anterior.<br />

No es, sin embargo, en estos métodos don<strong>de</strong> resi<strong>de</strong> la parte más interesante <strong>de</strong> este módulo,<br />

sino en el grupo Casos Especiales. Mediante los parámetros <strong>de</strong> ajuste que aparecen en el<br />

mismo, resulta posible asignar valores a celdas que no se incluyen <strong>de</strong>ntro <strong>de</strong> las <strong>de</strong>finidas por<br />

las <strong>con</strong>diciones anteriores, sea cual sea el método empleado.<br />

Si, por ejemplo, <strong>de</strong>seas asignar un valor <strong>de</strong> clase a las celdas sin datos, marca la casilla<br />

Valores <strong>de</strong> sin datos y especifica el nuevo valor en Valores <strong>de</strong> sin datos >> nuevo valor<br />

Pue<strong>de</strong>s hacer algo similar para aquellos valores que no entren en ninguno <strong>de</strong> los grupos<br />

anteriores, mediante los campos Otros valores y Otros valores >> nuevo valor.<br />

8.8. Reescalando una capa<br />

Hemos visto en los módulos que hasta este momento llevamos estudiados que para utilizar<br />

dos capas raster <strong>con</strong>juntamente éstas <strong>de</strong>ben situarse en la misma extensión <strong>de</strong> grid. Ello implica<br />

no sólo el hecho <strong>de</strong> que cubran un mismo área, sino también que tengan un mismo tamaño <strong>de</strong><br />

celdas.<br />

Es habitual que si tenemos fuentes <strong>de</strong> datos <strong>de</strong> dos orígenes distintos, las capas <strong>con</strong> las que<br />

trabajemos tengan distinto tamaño <strong>de</strong> celda y no coincidan exactamente en su extensión. Es<br />

más, incluso si son <strong>de</strong> una misma fuente, las resoluciones <strong>con</strong> la que distintos mapas se ofrecen<br />

no han <strong>de</strong> ser iguales. Un MDT tiene normalmente mejor resolución que un mapa <strong>de</strong> usos<br />

<strong>de</strong> suelo, por ejemplo. En este caso, <strong>de</strong>beríamos modificar la resolución <strong>de</strong> uno <strong>de</strong> ellos para<br />

igualarla a la <strong>de</strong>l otro y po<strong>de</strong>r trabajar <strong>con</strong>juntamente sin impedimentos <strong>con</strong> ambas capas.<br />

Incluso si trabajamos <strong>con</strong> una sola capa, también pue<strong>de</strong> ser en ocasiones necesario modificar<br />

su tamaño <strong>de</strong> celda. Imagina el siguiente caso. Estás estudiando un área extensa <strong>de</strong> territorio y<br />

dispones <strong>de</strong> un MDT <strong>con</strong> resolución <strong>de</strong> 5 metros. Puesto que el área es gran<strong>de</strong>, el fichero <strong>con</strong> el<br />

que trabajas es también <strong>de</strong> gran tamaño, y su manejo es lento y poco fluido. Tratándose <strong>de</strong> un<br />

estudio a gran escala, no necesitas tal precisión, y te sería suficiente un MDT <strong>con</strong> resolución <strong>de</strong><br />

25 metros (lo cual implicaría un fichero 25 veces menor y un gran alivio para tu or<strong>de</strong>nador...).<br />

Todo estos problemas mostrados anteriormente en los cuales se hace necesario un cambio<br />

en el tamaño <strong>de</strong> celda para su solución, pue<strong>de</strong>n solventarse en <strong>SEXTANTE</strong> reescalando una<br />

capa raster. El módulo que sirve para realizar esta tarea lo en<strong>con</strong>traras en el menú Remuestrear<br />

Su ventana <strong>de</strong> parámetros es sencilla, pero el módulo en sí ofrece distintas posibilida<strong>de</strong>s<br />

y analizaremos <strong>de</strong> forma separada cómo resolver cada uno <strong>de</strong> los casos anteriores. De hecho,


94 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

esta ventana <strong>de</strong> parámetros no es única, ya que posteriormente el módulo nos mostrará nuevas<br />

ventanas, distintas en función <strong>de</strong> lo que en esta primera introduzcamos.<br />

In<strong>de</strong>pendientemente <strong>de</strong> todo ello, en el campo Entrada <strong>de</strong>bes seleccionar la capa que <strong>de</strong>seas<br />

reescalar. A <strong>con</strong>tinuación, selecciona en el campo Resultado las características <strong>de</strong> la nueva capa<br />

una vez sea reescalada. Pue<strong>de</strong>s elegir entre las siguientes opciones:<br />

Especificar nuevas dimensiones: El usuario pue<strong>de</strong> escoger el nuevo tamaño <strong>de</strong> celda<br />

en las unida<strong>de</strong>s actuales. <strong>La</strong> capa resultante ocupará la misma extensión que la capa<br />

original. Éste es el método a utilizar en el segundo <strong>de</strong> los casos presentados anteriormente.<br />

Extensión <strong>de</strong> grid: Este método crea un nuevo grid que tiene las mismas propieda<strong>de</strong>s<br />

que otro ya existente, tomando <strong>de</strong> él no sólo su extensión, sino también su tamaño <strong>de</strong><br />

celda, recortando el original si no coincidiera exactamente. Es el método a utilizar para<br />

hacer compatibles una serie <strong>de</strong> grids <strong>de</strong> cara a po<strong>de</strong>r utilizar ambos en alguno <strong>de</strong> los<br />

módulos <strong>de</strong> <strong>análisis</strong>, tal y como la calculadora <strong>de</strong> mapas que ya hemos visto.<br />

Grid: Igual que el anterior, pero en lugar <strong>de</strong> crear una nueva capa, sobreescribe una ya<br />

existente, <strong>de</strong> la cual toma la información necesaria (extensión y tamaño <strong>de</strong> celda).<br />

Para comenzar a trabajar, elijamos la primera opción Especificar nuevas dimensiones.<br />

Selecciona una capa cualquiera <strong>de</strong> las que tengas abiertas en este momento y cambiemos su<br />

tamaño <strong>de</strong> celda. Al hacer clic sobre Aceptar, el módulo aún no se ejecuta, sino que nos muestra<br />

una nueva ventana <strong>de</strong> parámetros.<br />

De los campos que <strong>con</strong>tiene, en este caso solo es editable el <strong>de</strong>nominado Tamaño <strong>de</strong> celda.<br />

En él <strong>de</strong>bes introducir el nuevo tamaño <strong>de</strong> celda, en las mismas unida<strong>de</strong>s que el actual. Una<br />

vez lo hayas hecho, presiona Enter o haz clic en otro campo para validar el valor que has<br />

introducido. Con dicho valor el módulo calcula automáticamente la nueva extensión <strong>de</strong> la<br />

capa y la introduce en los dos campos restantes. Como es lógico, cuanto mayor es el tamaño<br />

<strong>de</strong> celda, menores los valores correspondientes <strong>de</strong> filas y columnas, y viceversa.<br />

Cierra la ventana haciendo clic en Aceptar para llegar a la tercera (y última) ventana <strong>de</strong><br />

parámetros.<br />

Ésta sólo <strong>con</strong>tiene un único campo: Tipo <strong>de</strong> interpolación. <strong>La</strong>s opciones disponibles en la<br />

lista <strong>de</strong>pen<strong>de</strong>n <strong>de</strong>l tamaño <strong>de</strong> celda escogido. Si estás cambiando a un tamaño <strong>de</strong> celda menor,<br />

dispondrás <strong>de</strong> cinco posibilida<strong>de</strong>s:<br />

Vecino más cercano<br />

Bilinear<br />

Por distancia inversa<br />

Spline bicúbico<br />

B–Spline


8.8. REESCALANDO UNA CAPA 95<br />

Éstas son las diferentes formulaciones que <strong>SEXTANTE</strong> utiliza para asignar un valor a<br />

aquellas celdas <strong>de</strong> la capa final que no existen en la capa original (puesto que el tamaño <strong>de</strong><br />

celda final es menor, el numero <strong>de</strong> celdas en la capa final será mayor), en función <strong>de</strong> los valores<br />

<strong>de</strong> esta última.<br />

Si se cambia el tamaño <strong>de</strong> celda a uno mayor, aparece una nueva opción<br />

Valor medio<br />

En este caso la capa final <strong>con</strong>tiene menos celdas que la inicial. Ello quiere <strong>de</strong>cir que el<br />

espacio ocupado por una celda era antes ocupado por más <strong>de</strong> una, y por ello pue<strong>de</strong> emplearse<br />

este método <strong>con</strong>sistente en calcular una media <strong>de</strong> valores <strong>de</strong> las que ocupaban dicho espacio<br />

en la capa inicial.<br />

Explicar <strong>con</strong> <strong>de</strong>talle estas metodologías es complejo y requiere introducir formulaciones<br />

matemáticas no sencillas. Como regla general, los métodos situados hacia el final <strong>de</strong> la lista<br />

<strong>de</strong>splegable son más complejos y requieren más tiempo <strong>de</strong> proceso, dando mejores resultados.<br />

A<strong>de</strong>más, generan nuevas capas más ✭✭suaves✮✮, lo cual pue<strong>de</strong> compren<strong>de</strong>rse mejor si se ejecutan<br />

sobre una imagen y se mira la <strong>de</strong>finición <strong>de</strong> la imagen remuestreada.<br />

Pese a que no es necesario <strong>de</strong>tallar las diferencias entre los métodos anteriores <strong>de</strong>s<strong>de</strong> el<br />

punto <strong>de</strong> vista <strong>de</strong> sus formulaciones matemáticas, si que hay una diferencia que <strong>de</strong>be ser<br />

señalada para evitar resultados erróneos que puedan <strong>de</strong>rivar <strong>de</strong> su <strong>de</strong>s<strong>con</strong>ocimiento. Todos<br />

los métodos excepto el <strong>de</strong> Vecino más cercano pue<strong>de</strong>n introducir en la capa resultado valores<br />

que originalmente no existían en la capa original. Ello quiere <strong>de</strong>cir que si hay dos celdas <strong>con</strong><br />

valores 1 y 2 y en base a ellos se <strong>de</strong>be calcular el valor <strong>de</strong> una nueva celda, pue<strong>de</strong>n asignar<br />

un valor <strong>de</strong> 1.5, incluso si todos los valores en la capa origen son enteros. Esto es a<strong>de</strong>cuado<br />

cuando se trabaja <strong>con</strong> variables <strong>con</strong>tinuas, pero no en el caso <strong>de</strong> variables discretas, ya que<br />

pue<strong>de</strong> dar lugar a resultados sin sentido.<br />

Por ejemplo, imagina que necesitas reescalar una capa que <strong>con</strong>tiene información sobre usos<br />

<strong>de</strong> suelo. El valor 1 representa una celda <strong>con</strong> bosque y el valor 2 una zona urbanizada. En este<br />

caso, ¿qué representa una celda <strong>con</strong> valor 1.5? Nada. <strong>La</strong>s clases están representadas mediante<br />

valores enteros, y no es posible asignar ningún significado a un valor tal como 1.5. Por eso,<br />

cuando trabajes <strong>con</strong> variables discretas como por ejemplo al utilizar capas <strong>con</strong> información <strong>de</strong><br />

clases, <strong>de</strong>bes emplear el método <strong>de</strong> vecino más cercano si necesitas reescalar la capa. De otro<br />

modo, el resultado que obtengas probablemente no sea <strong>de</strong> utilidad y <strong>con</strong>tenga información<br />

incoherente <strong>con</strong> la propia naturaleza <strong>de</strong> la capa.<br />

En la ventana inicial <strong>de</strong> parámetros hay un campo <strong>de</strong>nominado Conservar Formato <strong>de</strong><br />

Almacenamiento, que sirve en parte para evitar este tipo <strong>de</strong> circunstancias.<br />

Volviendo <strong>de</strong> nuevo a dicha ventana <strong>de</strong> parámetros, veamos ahora como reescalar una capa<br />

<strong>con</strong> las dimensiones <strong>de</strong> otra ya existente. Para ello, selecciona como entrada la capa recortada<br />

que creamos en una sección anterior. Esta capa tiene una extensión distinta a las restantes<br />

capas (por ejemplo, al MDT original según se <strong>con</strong>tiene en el fichero <strong>de</strong> ejemplo que acompaña<br />

al programa), y su mismo tamaño <strong>de</strong> celda. Pue<strong>de</strong>s hacer que tenga un tamaño <strong>de</strong> celda<br />

distinto, sin más que emplear lo que acabas <strong>de</strong> apren<strong>de</strong>r hace unas líneas.<br />

En el menú Resultado selecciona Extensión <strong>de</strong> grid. Haz clic en aceptar y en este caso<br />

la ventana <strong>de</strong> parámetros que verás no es como en el anterior, sino similar a la mostrada a<br />

<strong>con</strong>tinuación.


96 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

Simplemente <strong>de</strong>bes seleccionar la capa a partir <strong>de</strong> la cual tomar la información para el<br />

remuestreo. Elige en este caso el MDT original. Si las extensiones no coinci<strong>de</strong>n completamente<br />

y hay celdas en la capa <strong>de</strong> <strong>de</strong>stino fuera <strong>de</strong> los límites <strong>de</strong> la capa origen (como es en este caso),<br />

dichas celdas tendrán un valor <strong>de</strong> sin datos. De este modo, si eliges por error una capa que no<br />

se solapa en absoluto <strong>con</strong> la <strong>de</strong> origen, obtendrás una capa sin datos.<br />

Haz clic en Aceptar para pasar a la última ventana <strong>de</strong> parámetros (ésta es igual para<br />

cualquiera <strong>de</strong> los métodos, así que no la explicaré <strong>de</strong> nuevo). Cuando cierres ésta, el módulo<br />

se ejecutará y tendrás una nueva capa. Si representas esta capa en un nuevo mapa, su aspecto<br />

es idéntico al <strong>de</strong> la capa recortada, pero en realidad no son iguales. ¿Por qué? <strong>La</strong> extensión<br />

<strong>de</strong> esta capa es mayor, ya que es igual a la <strong>de</strong>l MDT original. Lo que suce<strong>de</strong> es que <strong>con</strong>tiene<br />

celdas sin datos que no se representan en el mapa, y por ello la apariencia es igual. Pue<strong>de</strong>s<br />

comprobar esta diferencia haciendo zoom a la capa activa y viendo cómo el encuadre obtenido<br />

es diferente en cada caso.<br />

Veremos más a<strong>de</strong>lante que <strong>SEXTANTE</strong> incluye un módulo para eliminar esas celdas perimetrales<br />

sin datos, pero por ahora déjalos ahí, ya que nos servirán para un próximo ejemplo.<br />

8.9. ¿Remuestrear o (<strong>de</strong>s-)agregar?<br />

Supón que trabajas <strong>con</strong> la siguiente malla <strong>de</strong> datos 3 × 3. Ya sé que es muy pequeña, pero<br />

para este ejemplo es suficiente y es más sencillo explicar sobre ella.<br />

10 24 15<br />

12 33 22<br />

7 27 30<br />

Sea s el tamaño <strong>de</strong> celda <strong>de</strong> la capa anterior, y supongamos que <strong>de</strong>seas reescalarla para<br />

obtener una nueva <strong>con</strong> un tamaño <strong>de</strong> celda s ′ = 3s. El resultado sera una capa <strong>con</strong> una única<br />

celda <strong>con</strong> un valor <strong>de</strong> 20 (la media <strong>de</strong> las 9 celdas). El tipo <strong>de</strong> interpolación no es relevante<br />

aquí para el <strong>con</strong>tenido <strong>de</strong> este apartado, así que no te preocupes por ello.<br />

Si la capa <strong>con</strong>tiene una variable tal como la elevación <strong>de</strong> cada celda o la temperatura en la<br />

misma, reescalar la capa tal y como hemos visto en el punto anterior es perfectamente correcto.<br />

Sin embargo, imagina que los valores <strong>de</strong> cada celda representan el número <strong>de</strong> individuos <strong>de</strong> una<br />

especie dada que viven en dicha celda. Parece lógico pensar que en este caso el valor a asignar<br />

no <strong>de</strong>be ser la media <strong>de</strong> las celdas que cubre la celda <strong>de</strong>stino en la capa origen, sino la suma<br />

<strong>de</strong> éstas. Por ejemplo, en el caso anterior, si hay 180 individuos en las 9 celdas, <strong>de</strong>be también<br />

haber 180 en la celda <strong>de</strong> la capa reescalada, pues ocupa la misma extensión <strong>de</strong> territorio.<br />

Lo que <strong>de</strong>bemos hacer en este caso no es simplemente reescalar la capa, sino realizar lo<br />

que se <strong>de</strong>nomina una agregación (o <strong>de</strong>sagregación, según sea la relación entre los tamaños <strong>de</strong><br />

celda original y final). Para hacer esto, veamos unas sencillas nociones matemáticas. Supón<br />

que la relación entre los tamaños <strong>de</strong> celda es la siguiente:<br />

r = s′<br />

(8.7)<br />

s<br />

En el caso anterior r = 3<br />

Es sencillo ver que el valor correcto que <strong>de</strong>be aparecer en la celda y el valor obtenido tras<br />

utilizar el modulo <strong>de</strong> remuestreo se relacionan mediante la siguiente expresión:<br />

Vcorrecto = Vremuestreo · r 2<br />

Para (<strong>de</strong>s-)agregar la capa una vez la has remuestreado, simplemente calcula el valor <strong>de</strong> r<br />

y seguidamente utiliza la calculadora <strong>de</strong> mapas para llevar a cabo la operación anterior.


8.10. RECORTANDO UNA CAPA RASTER 97<br />

Cuando realizas una agregación como la anterior en la que el tamaño <strong>de</strong> celda en la capa<br />

resultante es mayor que el <strong>de</strong> la original y es un múltiplo entero <strong>de</strong> ésta, pue<strong>de</strong>s utilizar el<br />

módulo Agregación, que a<strong>de</strong>más incluye otras opciones.<br />

En el campo Tamaño <strong>de</strong> Agregación aña<strong>de</strong> el factor que relaciona los tamaños <strong>de</strong> celda<br />

(tiene que ser un valor entero). A<strong>de</strong>más <strong>de</strong> la opción Suma (la seleccionada por <strong>de</strong>fecto, y<br />

la que se usaría en el ejemplo que hemos analizado anteriormente), en<strong>con</strong>trarás las opciones<br />

Máximo y Mínimo, útiles para otros supuestos.<br />

No es necesario seleccionar una capa <strong>de</strong> salida, ya que el módulo genera una nueva automáticamente.<br />

8.10. Recortando una capa raster<br />

No siempre será necesario utilizar toda la extensión cubierta por una capa raster para<br />

llevar a cabo nuestro trabajo. Si disponemos, por ejemplo, <strong>de</strong> un MDT <strong>de</strong> toda una provincia,<br />

y únicamente queremos analizar una parte <strong>de</strong> ella, es innecesario tener que trabajar <strong>con</strong> la<br />

capa al completo, pudiendo agilizar nuestro trabajo restringiendo esa capa al área <strong>de</strong> nuestro<br />

<strong>análisis</strong>. Este área es lo que se <strong>de</strong>nomina una Región <strong>de</strong> Interés 1<br />

Para llevar a cabo esto, <strong>SEXTANTE</strong> dispone <strong>de</strong> un módulo que crea una nueva capa a<br />

partir <strong>de</strong> la información <strong>de</strong> otra preexistente, pero <strong>con</strong> una extensión distinta. Para ejecutar<br />

este módulo, selecciona el menú Raster/Herramientas/Edición/Cortar Grid.<br />

Sólo hay un campo, Grid, en el cual <strong>de</strong>bes introducir la capa a recortar. A <strong>con</strong>tinuación<br />

pulsa en Aceptar. Verás que no pasa nada y parece que el módulo no se ha ejecutado.<br />

Efectivamente, el módulo aún no ha realizado tarea alguna, ya que todavía no dispone <strong>de</strong><br />

la información necesaria para ello. A<strong>de</strong>más <strong>de</strong> especificar la capa que <strong>de</strong>seas recortar, <strong>de</strong>bes<br />

indicarle cuál es la extensión <strong>de</strong> la nueva capa, y ello no se lleva a cabo a través <strong>de</strong> la habitual<br />

ventana <strong>de</strong> parámetros, sino <strong>de</strong> una manera distinta.<br />

Este módulo es <strong>de</strong> un tipo diferente a los que hasta ahora hemos visto, y se encuentra entre<br />

los que <strong>de</strong>nominamos módulos interactivos. En este tipo <strong>de</strong> módulos, parte <strong>de</strong> la información<br />

necesaria se introduce sobre una vista <strong>de</strong> mapa, utilizando el ratón en lugar <strong>de</strong>l teclado. Para<br />

ello, <strong>de</strong>be estar activa la herramienta Seleccionar.<br />

Vete a la vista <strong>de</strong> mapa que <strong>con</strong>tenga la capa que <strong>de</strong>seas cortar. Si no existe ese mapa,<br />

créalo. Usa las herramientas <strong>de</strong> zoom para encuadrar el mapa y <strong>de</strong>spués activa la herramienta<br />

Seleccionar. Ahora, pincha <strong>con</strong> el botón izquierdo <strong>de</strong>l ratón y arrastra sobre el mapa para<br />

marcar el cuadro que <strong>de</strong>finirá la extensión <strong>de</strong> la nueva capa.<br />

1 Region of Interest, abreviadamente ROI. Este término es muy común en la jerga <strong>de</strong>l tratamiento <strong>de</strong> imágenes,<br />

aunque no tanto <strong>de</strong>ntro <strong>de</strong>l campo <strong>de</strong>l <strong>análisis</strong> <strong>geográfico</strong>.


98 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

Cuando sueltes el botón, el módulo completará su tarea y la nueva capa creada se añadirá al<br />

nodo correspondiente <strong>de</strong>ntro <strong>de</strong> la pestaña <strong>de</strong> datos. Antes, sin embargo, te muestra los nuevos<br />

atributos <strong>de</strong> la capa recortada, por si <strong>de</strong>seas modificarlos para un ajuste más fino.<br />

Aquí tienes un ejemplo <strong>de</strong> un recorte <strong>de</strong> la parte inferior izquierda <strong>de</strong>l MDT:<br />

Sin embargo, la ejecución <strong>de</strong>l módulo no se <strong>de</strong>tiene ahí. Si intentas ahora ejecutar otro<br />

módulo, <strong>SEXTANTE</strong> no te <strong>de</strong>jará, ya que aún esta ejecutando éste.<br />

Si ahora pinchas <strong>de</strong> nuevo sobre el mapa y <strong>de</strong>fines otra región, el módulo creará una<br />

nueva capa. <strong>La</strong> entrada <strong>de</strong> datos interactiva no finaliza cuando introduces una primera vez<br />

la información necesaria, sino que sigue esperando a que repitas el proceso. Para finalizar la<br />

ejecución (y que <strong>de</strong> este modo la herramienta Seleccionar recupere su funcionalidad habitual),<br />

simplemente vuelve a seleccionar el nombre <strong>de</strong>l módulo en el menú correspondiente, como si<br />

lo quisieras ejecutar <strong>de</strong> nuevo <strong>de</strong>s<strong>de</strong> el inicio.<br />

Cuando lleguemos al capítulo <strong>de</strong>dicado al <strong>análisis</strong> <strong>de</strong>l terreno y la hidrología, veremos<br />

algunos módulos interactivos más y podrás compren<strong>de</strong>r mejor su funcionamiento.<br />

8.11. Uniendo varias capas raster<br />

Frecuentemente, para una única variable, la información necesaria para cubrir un área <strong>de</strong><br />

estudio no se encuentra en una única capa, sino que son varias <strong>de</strong> ellas las que la <strong>con</strong>tienen, en<br />

especial si dicho área es amplia. Para llevar a cabo cualquier tipo <strong>de</strong> <strong>análisis</strong> sobre la misma,<br />

es necesario que toda esa información referida a la variable analizada se <strong>con</strong>tenga en una única<br />

capa, ya que, como venimos viendo, la entrada es única en cada campo. Podrían analizarse<br />

por separado las distintas porciones, pero en muchos casos eso no es correcto (a<strong>de</strong>más <strong>de</strong> ser<br />

mucho menos práctico), ya que la relación entre las mismas es importante. Por ejemplo en el<br />

caso <strong>de</strong> un estudio hidrológico, la <strong>con</strong>ectividad entre todas las celdas <strong>de</strong> la zona a estudiar es<br />

un elemento imprescindible.


8.11. UNIENDO VARIAS CAPAS RASTER 99<br />

Para combinar una serie <strong>de</strong> capas raster y unirlas en una sola, primero es necesario cargar<br />

todas ellas. Puesto que no coincidirán en su extensión (<strong>de</strong> ser así, es raro que quieras unirlas),<br />

se situarán <strong>de</strong>ntro <strong>de</strong> la pestaña <strong>de</strong> datos en ramas diferentes.<br />

Para tener capas <strong>con</strong> las que trabajar, pue<strong>de</strong>s utilizar el modulo Cortar Grid que se<br />

explicó en el punto anterior, y generar porciones <strong>de</strong> nuestro bien <strong>con</strong>ocido MDT o <strong>de</strong> cualquier<br />

otra capa. Por supuesto, todas las porciones <strong>de</strong>ben provenir <strong>de</strong> un mismo mapa, ya que <strong>de</strong>be<br />

<strong>con</strong>tener la misma variable. De otro modo no tendría sentido esta unión.<br />

Selecciona el menú Raster/Herramientas/Creación/Unir grids<br />

Selecciona en el campo Grids a unir todas las capas que <strong>de</strong>sees unir. Después, selecciona<br />

en el campo Resultado la capa que <strong>de</strong>seas generar <strong>con</strong> la unión <strong>de</strong> las anteriores.<br />

Si eliges una capa ya existente, la capa resultante tendrá las dimensiones y el tamaño <strong>de</strong><br />

celda <strong>de</strong> ésta, incluso si las capas a unir ocupan una extensión mayor.<br />

Si seleccionas la opción [crear], las dimensiones <strong>de</strong> la capa serán las mínimas necesarias<br />

para cubrir todo el área ocupada por el <strong>con</strong>junto <strong>de</strong> las capas a unir. Ten cuidado al utilizar<br />

esta opción, ya que si por error introduces capas muy alejadas unas <strong>de</strong> otras (esto pue<strong>de</strong><br />

suce<strong>de</strong>r, por ejemplo, si están referenciadas en distintos sistemas <strong>de</strong> coor<strong>de</strong>nadas), la capa<br />

resultante pue<strong>de</strong> tener un tamaño enorme y ser inmanejable para tu or<strong>de</strong>nador.<br />

Respecto al tamaño <strong>de</strong> celda, si todas las capas a unir tienen el mismo, éste será el que se<br />

utilice. Si son <strong>de</strong> tamaños distintos, el programa te preguntará el tamaño que quieres utilizar<br />

mediante una nueva pantalla.<br />

En este último caso, el programa aplica métodos <strong>de</strong> interpolación para calcular los valores<br />

en las celdas <strong>de</strong> la capa resultante. Pue<strong>de</strong>s elegir estos métodos en la lista <strong>de</strong>splegable <strong>de</strong>l<br />

campo Tipo <strong>de</strong> interpolación. Los mismos comentarios hechos para cada uno <strong>de</strong> ellos en un<br />

punto anterior son válidos en este caso.<br />

<strong>La</strong> unión <strong>de</strong> un par <strong>de</strong> porciones <strong>de</strong>l MDT <strong>con</strong> el que venimos trabajando da como resultado<br />

algo similar a lo siguiente.


100 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

Aunque no lo veas, hay celdas sin datos en la capa generada, ya que toda capa raster <strong>de</strong>be<br />

tener una forma rectangular, y los espacios en blanco no <strong>de</strong>finidos se llenan por <strong>de</strong>fecto <strong>con</strong><br />

celdas sin datos.<br />

8.12. Ajustando la extensión a celdas <strong>con</strong> datos<br />

Aunque a la hora <strong>de</strong> representar una capa raster en un mapa <strong>SEXTANTE</strong> ignora las<br />

celdas sin datos y éstas no se aprecian, en realidad están ahí y ocupan un espacio valioso en<br />

memoria. A efectos <strong>de</strong>l rendimiento <strong>de</strong>l programa las celdas sin datos no representan un lastre<br />

apreciable, ya que los módulos las ignoran y no las procesan, pero aún así no resulta óptimo<br />

trabajar <strong>con</strong> ellas si se pue<strong>de</strong>n eliminar. Esto suce<strong>de</strong> cuando las celdas están en el perímetro<br />

<strong>de</strong> la parte que <strong>con</strong>tiene datos, ya que si son interiores no pue<strong>de</strong>n eliminarse.<br />

Una solución sencilla para eliminar celdas sin datos perimetrales es usar el modulo Cortar<br />

Grid y ajustarlo a la extensión misma <strong>de</strong> la zona <strong>de</strong> datos. No obstante, hay un módulo más<br />

cómodo y preciso que reduce la extensión <strong>de</strong> un grid al mínimo recuadro que enmarca todas<br />

las celdas válidas, eliminando las celdas sin datos exteriores al mismo.<br />

Para ejecutar este módulo, selecciona el menú Ajustar a Extensión <strong>con</strong> Datos Válidos<br />

<strong>La</strong> pantalla <strong>de</strong> parámetros es sencilla, y basta introducir las capas a recortar (si sólo quieres<br />

recortar una, pue<strong>de</strong>s hacerlo, pero el módulo esta pensado para reducir bloques enteros <strong>de</strong><br />

capas <strong>con</strong> las que se trabaje simultáneamente). <strong>La</strong> extensión elegida para el recorte es la<br />

mínima que garantiza que ningún valor <strong>de</strong> ninguna <strong>de</strong> las capas queda excluido.<br />

Aunque a la hora <strong>de</strong> representarlas, tanto la capa recortada como la original tienen el mismo<br />

aspecto, presentan diferencias notables cuando se emplean para otros fines. Por ejemplo, si la<br />

utilizas para <strong>de</strong>finir la extensión <strong>de</strong> la capa resultante en un remuestreo <strong>de</strong> otra capa, o en<br />

una unión <strong>de</strong> varias según hemos visto, los resultados serán bien distintos.<br />

8.13. Completando los datos <strong>de</strong> una capa<br />

SEXANTE incluye entre sus módulos un grupo cuya finalidad es completar la información<br />

<strong>de</strong> capas raster que presentan celdas sin datos. Dependiendo <strong>de</strong> cómo sean las áreas ocupadas


8.13. COMPLETANDO LOS DATOS DE UNA CAPA 101<br />

por dichas celdas y <strong>de</strong> la información <strong>de</strong> que se disponga, <strong>de</strong>berá emplearse uno u otro módulo.<br />

Todos ellos se agrupan bajo el submenú Rellenado <strong>de</strong> datos.<br />

En caso <strong>de</strong> tener una capa <strong>con</strong> celdas aisladas sin datos, el módulo más a<strong>de</strong>cuado es el<br />

<strong>de</strong>nominado Rellenar Datos [una única celda]<br />

<strong>La</strong> ventana <strong>de</strong> parámetros simplemente requiere introducir la capa <strong>de</strong> origen y la capa<br />

resultado don<strong>de</strong> se almacenará la versión completada <strong>de</strong> la anterior.<br />

Para el caso <strong>de</strong> tener capas <strong>con</strong> áreas mayores sin datos, el módulo Rellenar Datos es el<br />

a<strong>de</strong>cuado.<br />

Junto <strong>con</strong> los campos <strong>de</strong> entrada y salida, existe otro nuevo <strong>de</strong>nominado Umbral <strong>de</strong> Tensión,<br />

que regula la forma en que la información disponible se utiliza para rellenar los huecos.<br />

Prueba <strong>con</strong> distintos valores hasta obtener un resultado satisfactorio. Pue<strong>de</strong>s usar los módulos<br />

que ya <strong>con</strong>oces para comparar los distintos resultados. Valores altos <strong>de</strong> tensión implican un<br />

tiempo <strong>de</strong> proceso menor.<br />

Pue<strong>de</strong>s ver el progreso <strong>de</strong>l módulo a lo largo <strong>de</strong> sus distintas fases en la vista <strong>de</strong> mapa, ya<br />

que la representación <strong>de</strong> la capa se actualiza en tiempo real.<br />

Para ver cómo funciona este módulo, haz lo siguiente. Recorta un trozo <strong>de</strong>l MDT <strong>de</strong><br />

ejemplo y <strong>de</strong>spués hazle a ese recorte un reescalado utilizando como capa <strong>de</strong> <strong>de</strong>stino una <strong>con</strong><br />

la extensión <strong>de</strong>l MDT original. Ello <strong>de</strong> dará como resultado una capa <strong>con</strong> muchas celdas sin<br />

datos, exactamente las que quedaban fuera <strong>de</strong>l recorte que hiciste.<br />

Si rellenas los datos <strong>de</strong> esas celdas, tendrás algo como lo siguiente.<br />

Es obvio que las zonas sin datos son muy gran<strong>de</strong>s y el resultado no es <strong>de</strong> la calidad requerida,<br />

en comparación <strong>con</strong> el original, pero <strong>con</strong> áreas menores se obtienen resultados altamente


102 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

satisfactorios. A<strong>de</strong>más estas áreas perimetrales fuerzan a llevar a cabo una extrapolación, que<br />

da resultados más imprecisos que en el caso <strong>de</strong> tratarse <strong>de</strong> celdas interiores, para las que se<br />

realiza una interpolación.<br />

Si se dispone <strong>de</strong> otras capas adicionales que pue<strong>de</strong>n ayudar a completar la información<br />

ausente, el modulo Completar Grid es una mejor opción que los anteriores.<br />

En este caso, la información para completar las celdas sin datos no se toma <strong>de</strong> la propia<br />

capa, sino <strong>de</strong> la capa especificada en el campo Grid <strong>con</strong> información adicional. Los otros dos<br />

campos son idénticos al caso <strong>de</strong> los módulos anteriores ya explicados.<br />

8.14. Zonas <strong>de</strong> influencia (Buffers)<br />

<strong>La</strong> creación <strong>de</strong> zonas <strong>de</strong> influencia, habitualmente <strong>con</strong>ocidas como buffers, es una <strong>de</strong> las<br />

tareas más útiles y habituales <strong>de</strong>ntro <strong>de</strong> un SIG genérico. Generalmente, se <strong>con</strong>si<strong>de</strong>ran como<br />

algo propio <strong>de</strong> un enfoque vectorial, pero también pue<strong>de</strong>n crearse <strong>con</strong> cartografía raster. De<br />

hecho, veremos cómo surgen nuevas posibilida<strong>de</strong>s sumamente interesantes al adoptar este<br />

enfoque, todas ellas recogidas en los correspondientes módulos <strong>de</strong>ntro <strong>de</strong> <strong>SEXTANTE</strong>.<br />

Para crear un área <strong>de</strong> influencia necesitarás una capa raster que <strong>con</strong>tenga información<br />

sobre los elementos alre<strong>de</strong>dor <strong>de</strong> los cuales <strong>de</strong>finir dicho área <strong>de</strong> influencia. Estos elementos<br />

<strong>de</strong>ben <strong>con</strong>tener cualquier valor numérico a excepción <strong>de</strong> cero, mientras que las restantes celdas<br />

<strong>de</strong>ben tener cero o bien ser celdas sin datos. Con esta información, se genera una nueva capa<br />

en la que las celdas pertenecientes a los elementos <strong>con</strong>tienen valor 1, las celdas en el buffer un<br />

valor <strong>de</strong> 2, y las restantes se mantienen como celdas sin datos.<br />

Aún no hemos utilizado ninguna capa raster que no <strong>con</strong>tenga una variable numérica (sea<br />

<strong>con</strong>tinua o no) sino entida<strong>de</strong>s codificadas en formato raster. Más a<strong>de</strong>lante veremos cómo<br />

po<strong>de</strong>mos <strong>con</strong>vertir, por ejemplo, la capa vectorial <strong>de</strong> cauces en una capa raster <strong>con</strong> esa misma<br />

información. Por el momento, pue<strong>de</strong>s abrir dicha capa raster abriendo el fichero cauces.dgm,<br />

y será ésta la que utilicemos para los ejemplos <strong>de</strong> este apartado.<br />

Comencemos calculando un área <strong>de</strong> influencia fija a ambos lados <strong>de</strong> los cauces <strong>con</strong>tenidos<br />

en la capa, el caso más típico <strong>de</strong> cuantos habitualmente se presentan. Selecciona el menú Raster/Zonas<br />

<strong>de</strong> influencia[buffer]/Zona <strong>de</strong> influencia[buffer]<br />

El parámetro que <strong>de</strong>fine las características <strong>de</strong>l buffer es la distancia que ocupa el mismo<br />

a cada lado <strong>de</strong> cada celda <strong>con</strong> valor distinto <strong>de</strong> cero. Esta distancia pue<strong>de</strong> ser la misma para<br />

todas las celdas, o bien estar en función <strong>de</strong>l valor <strong>con</strong>tenido en la misma.


8.14. ZONAS DE INFLUENCIA (BUFFERS) 103<br />

En el caso más sencillo, la distancia fija se introduce en el campo Distancia y en el campo<br />

Distancia <strong>de</strong> influencia <strong>de</strong>be seleccionarse Valor Fijo. <strong>La</strong> distancia <strong>de</strong>be estar expresada en<br />

las mismas unida<strong>de</strong>s que el tamaño <strong>de</strong> celda <strong>de</strong> la capa sobre la que se quiere <strong>de</strong>finir el buffer.<br />

El <strong>análisis</strong> necesario para la <strong>de</strong>finición <strong>de</strong>l buffer se realiza a nivel <strong>de</strong> celda, es <strong>de</strong>cir, una a<br />

una, in<strong>de</strong>pendientemente <strong>de</strong> que en <strong>con</strong>junto éstas representen alguna entidad <strong>de</strong> otro tipo,<br />

tal como una linea, como en el caso <strong>de</strong>l ejemplo.<br />

Empleando una distancia <strong>de</strong> 500, el resultado obtenido es el siguiente.<br />

Con este mismo módulo, y si se selecciona en el campo Distancia <strong>de</strong> influencia la opción<br />

Valor <strong>de</strong> celda, el valor a situar alre<strong>de</strong>dor <strong>de</strong> cada celda correspon<strong>de</strong> al valor <strong>con</strong>tenido en la<br />

misma, permitiendo la creación <strong>de</strong> áreas <strong>de</strong> influencia variables. Por ejemplo, para el ejemplo<br />

propuesto, po<strong>de</strong>mos crear buffers que sean mayores en aquellos cauces <strong>de</strong> mayor magnitud, ya<br />

que los valores <strong>con</strong>tenidos en las celdas representan en este caso el or<strong>de</strong>n <strong>de</strong>l cauce que pasa<br />

por las mismas.<br />

Si ejecutas el módulo ahora, verás que la capa creada no aporta mucha diferencia <strong>con</strong><br />

respecto a la capa original. Esto se <strong>de</strong>be a que los valores <strong>de</strong> las celdas se sitúan en el rango<br />

1–7, <strong>con</strong> lo que el buffer creado en ningún caso es más ancho <strong>de</strong> 7 metros, y esto sólo en las<br />

zonas bajas que es don<strong>de</strong> se <strong>con</strong>centran los cauces <strong>de</strong> mayor or<strong>de</strong>n. Puesto que el tamaño <strong>de</strong><br />

celda <strong>con</strong> el que trabajamos es <strong>de</strong> 25 metros, en ningún caso el buffer alre<strong>de</strong>dor <strong>de</strong> una celda<br />

ocupa ni siquiera otra celda más, por lo que la diferencia es inexistente <strong>con</strong> respecto a la capa<br />

que <strong>con</strong>tiene la información <strong>de</strong> partida <strong>con</strong> el trazado <strong>de</strong> los cauces.<br />

Una posibilidad sería reducir el tamaño <strong>de</strong> celda empleando el modulo Remuestrear. Otra<br />

es hacer el buffer más gran<strong>de</strong>, para lo cual <strong>de</strong>bes modificar los valores <strong>de</strong> las celdas. Pue<strong>de</strong>s<br />

hacer esto <strong>con</strong> la calculadora <strong>de</strong> mapas.<br />

Aplicando esta segunda opción y multiplicando por 100 la capa <strong>de</strong> ór<strong>de</strong>nes <strong>de</strong> cauce,<br />

obtenemos un buffer <strong>de</strong> 100 metros en celdas <strong>con</strong> or<strong>de</strong>n 1, <strong>de</strong> 200 en celdas <strong>con</strong> or<strong>de</strong>n 2, etc.<br />

El resultado <strong>de</strong> esto tendrá un aspecto similar al mostrado a <strong>con</strong>tinuación, <strong>con</strong> las zonas <strong>de</strong><br />

influencia ya claramente visibles y bien <strong>de</strong>finidas.


104 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

Se pue<strong>de</strong>n crear buffers que <strong>de</strong>pendan no únicamente <strong>de</strong> los valores <strong>de</strong> las celdas alre<strong>de</strong>dor<br />

<strong>de</strong> las cuales se <strong>de</strong>finen, sino <strong>de</strong> los valores <strong>de</strong> las propias celdas <strong>con</strong>tenidas <strong>de</strong>ntro <strong>de</strong>l área<br />

<strong>de</strong> influencia. Ésta es una <strong>de</strong> las funcionalida<strong>de</strong>s accesorias que pue<strong>de</strong>n obtenerse al <strong>de</strong>finir<br />

buffers <strong>con</strong> un enfoque raster, y resulta <strong>de</strong> suma utilidad en muchos casos, como a <strong>con</strong>tinuación<br />

veremos mediante algunos ejemplos prácticos.<br />

Para crear este tipo <strong>de</strong> buffers, selecciona el menú Raster/Zonas <strong>de</strong> influencia[buffer]/Zona<br />

<strong>de</strong> influencia según umbral[Threshold buffer].<br />

<strong>La</strong> ventana en este caso es ligeramente más compleja. El valor clave es ahora el umbral, que<br />

pue<strong>de</strong> ser <strong>con</strong>stante para todas las celdas (en cuyo casos <strong>de</strong>be introducir en el campo Umbral),<br />

o bien variable para cada celda (en este caso se <strong>de</strong>be especificar una capa <strong>de</strong> valores umbral en<br />

el campo Grid <strong>de</strong> Umbrales). Si seleccionas una capa en este último campo, automáticamente<br />

el módulo entien<strong>de</strong> que utilizas un valor <strong>de</strong> umbral variable y prescin<strong>de</strong> <strong>de</strong>l valor fijo.<br />

El umbral no se aplica sobre los valores <strong>de</strong> la capa que <strong>de</strong>fine los elementos entorno a los<br />

cuales <strong>de</strong>finir el buffer, sino sobre los <strong>de</strong> otra capa que <strong>de</strong>be seleccionarse en el campo Grid<br />

<strong>de</strong> Parámetro Umbral. Esta capa generalmente <strong>con</strong>tendrá información acerca <strong>de</strong> una variable<br />

<strong>con</strong>tinua, tal como altura o pendiente, por ejemplo.<br />

Con esta información, <strong>SEXTANTE</strong> pue<strong>de</strong> trabajar <strong>de</strong> dos maneras distintas, según interprete<br />

esos umbrales. Estas dos opciones se encuentran en el campo Tipo <strong>de</strong> umbral:<br />

Absoluto<br />

Relativo<br />

Veamos una breve explicación acerca <strong>de</strong> cada una <strong>de</strong> estas modalida<strong>de</strong>s.<br />

En ambos casos, el buffer se expan<strong>de</strong> a partir <strong>de</strong> cada celda válida hacia las circundantes,<br />

<strong>de</strong>teniéndose únicamente cuando se cumple una <strong>con</strong>dición relativa a los valores <strong>de</strong> dichas celdas<br />

circundantes en la capa que <strong>con</strong>tiene el parámetro umbral.


8.14. ZONAS DE INFLUENCIA (BUFFERS) 105<br />

Empleando un umbral absoluto, todas las celdas circundantes hacia las que se expan<strong>de</strong> el<br />

buffer pasarán a formar parte <strong>de</strong> éste si el valor <strong>de</strong>l parámetro umbral en las mismas es menor<br />

que dicho umbral. Por ejemplo, usando este módulo y utilizando un MDT pue<strong>de</strong>s crear buffers<br />

variables que representen áreas <strong>de</strong> influencia más reales. Veamos un ejemplo.<br />

Supón por un momento que la capa <strong>de</strong> ríos que utilizamos como capa <strong>de</strong> entida<strong>de</strong>s sobre<br />

la que <strong>con</strong>struir las áreas <strong>de</strong> influencia no codifica cauces, sino una red <strong>de</strong> carreteras. Imagina<br />

que <strong>con</strong> tu vehículo pue<strong>de</strong>s <strong>con</strong>ducir por dichas carreteras, y también fuera <strong>de</strong> ellas siempre<br />

que la pendiente no supere el 10 %. Pue<strong>de</strong>s <strong>de</strong>finir las areas <strong>de</strong> influencia a ambos lados <strong>de</strong><br />

la carretera como aquellas que son accesibles por tu vehículo. Para hacerlo, simplemente usa<br />

una capa <strong>de</strong> pendientes en el campo Grid <strong>de</strong> parámetro umbral y un umbral <strong>con</strong>stante <strong>de</strong> 10.<br />

Para añadir un poco más <strong>de</strong> práctica, no utilices un valor fijo, sino prueba a introducir<br />

una capa raster <strong>con</strong> un valor <strong>con</strong>stante. El resultado <strong>de</strong>biera ser el mismo. Existe un módulo<br />

que simplifica la creación <strong>de</strong> capas <strong>con</strong>stantes, pero <strong>con</strong> lo que ya sabes pue<strong>de</strong>s crear una sin<br />

dificulta<strong>de</strong>s. ¿Necesitas alguna pista?. Ahí va una: usa la calculadora <strong>de</strong> mapas. ¡A<strong>de</strong>lante!<br />

El resultado tendrá un aspecto como el siguiente.<br />

Con respecto a los buffers <strong>con</strong> umbral relativo, se seleccionan para el buffer en este caso las<br />

celdas <strong>con</strong>tiguas para las que la diferencia entre ellas y la celda inicial es menor que el umbral<br />

para la misma. Probablemente te será más fácil compren<strong>de</strong>r esto si piensas en la herramienta<br />

Varita mágica que se encuentra en los programas <strong>de</strong> retoque fotográfico habituales como<br />

Photoshop o The Gimp. Con ella, se hace clic sobre un pixel (la celda <strong>con</strong> una valor distinto<br />

<strong>de</strong> cero en nuestro caso) y todos los pixels <strong>con</strong>tiguos <strong>con</strong> un color similar (esa ✭✭similitud✮✮ se<br />

<strong>de</strong>fine igualmente por un umbral) quedan seleccionados. En el caso <strong>de</strong> nuestro módulo, éste<br />

trabaja como si hiciera clic sobre cada una <strong>de</strong> las celdas válidas, usando para cada una el<br />

umbral especificado en la capa <strong>de</strong> valores <strong>de</strong> umbral.<br />

Veamos un caso posible <strong>de</strong> utilización. Vuelve a <strong>con</strong>si<strong>de</strong>rar que las entida<strong>de</strong>s representadas<br />

en la capa <strong>con</strong> la que trabajamos son cauces. Ahora supón que quieres calcular un área <strong>de</strong><br />

inundación para una altura <strong>de</strong> 10 metros (ya sé que es una profundidad excesiva, pero <strong>con</strong><br />

el MDT <strong>con</strong> el que trabajamos podrás <strong>de</strong> este modo ver mejor el resultado). Este área <strong>de</strong><br />

inundación se compondrá <strong>de</strong> todas aquellas celdas <strong>con</strong>tiguas que tengan una altura no superior<br />

en más <strong>de</strong> diez metros a la <strong>de</strong> la celda <strong>de</strong>s<strong>de</strong> la que se expan<strong>de</strong> el buffer en cada caso. Des<strong>de</strong> el<br />

punto <strong>de</strong> vista hidráulico ésta es una solución imprecisa, pero <strong>con</strong> esta resolución <strong>con</strong> la que<br />

trabajamos se pue<strong>de</strong> <strong>con</strong>si<strong>de</strong>rar como válida, ya que no disponemos <strong>de</strong> <strong>de</strong>talle suficiente como<br />

para plantear otra formulación más compleja.<br />

Bajo estas líneas pue<strong>de</strong>s ver el resultado <strong>de</strong> lo anterior.


106 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

Para hacerlo más real, pue<strong>de</strong>s emplear una capa <strong>de</strong> valores <strong>de</strong> umbral no <strong>con</strong>stante. Es<br />

lógico pensar que el calado no será igual en todas las partes <strong>de</strong> los cauces, ya que <strong>de</strong>pen<strong>de</strong><br />

<strong>de</strong> la cantidad <strong>de</strong> agua que fluye <strong>de</strong>s<strong>de</strong> aguas arriba, así como <strong>de</strong> la propia geometría <strong>de</strong> la<br />

sección transversal en cada punto. Veremos más a<strong>de</strong>lante que <strong>SEXTANTE</strong> incluye un módulo<br />

que crea una capa <strong>con</strong> valores <strong>de</strong> calado <strong>de</strong> flujo teniendo en cuenta todos estos <strong>de</strong>talles. Por el<br />

momento, y como en otras ocasiones, te proporciono éste ya calculado para que lo uses aquí sin<br />

tener que esperar a llegar a posteriores capítulos. Abre en la carpeta <strong>de</strong> datos <strong>de</strong> ejemplo el<br />

fichero calado.dgm.<br />

Los valores están expresados en metros, así que <strong>de</strong>bes asegurarte <strong>de</strong> que las elevaciones en el<br />

MDT también se encuentran expresadas en estas unida<strong>de</strong>s. En este caso, no <strong>de</strong>bes preocuparte,<br />

ya que así suce<strong>de</strong>.<br />

<strong>La</strong> capa <strong>de</strong> zonas <strong>de</strong> influencia creada <strong>de</strong> este modo tiene un aspecto como el siguiente.<br />

Aunque no está incluido <strong>de</strong>ntro <strong>de</strong>l grupo <strong>de</strong> módulos para zonas <strong>de</strong> influencia, <strong>SEXTANTE</strong><br />

incluye uno <strong>de</strong>nominado Selección <strong>de</strong> Rango que guarda relación <strong>con</strong> los anteriores.


8.15. CREANDO UNA CAPA RASTER DESDE CERO 107<br />

Si para los buffers <strong>con</strong> umbral relativo existía una similitud <strong>con</strong> la herramienta Varita<br />

mágica <strong>de</strong> los programas <strong>de</strong> edición <strong>de</strong> imágenes, este módulo es aún más parecido, ya que<br />

es <strong>de</strong> tipo interactivo y <strong>de</strong>bemos seleccionar una celda para que alre<strong>de</strong>dor <strong>de</strong> la misma se<br />

<strong>de</strong>limite una zona en función <strong>de</strong> su valores (ésta queda <strong>de</strong>finida en la capa resultante a modo<br />

<strong>de</strong> máscara.) No obstante, el valor <strong>de</strong> la celda sobre la que se hace clic <strong>con</strong> el ratón no tiene<br />

importancia, ya que lo que hace el módulo es seleccionar todas las celdas alre<strong>de</strong>dor <strong>de</strong> la misma<br />

que se sitúan en el rango <strong>de</strong> valores establecido <strong>con</strong> los parámetros Límite Superior y Límite<br />

Inferior. El valor en la máscara es el indicado en el campo Valor <strong>de</strong> Relleno.<br />

Si no se selecciona una capa <strong>de</strong> salida, el grid sobre el que se aplica el relleno es el propio<br />

<strong>de</strong> entrada.<br />

Lo mejor es que pruebes por ti mismo el funcionamiento, trabajando por ejemplo sobre el<br />

MDT y generando zonas correspondientes a bandas altitudinales.<br />

Aquí pue<strong>de</strong>s ver un posible caso.<br />

8.15. Creando una capa raster <strong>de</strong>s<strong>de</strong> cero<br />

En algunas ocasiones pue<strong>de</strong> ser <strong>de</strong> interés el crear capas <strong>de</strong>s<strong>de</strong> cero sin necesidad <strong>de</strong> basarse<br />

en otras preexistentes (salvo, tal vez, para tomar sus dimensiones), <strong>con</strong> el objetivo <strong>de</strong> utilizarlas<br />

para cumplir diferentes funciones. En esta sección veremos algunos módulos que nos permiten<br />

llevar esto a cabo y, aunque no sea una tarea en exceso habitual, nos va a permitir tener<br />

una nueva serie <strong>de</strong> grids <strong>de</strong> partida <strong>con</strong> los que luego seguir trabajando al <strong>de</strong>sarrollar las<br />

explicaciones <strong>de</strong> otros módulos.<br />

Des<strong>de</strong> un punto <strong>de</strong> vista puramente científico, estas capas ✭✭artificiales✮✮ guardan interés<br />

para probar módulos o llevar a cabo <strong>análisis</strong> <strong>de</strong> errores, por ejemplo.<br />

8.15.1. Creando una capa según una función matemática<br />

Para crear una capa cuyos valores <strong>de</strong>riven <strong>de</strong> una expresión matemática, utiliza el módulo<br />

Raster/Cálculo/Creación/Función


108 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

Este módulo genera una nueva capa cuyos valores z, los <strong>con</strong>tenidos en cada celda, <strong>de</strong>pen<strong>de</strong>n<br />

<strong>de</strong> las coor<strong>de</strong>nadas x e y <strong>de</strong> cada una <strong>de</strong> ellas. Es <strong>de</strong>cir:<br />

z = f(x,y) (8.8)<br />

<strong>La</strong> <strong>de</strong>finición <strong>de</strong> esta fórmula se lleva a cabo <strong>de</strong> modo muy similar a lo explicado para<br />

el caso <strong>de</strong> la calculadora <strong>de</strong> mapas. Pue<strong>de</strong>s utilizar todas las funciones entonces <strong>de</strong>scritas,<br />

incluyendo las funciones lógicas. <strong>La</strong> diferencia radica en que en esta ocasión no se utiliza el<br />

valor <strong>de</strong> la celda en sí, sino su posición <strong>de</strong>ntro <strong>de</strong> la malla <strong>de</strong> datos <strong>de</strong> la capa.<br />

<strong>La</strong>s coor<strong>de</strong>nadas que se usan como valores x e y no son coor<strong>de</strong>nadas reales (por ejemplo,<br />

coor<strong>de</strong>nadas UTM en el caso <strong>de</strong> nuestra capa <strong>de</strong> ejemplo), sino coor<strong>de</strong>nadas <strong>de</strong>finidas por el<br />

módulo según un esquema muy sencillo. Para compren<strong>de</strong>r esto, echa un vistazo a la siguiente<br />

figura.<br />

Hay cuatro valores <strong>de</strong> frontera: xmin, xmax, ymin y ymax. Éstos se <strong>de</strong>finen en los campos<br />

<strong>de</strong>l mismo nombre <strong>de</strong>ntro <strong>de</strong> la ventana <strong>de</strong> parámetros. Utilizando estos valores, que correspon<strong>de</strong>n<br />

a los límites indicados en las esquinas <strong>de</strong> la figura anterior, se <strong>de</strong>fine un sistema <strong>de</strong><br />

coor<strong>de</strong>nadas para la capa. <strong>SEXTANTE</strong> calcula las coor<strong>de</strong>nadas <strong>de</strong> las celdas en este sistema<br />

y esas coor<strong>de</strong>nadas dan los valores a utilizar en la fórmula. De este modo, pue<strong>de</strong>n obtenerse<br />

distintos resultados para una misma la fórmula.<br />

A <strong>con</strong>tinuación tienes unos ejemplos que seguro te ayudaran a compren<strong>de</strong>r mejor cómo<br />

funciona el módulo.


8.15. CREANDO UNA CAPA RASTER DESDE CERO 109<br />

Como he dicho antes, estas superficies matemáticas nos servirán como datos <strong>de</strong> partida<br />

para posteriores capítulos, así que aquí va un pequeño ejercicio. Usando este módulo intenta<br />

crear una superficie semiesférica. No te preocupes si no eres capaz <strong>de</strong> ello, llegado el momento<br />

te daré la fórmula exacta para hacerlo<br />

8.15.2. Creando un terreno artificial<br />

Aunque estas superficies son interesantes, no tienen un aspecto muy real, al menos si queremos<br />

utilizarlas como Mo<strong>de</strong>los Digitales <strong>de</strong>l Terreno (afortunadamente, la superficie terrestre<br />

no tiene forma regular sinusoidal...). Si lo que necesitas es un terreno <strong>con</strong> un aspecto más<br />

realista, existen otros módulos que <strong>de</strong>bes utilizar en lugar <strong>de</strong>l anterior.<br />

Éstos módulos tampoco son <strong>de</strong> uso habitual, pero su inclusión en este capítulo se justifica<br />

una vez más por el hecho <strong>de</strong> que posteriormente serán utilizados sus resultados, y ayudarán a<br />

una mejor comprensión <strong>de</strong> otros apartados más relevantes <strong>de</strong>l programa.<br />

Para empezar, selecciona el menú /Generación <strong>de</strong> relieve.<br />

Dos valores son los que <strong>con</strong>trolan cómo se crea el terreno:<br />

Iteraciones: Cuantas más iteraciones se realicen, más tiempo será necesario para completar<br />

la ejecución <strong>de</strong>l módulo y más evolucionado será el terreno resultante.<br />

Radio: El radio <strong>de</strong>fine la extensión <strong>de</strong>l área modificada en cada iteración. Un radio<br />

mayor implica un mayor tiempo <strong>de</strong> ejecución.


110 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

Después <strong>de</strong> ajustar estos parámetros se <strong>de</strong>be <strong>de</strong>finir la extensión <strong>de</strong> la capa a crear. Existen<br />

tres posibilida<strong>de</strong>s:<br />

Dimensiones <strong>de</strong>finidas por el usuario<br />

Emplear dimensiones <strong>de</strong> otro grid<br />

Sobreescribir grid<br />

Son bastante similares a las opciones que ya vimos para el caso <strong>de</strong> reescalar una capa,<br />

así que supongo que no tendrás problemas en compren<strong>de</strong>r su funcionamiento.<br />

Si seleccionas la opción <strong>de</strong> capa <strong>de</strong>finida por el usuario, necesitas completar los datos <strong>de</strong><br />

tamaño <strong>de</strong> celda y dimensiones <strong>de</strong> la malla <strong>de</strong> datos en una nueva ventana.<br />

Puesto que la capa se crea <strong>de</strong>s<strong>de</strong> cero y no se introducen coor<strong>de</strong>nadas en ningún momento,<br />

las coor<strong>de</strong>nadas <strong>de</strong> la esquina inferior izquierda son (0,0). De cualquier modo, y dada la propia<br />

naturaleza <strong>de</strong> esta capa, probablemente no necesites emplear las coor<strong>de</strong>nadas para nada cuando<br />

la uses.<br />

El aspecto <strong>de</strong>l terreno creado <strong>con</strong> este módulo es bastante realista. Aquí pue<strong>de</strong>s verlo <strong>con</strong><br />

sombreado añadido para dar un mayor efecto <strong>de</strong> relieve.<br />

Similar a este módulo es el <strong>de</strong>nominado Relieve Gaussiano, el cual, pese a implementar un<br />

algoritmo distinto, tiene un funcionamiento parecido.


8.16. ALGUNOS EJEMPLOS 111<br />

Como pue<strong>de</strong>s ver, hay menos opciones relativas al tamaño <strong>de</strong> la capa (no pue<strong>de</strong>s utilizar las<br />

dimensiones <strong>de</strong> una preexistente), mientras que la propia creación <strong>de</strong>l relieve como tal implica<br />

un mayor numero <strong>de</strong> parámetros que <strong>de</strong>ben ajustarse.<br />

Probablemente el más importante <strong>de</strong> estos parámetros sea el <strong>de</strong>nominado Suavidad <strong>de</strong>l<br />

relieve, que toma valores entre 0 y 1. Valores cercanos a cero generan terrenos rugosos, mientras<br />

que los cercanos a 1 generan relieves suaves.<br />

El parámetro <strong>de</strong>nominado Aplanamiento se utiliza sólo cuando en el campo método se<br />

selecciona la opción Aplanar, y <strong>de</strong>fine cuan plano es el relieve resultante.<br />

En lugar <strong>de</strong> dar <strong>de</strong>scripciones <strong>de</strong>talladas <strong>de</strong> estos parámetros y su efecto, mejor prueba<br />

distintos valores y comprueba los resultados. A fin <strong>de</strong> cuentas, éste es un módulo incluido<br />

<strong>de</strong>ntro <strong>de</strong>l grupo Diversiones, así que. ..¡diviértete!. A efectos <strong>de</strong> sus uso posterior, todas las<br />

mallas que crees nos servirán <strong>de</strong> igual modo, así que no te preocupes por el resultado.<br />

8.15.3. Creando una capa <strong>de</strong> valor <strong>con</strong>stante<br />

Una capa raster <strong>con</strong> valor <strong>con</strong>stante es algo que, como ya hemos visto, resulta útil en<br />

muchas situaciones. Por ejemplo, si no tienes información en forma <strong>de</strong> malla raster para un<br />

<strong>de</strong>terminado parámetro y quieres usar un valor <strong>con</strong>stante para po<strong>de</strong>r incorporar una capa<br />

<strong>de</strong>ntro <strong>de</strong> un mo<strong>de</strong>lo más complejo. Veremos este tipo <strong>de</strong> casos en otros puntos <strong>de</strong> este libro,<br />

por ejemplo al tratar mo<strong>de</strong>los <strong>de</strong> propagación <strong>de</strong> fuego.<br />

Crear una capa así es sencillo utilizando la calculadora <strong>de</strong> mapas. Coge cualquier grid<br />

que <strong>con</strong>tenga valores válidos (es <strong>de</strong>cir, sin celdas sin datos), diví<strong>de</strong>lo por sí mismo y <strong>de</strong>spués<br />

multiplícalo por el valor <strong>con</strong>stante <strong>de</strong>seado. Sin embargo, es todavía más fácil haciendo uso <strong>de</strong><br />

un módulo creado a tal efecto, que pue<strong>de</strong>s en<strong>con</strong>trar en el menú Herramientas/Edición/Crear<br />

Grid <strong>de</strong> Valor Constante<br />

Aquí pue<strong>de</strong>s ver su ventana <strong>de</strong> parámetros.<br />

Seguro que no necesitas más información para utilizar este módulo.<br />

8.16. Algunos ejemplos<br />

Antes <strong>de</strong> pasar al capítulo siguiente, veamos un par <strong>de</strong> ejemplos más complejos en los cuales<br />

po<strong>de</strong>r utilizar las técnicas que ya <strong>con</strong>ocemos y dar uso a los módulos vistos hasta el momento.<br />

Pese a que ya <strong>de</strong>bieras tener un buen manejo <strong>de</strong> módulos tales como la calculadora <strong>de</strong> mapas,<br />

es una buena i<strong>de</strong>a tratar algunos casos reales e intentar resolverlos mediante su uso. De este<br />

modo, apren<strong>de</strong>rás algunos pequeños pero muy útiles trucos y afianzaras los <strong>con</strong>ocimientos<br />

adquiridos hasta este punto, que no son en absoluto escasos.<br />

En esta sección apren<strong>de</strong>remos cómo combinar dos capas temáticas que no <strong>con</strong>tengan una<br />

variable <strong>con</strong>tinua sino información codificada, y crear una nueva a partir <strong>de</strong> la intersección<br />

<strong>de</strong> sus valores. A<strong>de</strong>más, estudiaremos cómo restringir los datos <strong>de</strong> una capa a una región<br />

particular usando mascaras binarias.


112 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

8.16.1. Combinando capas temáticas<br />

Para este primer ejemplo, vamos a trabajar <strong>con</strong> algunos <strong>con</strong>ceptos hidrológicos muy sencillos,<br />

que introduciré brevemente antes <strong>de</strong> <strong>con</strong>tinuar. Si estas familiarizado <strong>con</strong> ellos, no es<br />

necesario que leas esta primera parte; pue<strong>de</strong>s saltar directamente al <strong>con</strong>tenido relacionado<br />

directamente <strong>con</strong> el manejo <strong>de</strong> <strong>SEXTANTE</strong>, unos párrafos más a<strong>de</strong>lante.<br />

Existen muchos métodos para estimar cómo la precipitación se <strong>con</strong>vierte en escorrentía<br />

en función <strong>de</strong> las características <strong>de</strong>l suelo y <strong>de</strong> los usos <strong>de</strong>l mismo. Uno <strong>de</strong> los más populares<br />

y <strong>con</strong>solidados es el <strong>de</strong>nominado método <strong>de</strong>l Número <strong>de</strong> Curva, que evalúa la generación <strong>de</strong><br />

escorrentías asignando acada zona un valor entre 0 y 100. 0 indica que no se genera ninguna<br />

escorrentía (es <strong>de</strong>cir, el suelo absorbe toda la precipitación que le llega), mientras que 100<br />

indica que se trata <strong>de</strong> una superficie impermeable y que toda la precipitación se <strong>con</strong>vierte en<br />

escorrentía.<br />

<strong>La</strong> fórmula exacta para estimar el valor <strong>de</strong> la escorrentía a partir <strong>de</strong> la precipitación para<br />

un Número <strong>de</strong> Curva dado, viene indicada por la fórmula<br />

PE<br />

don<strong>de</strong><br />

P representa la precipitación,<br />

R es la escorrentía,<br />

y S retención potencial máxima.<br />

<br />

= (P −0,2S)2<br />

P+0,8S<br />

if P ≥ 0,2S<br />

= 0 if P < 0,2S<br />

(8.9)<br />

El propio Número <strong>de</strong> Curva se utiliza para el cálculo <strong>de</strong> S, <strong>de</strong> acuerdo <strong>con</strong> la siguiente<br />

fórmula:<br />

<br />

1000<br />

S = 2,54 − 10<br />

(8.10)<br />

N<br />

don<strong>de</strong> N es dicho Número <strong>de</strong> Curva.<br />

Simplificando un poco, po<strong>de</strong>mos asumir que el Número <strong>de</strong> Curva <strong>de</strong>pen<strong>de</strong> principalmente<br />

<strong>de</strong>l tipo <strong>de</strong> suelo y <strong>de</strong>l uso <strong>de</strong>l mismo. Hay muchas tablas en las cuales se <strong>de</strong>fine <strong>de</strong> forma<br />

exacta esta <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> estos factores, pero <strong>con</strong> el fin <strong>de</strong> mantener este ejercicio lo más<br />

sencillo posible, usaremos la siguiente tabla, que no es sino una pequeña porción <strong>de</strong> una <strong>de</strong><br />

dichas tablas, adaptada a los ficheros incluidos como ejemplo <strong>con</strong> el programa (estos ficheros<br />

son uso suelo.dgm y tipo suelo.dgm).<br />

Suelo tipo A Suelo tipo B Suelo tipo C<br />

Cultivos sin prácticas <strong>de</strong> <strong>con</strong>servación<br />

72 81 88<br />

Cultivos <strong>con</strong> prácticas <strong>de</strong> <strong>con</strong>servación<br />

62 71 78<br />

Bosques 36 60 73<br />

En los ficheros anteriores se ha empleado la siguiente codificación para representar las<br />

clases existentes.<br />

Cultivos sin prácticas <strong>de</strong> <strong>con</strong>servación = 1<br />

Cultivos sin prácticas <strong>de</strong> <strong>con</strong>servación = 2<br />

Bosques = 3


8.16. ALGUNOS EJEMPLOS 113<br />

Suelo tipo A = 1<br />

Suelo tipo B = 2<br />

Suelo tipo C = 3<br />

Usando estas dos capas (cárgalas en el programa si aún no lo has hecho) y la tabla mostrada<br />

anteriormente, ¿cómo po<strong>de</strong>mos generar una nueva capa que <strong>con</strong>tenga valores <strong>de</strong> Número <strong>de</strong><br />

Curva? Es claro que <strong>de</strong>bemos utilizar la calculadora <strong>de</strong> mapas y realizar alguna operación para<br />

combinar las dos capas <strong>de</strong> las que disponemos, pero no es tan obvio cómo usarla. <strong>La</strong> cuestión<br />

es: ¿qué fórmula <strong>de</strong>bo utilizar en la calculadora <strong>de</strong> mapas para realizar esa operación? <strong>La</strong><br />

respuesta, como ahora veremos, no está en la formula únicamente, sino en la combinación <strong>de</strong><br />

ella <strong>con</strong> los valores empleados para codificar las distintas clases en ambas capas <strong>de</strong> partida.<br />

Imagina que utilizamos la siguiente fórmula en la calculadora <strong>de</strong> mapas: a*b . No es una<br />

buena i<strong>de</strong>a, ya que la combinación <strong>de</strong>l tipo Cultivos sin prácticas <strong>de</strong> <strong>con</strong>versación <strong>con</strong> un suelo<br />

<strong>de</strong> tipo B dará el mismo resultado que la <strong>de</strong>l tipo Cultivos <strong>con</strong> prácticas <strong>de</strong> <strong>con</strong>versación y un<br />

suelo <strong>de</strong> tipo A, es <strong>de</strong>cir, 2. Este valor <strong>de</strong> 2 no es en sí un valor <strong>de</strong> Número <strong>de</strong> Curva, sino una<br />

clase <strong>de</strong>ntro <strong>de</strong>ntro <strong>de</strong> los distintos valores que el Número <strong>de</strong> Curva pue<strong>de</strong> tomar. Acudiendo<br />

a la tabla, ¿cual es el valor correcto para asignar a esta clase 3? ¿81? ¿62?<br />

Para asegurarnos <strong>de</strong> que cada valor <strong>de</strong> clase <strong>de</strong> Número <strong>de</strong> Curva pue<strong>de</strong> ser producido por<br />

una y sólo una combinación <strong>de</strong> uso <strong>de</strong> suelo y tipo <strong>de</strong> suelo, po<strong>de</strong>mos modificar la codificación<br />

empleada para ambos parámetros y utilizar la siguiente:<br />

Cultivos sin prácticas <strong>de</strong> <strong>con</strong>servación = 1<br />

Cultivos sin prácticas <strong>de</strong> <strong>con</strong>servación = 3<br />

Bosques = 5<br />

Suelo tipo A = 7<br />

Suelo tipo B = 11<br />

Suelo tipo C = 13<br />

Utilizando números primos evitamos coinci<strong>de</strong>ncias, y existe una relación biunívoca entre<br />

las combinaciones <strong>de</strong> tipo <strong>de</strong> suelo y usos <strong>de</strong> suelo, y los valores <strong>con</strong>tenidos en la capa resultante<br />

<strong>de</strong> clases <strong>de</strong> Numero <strong>de</strong> Curva.<br />

Sin embargo, para el caso <strong>de</strong> un número elevado <strong>de</strong> clases, el uso <strong>de</strong> números primos<br />

pue<strong>de</strong> ser algo incómodo. Los primeros números primos son fáciles <strong>de</strong> <strong>con</strong>ocer, pero a medida<br />

que necesitemos números mayores quizás necesitemos algún método más elaborado para<br />

obtenerlos.<br />

Una solución más práctica es cambiar la formula y emplear la siguiente: a+b. Junto a esta<br />

expresión, cambiamos también la codificación para ambas capas y empleamos potencias <strong>de</strong> 2<br />

(o <strong>de</strong> cualquier número que prefieras, yo tomo 2 por simplicidad). Mira los siguientes valores<br />

para ver qué quiere <strong>de</strong>cir esto.<br />

Cultivos sin prácticas <strong>de</strong> <strong>con</strong>servación = 1<br />

Cultivos sin prácticas <strong>de</strong> <strong>con</strong>servación = 2<br />

Bosques = 4


114 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

Suelo tipo A = 8<br />

Suelo tipo B = 16<br />

Suelo tipo C = 32<br />

Si ahora sumas las dos capas y encuentras, por ejemplo, el valor 20 en una celda <strong>de</strong> la<br />

capa resultante, pue<strong>de</strong>s saber inequívocamente que se trata <strong>de</strong> una celda <strong>con</strong> suelo <strong>de</strong> tipo B<br />

y bosque (los más geeks quizás quieran escribir este valor en binario para ver más claro <strong>de</strong><br />

dón<strong>de</strong> viene. ..), por lo que <strong>de</strong>berá asignársele un Numero <strong>de</strong> Curva igual a 60.<br />

Ahora ya <strong>con</strong>oces la teoría, así que veamos como llevarlo a la práctica empleando SEX-<br />

TANTE y esos dos ficheros cargados. Usaremos mejor el segundo esquema <strong>de</strong> codificación, es<br />

<strong>de</strong>cir, el basado en potencias <strong>de</strong> 2.<br />

Para cambiar la codificación, ejecuta el módulo Reclasificar y en el campo Tabla introduce<br />

la siguiente para el caso <strong>de</strong> la capa <strong>de</strong> usos <strong>de</strong> suelo.<br />

Para la capa <strong>de</strong> tipos <strong>de</strong> suelo, emplea la mostrada a <strong>con</strong>tinuación.<br />

Ahora suma las capas modificadas y obtendrás una nueva <strong>con</strong> clases <strong>de</strong> Número <strong>de</strong> Curva.<br />

Para <strong>con</strong>vertir estas clases en verda<strong>de</strong>ros Números <strong>de</strong> Curva, vuelve a ejecutar el módulo Reclasificar<br />

(recuerda que existe otro módulo llamado Reclasificar (avanzado) <strong>con</strong> el que pue<strong>de</strong>s<br />

hacer lo mismo, aunque es más complejo), seleccionando esta última capa como entrada y<br />

utilizando la siguiente tabla <strong>de</strong> sustituciones.


8.16. ALGUNOS EJEMPLOS 115<br />

<strong>La</strong> capa resultante será similar a la que ves bajo estas líneas.<br />

Como ves, el proceso no es complejo, aunque pue<strong>de</strong> resultar algo tedioso. A efectos didácticos,<br />

seguro que te ha servido para coger soltura y practicar <strong>con</strong> los módulos que ya <strong>con</strong>oces,<br />

viendo un nuevo uso <strong>de</strong> los mismos. No obstante, y ahora que sabes como llevar esto a cabo,<br />

<strong>SEXTANTE</strong> <strong>con</strong>tiene un módulo que pue<strong>de</strong> realizar la combinación <strong>de</strong> capas en un solo<br />

proceso, simplificando notablemente el trabajo.<br />

Para ejecutar este módulo, selecciona el menú Combinar grids<br />

En los campos Grid 1 y Grid 2, selecciona las capas a combinar.<br />

El campo Tabla te permite <strong>de</strong>finir los valores resultantes <strong>de</strong> las distintas combinaciones, que<br />

serán los que se sitúen en la capa <strong>de</strong> salida. Si se en<strong>con</strong>trarse alguna combinación no <strong>de</strong>finida,<br />

<strong>SEXTANTE</strong> asigna automáticamente un valor <strong>de</strong> sin datos a la celda correspondiente.


116 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

8.16.2. Empleando máscaras<br />

<strong>La</strong>s máscaras son elementos muy versátiles que pue<strong>de</strong>n emplearse para excluir unas <strong>de</strong>terminadas<br />

celdas <strong>de</strong> una capa raster y que éstas no sean empleadas en posteriores cálculos, o<br />

simplemente para eliminarlas <strong>de</strong> la representación <strong>de</strong>ntro <strong>de</strong> un mapa. <strong>La</strong> forma más sencilla<br />

<strong>de</strong> emplear máscaras es mediante valores 0 y 1, o mejor aún, haciendo uso <strong>de</strong>l valor <strong>de</strong> celdas<br />

sin datos.<br />

Cuando al evaluar una expresión la calculadora <strong>de</strong> mapas encuentra una celda sin datos,<br />

el resultado es siempre un valor <strong>de</strong> celda sin datos (más exactamente, el valor <strong>de</strong> celda sin<br />

datos <strong>de</strong> la capa resultante, que pue<strong>de</strong> no ser coinci<strong>de</strong>nte <strong>con</strong> los <strong>de</strong> las celdas <strong>de</strong> entrada).<br />

Para comenzar el trabajo <strong>con</strong> máscaras, abre <strong>de</strong> la carpeta <strong>de</strong> datos <strong>de</strong> ejemplo el fichero<br />

tiempo salida.dgm. Los valores en esta capa representan tiempo <strong>de</strong> salida <strong>de</strong>s<strong>de</strong> cada celda<br />

hasta el punto <strong>de</strong> salida <strong>de</strong> una cuenca vertiente (veremos en breve cómo <strong>de</strong>finir esta cuenca<br />

y cómo calcular este mapa <strong>con</strong> otra serie <strong>de</strong> módulos). Puesto que para las celdas fuera <strong>de</strong> la<br />

cuenca es imposible (no es coherente) calcular un tiempo <strong>de</strong> salida, dichas celdas son en este<br />

mapa celdas sin datos.<br />

Po<strong>de</strong>mos utilizar esta capa para crear una máscara y posteriormente aplicarla sobre cualquier<br />

otra (raster, por supuesto), <strong>de</strong> tal modo que sólo las celdas <strong>de</strong> <strong>de</strong>ntro <strong>de</strong> la cuenca se<br />

representen y las <strong>de</strong>más sean ignoradas. Esto no sólo dará como resultado una apariencia<br />

mejor (si trabajas en una cuenca, no tiene interés el representar cuanto se encuentra situado<br />

fuera <strong>de</strong> la misma), sino también en la ejecución más rápida <strong>de</strong> muchos módulos, ya que la<br />

información <strong>de</strong> las celdas sin datos (o su falta <strong>de</strong> información, más precisamente) es ignorada<br />

en la realización cálculos por parte <strong>de</strong> los distintos módulos.<br />

Igualmente, pue<strong>de</strong>s afinar más el resultado y eliminar parte <strong>de</strong> esas celdas sin datos utilizando<br />

módulos que ya <strong>con</strong>oces, como por ejemplo Recortar extensión <strong>con</strong> datos válidos. <strong>La</strong><br />

versatilidad y potencia <strong>de</strong> las máscaras es tremenda, y hacer un buen uso <strong>de</strong> las mismas aña<strong>de</strong><br />

un número <strong>de</strong> posibilida<strong>de</strong>s muy elevado, utilizando únicamente módulos simples como los que<br />

hasta el momento hemos visto.<br />

Para producir la máscara, simplemente divi<strong>de</strong> la capa por sí misma utilizando la calculadora<br />

<strong>de</strong> mapas. Todas las celdas en el exterior seguirán siendo celdas sin datos, ya que en su<br />

cálculo intervienen celdas sin datos. Si estas celdas tuvieran un valor cero, también resultarían<br />

en celdas sin datos, ya que 0<br />

0 da como resultado una celda tal. <strong>La</strong>s celdas pertenecientes a la<br />

cuenca tendrán un valor 1.


8.16. ALGUNOS EJEMPLOS 117<br />

Ahora multiplica una capa cualquiera como por ejemplo el MDT por la máscara creada.<br />

<strong>La</strong>s máscaras generalmente se aplican mediante multiplicación. El resultado que obtendrás es<br />

el siguiente.<br />

Solo las celdas <strong>con</strong> datos válidos se representan, y la apariencia es más clara.<br />

Hablando <strong>de</strong> apariencia, echa un vistazo a esta representación <strong>de</strong> mapa.


118 CAPÍTULO 8. MÓDULOS BÁSICOS PARA CAPAS RASTER<br />

Curiosa, ¿verdad?. Pese a que una capa raster <strong>de</strong>be tener una forma rectangular, ello no<br />

significa que <strong>de</strong>ba aparecer como tal en un mapa. Po<strong>de</strong>mos es<strong>con</strong><strong>de</strong>r ciertas áreas al igual<br />

que acabamos <strong>de</strong> hacer <strong>con</strong> la máscara anterior, y éstas no tienen porqué correspon<strong>de</strong>r <strong>con</strong><br />

ninguna estructura física real, sino que pue<strong>de</strong>n tener, por ejemplo, una forma circular como<br />

la <strong>de</strong> la figura anterior.<br />

Veamos cómo hacer esto.<br />

En primer lugar, necesitamos crear la máscara. El módulo Función nos servirá para ello.<br />

Para crear un círculo centrado en el mismo centro <strong>de</strong> la capa, usa una fórmula como x∗x+y∗y<br />

y valores <strong>de</strong> frontera <strong>de</strong> acuerdo <strong>con</strong> las siguientes <strong>con</strong>diciones: xmin = −xmax = a , ymin =<br />

−ymax = b , a/b = número <strong>de</strong> columnas / número <strong>de</strong> filas.<br />

Supongo que podrás <strong>de</strong>ducir cómo mover el centro <strong>de</strong>l círculo o cómo modificarlo para<br />

crear una elipse en lugar <strong>de</strong> un círculo perfecto.<br />

Sobre la capa resultante, queda un último paso para excluir las celdas que no nos interesan<br />

y <strong>de</strong>finirlas como celdas sin datos. En este caso no <strong>de</strong>bes emplear un único valor, sino un rango<br />

completo para ellas, entre un valor x y el mayor valor presente en la capa (o simplemente un<br />

valor suficientemente gran<strong>de</strong> y mayor que dicho máximo). Cuanto mayor sea el valor <strong>de</strong> x,<br />

mayor será el circulo <strong>de</strong> celdas válidas. Prueba tu mismo.<br />

Una vez hecho esto, opera <strong>de</strong> la forma ya presentada: divi<strong>de</strong> la capa por sí misma y<br />

multiplícala por la capa que <strong>de</strong>sees restringir según la máscara. Obtendrás el resultado buscado.<br />

Como ya has comprobado, las posibilida<strong>de</strong>s que las máscaras nos ofrecen son muchas.<br />

Veamos un último ejemplo para seguir estudiando situaciones en las que su uso pue<strong>de</strong> ser <strong>de</strong><br />

interés.<br />

Imagina que tienes un MDT que <strong>con</strong>tiene parte terrestre y parte marítima, es <strong>de</strong>cir, <strong>con</strong><br />

elevaciones tanto positivas como negativas sobre el nivel <strong>de</strong>l mar. <strong>La</strong>s celdas positivas generalmente<br />

se representan <strong>con</strong> una paleta <strong>de</strong> colores <strong>con</strong> ver<strong>de</strong>s o marrones, mientras que las<br />

negativas es habitual representarlas <strong>con</strong> tonos <strong>de</strong> azul. Pue<strong>de</strong>s crear una única paleta <strong>con</strong>teniendo<br />

toda esta gama, <strong>de</strong>s<strong>de</strong> los marrones <strong>de</strong>l las cimas más elevadas hasta los azules <strong>de</strong> las<br />

zonas más profundas, pero...¿cómo hacer que esta segunda parte azul comience exactamente<br />

en la elevación cero? <strong>La</strong>s rampas <strong>de</strong> color son relativas y se extien<strong>de</strong>n <strong>de</strong>s<strong>de</strong> el valor máximo<br />

<strong>de</strong> la capa hasta el mínimo. Pue<strong>de</strong>s ajustar el rango <strong>de</strong> valores, pero ello no solucionaría este<br />

problema. ¿Cómo solucionarlo? Acertaste: usando máscaras.<br />

Utilizando máscaras po<strong>de</strong>mos dividir la capa en dos, una <strong>de</strong> ellas <strong>con</strong> los valores negativos<br />

y otra <strong>con</strong> los positivos, y aplicando a cada una una rampa <strong>de</strong> color diferente. Por supuesto,<br />

esta técnica sólo tiene interés para la representación, pero para cálculos <strong>de</strong> cualquier tipo<br />

<strong>de</strong>bemos usar una única capa que cubra la totalidad <strong>de</strong>l área <strong>de</strong> estudio.<br />

En primer lugar haz una copia <strong>de</strong> la capa original. Debes <strong>con</strong>ocer al menos dos formas <strong>de</strong><br />

hacer esto <strong>con</strong> los módulos ya explicados. Usando una <strong>de</strong> estas capas (la original o la copia),<br />

haz una máscara que <strong>con</strong>tenga sólo las celdas sobre el nivel <strong>de</strong>l mar. Multiplícala por dicha<br />

capa <strong>de</strong> elevaciones. Haz lo mismo <strong>con</strong> la otra mitad, es <strong>de</strong>cir, la que <strong>con</strong>tiene los valores bajo<br />

el nivel <strong>de</strong>l mar, y ya tendrás las capas necesarias. Asígnales su rampa <strong>de</strong> color a<strong>de</strong>cuada a<br />

cada una <strong>de</strong> ellas y obtendrás el resultado <strong>de</strong>seado.<br />

Un pequeño truco: para crear la segunda máscara, pue<strong>de</strong>s modificar el rango <strong>de</strong> celdas sin<br />

datos o bien hacer uso <strong>de</strong> un módulo muy sencillo <strong>de</strong>nominado Invertir/Datos sin datos, ya<br />

que una máscara es justo la inversa <strong>de</strong> la otra. Seguro que pue<strong>de</strong>s <strong>de</strong>ducir por ti mismo cómo<br />

utilizar el módulo.


Módulos <strong>de</strong> entrada/salida<br />

9.1. Introducción<br />

Capítulo 9<br />

Hasta este punto las capacida<strong>de</strong>s <strong>de</strong> entrada y salida <strong>de</strong> <strong>SEXTANTE</strong> han sido suficientes,<br />

principalmente porque todas las capas <strong>de</strong> ejemplo que venimos utilizando estaban en formatos<br />

soportados <strong>de</strong> forma nativa por el programa. Sin embargo, y especialmente en el caso <strong>de</strong> capas<br />

raster, es muy probable que en tu trabajo diario te encuentres <strong>con</strong> capas en otros formatos, y<br />

<strong>de</strong>berás ser capaz igualmente <strong>de</strong> abrirlas. <strong>La</strong> mayoría <strong>de</strong> estos formatos son también soportados<br />

por <strong>SEXTANTE</strong>, aunque esta capacidad necesita <strong>de</strong>l <strong>con</strong>curso <strong>de</strong> módulos especializados.<br />

No sólo la capacidad <strong>de</strong> leer distintos formatos se encuentra implementada en estos módulos,<br />

sino también la <strong>de</strong> escribir en ellos. <strong>La</strong> en<strong>con</strong>trarás muy útil si necesitas exportar tus<br />

capas para utilizarlas en algún otro SIG que no soporte los formatos nativos <strong>con</strong> los que<br />

trabaja <strong>SEXTANTE</strong>.<br />

Pese a ello, te recomiendo encarecidamente una vez más que para tu trabajo diario utilices<br />

el formato dgm para capas raster y el shp para vectoriales, ya que son más rápidos y sencillos<br />

<strong>de</strong> usar y ofrecen más posibilida<strong>de</strong>s al estar incorporados <strong>de</strong> forma nativa.<br />

El número <strong>de</strong> formatos <strong>de</strong> fichero soportados por <strong>SEXTANTE</strong> a través <strong>de</strong> sus módulos<br />

es amplio y en <strong>con</strong>stante crecimiento (y es probable que se añadan más a medida que avancen<br />

las versiones <strong>de</strong>l programa). Cada formato tiene su propio módulo y todos presentan un<br />

comportamiento similar, por lo que este capítulo simplemente <strong>con</strong>tendrá una introducción a<br />

la estructura genérica <strong>de</strong> los mismos y alguna información particular <strong>de</strong> algunos formatos que<br />

así lo requieran, sin necesidad <strong>de</strong> <strong>de</strong>scribir cada uno en <strong>de</strong>talle.<br />

9.2. Módulos para importación <strong>de</strong> datos<br />

<strong>La</strong> mayoría <strong>de</strong> los módulos para importación <strong>de</strong> datos trabajan <strong>con</strong> capas raster, siendo sólo<br />

tres <strong>de</strong> ellos los que permiten leer formatos vectoriales. Esto es bastante lógico si se <strong>con</strong>si<strong>de</strong>ra<br />

que el formato Shapefile <strong>de</strong> ESRI, el más popular para datos vectoriales <strong>de</strong>ntro <strong>de</strong>l campo<br />

SIG, es soportado <strong>de</strong> forma nativa por <strong>SEXTANTE</strong>, y que el formato dgm para capas raster<br />

es, por el <strong>con</strong>trario, prácticamente exclusivo <strong>de</strong> <strong>SEXTANTE</strong>. A<strong>de</strong>más, se <strong>de</strong>be <strong>con</strong>si<strong>de</strong>rar que<br />

no existe para capas raster un formato tan unánimemente estandarizado como el Shapefile,<br />

por lo que la variedad existente es mayor.<br />

Los módulos <strong>de</strong> importación <strong>de</strong> ficheros pue<strong>de</strong>n en<strong>con</strong>trarse respectivamente en los menús<br />

Archivos/Raster/Importar y Archivos/Vectorial/Importar. Empecemos <strong>con</strong> estos primeros.<br />

Selecciona el menú Importar ESRI Arc/Info Grid.<br />

119


120 CAPÍTULO 9. MÓDULOS DE ENTRADA/SALIDA<br />

En<strong>con</strong>trarás un campo <strong>de</strong>nominado Archivo en todos los módulos para importación, y en<br />

la mayoría <strong>de</strong> los casos ningún otro más.<br />

Simplemente haz clic sobre el botón en la parte <strong>de</strong>recha <strong>de</strong>l campo y selecciona el fichero<br />

a importar en el cuadro <strong>de</strong> diálogo que aparece. Ejecuta el módulo haciendo clic en Aceptar,<br />

y el nuevo fichero aparecerá como cargado en la pestaña <strong>de</strong> datos. Si vas a trabajar <strong>con</strong> él en<br />

otras sesiones, ahora es el momento <strong>de</strong> guardarlo en formato dgm para no tener que usar este<br />

módulo más a<strong>de</strong>lante, sino cargarlo <strong>de</strong> la forma habitual.<br />

Como pue<strong>de</strong>s ver, sólo pue<strong>de</strong>s seleccionar un fichero cada vez que ejecutas el módulo<br />

(prueba a seleccionar varios y verás que no pue<strong>de</strong>s). Si quieres <strong>con</strong>struir un proyecto gran<strong>de</strong><br />

<strong>con</strong> un número amplio <strong>de</strong> capas, cargarlas todas ellas cada vez empleando este módulo resulta<br />

muy poco práctico. Es una razón más para utilizar los formatos propios <strong>de</strong> <strong>SEXTANTE</strong>,<br />

a<strong>de</strong>más <strong>de</strong> que, recuerda, sólo <strong>con</strong> esos formatos se pue<strong>de</strong>n <strong>con</strong>stituir proyectos.<br />

Pese a que en general son todos bastante simples, algunos módulos requieren alguna información<br />

adicional aparte <strong>de</strong>l nombre <strong>de</strong>l fichero. Aquí tienes una lista <strong>de</strong> los mismos y una<br />

breve explicación <strong>de</strong> lo que <strong>de</strong>bes introducir en sus ventanas <strong>de</strong> parámetros correspondientes.<br />

Importar Surfer: El valor para celdas sin datos <strong>de</strong>be especificarse.<br />

Importar Grid sin Formato (raw data): El más complejo <strong>de</strong> todos. Debes <strong>con</strong>ocer<br />

las propieda<strong>de</strong>s <strong>de</strong> la capa, tales como número <strong>de</strong> filas y columnas, tamaño <strong>de</strong> celda, etc.<br />

No es un módulo para principiantes. más habitual su uso para el caso <strong>de</strong> imágenes.<br />

Importar USGS SRTM: Úsalo para importar capas raster <strong>de</strong>l Servicio Geográfico <strong>de</strong><br />

los Estados Unidos. Debe <strong>de</strong>finirse la resolución <strong>de</strong> la malla.<br />

Importar MOLA : ¿Quieres hacer <strong>análisis</strong> <strong>de</strong>l terreno en Marte? Usa este módulo para<br />

abrir ficheros <strong>de</strong> la NASA <strong>con</strong> MDTS marcianos.<br />

Importar SRTM30 Usa este módulo para importar datos <strong>de</strong> elevación <strong>de</strong> la Shuttle<br />

Radar Topography Mission <strong>de</strong> la NASA. Verás cómo el campo Archivo se ha sustituido<br />

por uno <strong>de</strong>nominado Carpeta. Selecciona en él la carpeta don<strong>de</strong> se encuentran los ficheros<br />

sin comprimir. Usa los restantes cuatro campos para <strong>de</strong>finir la extensión <strong>de</strong>l área que<br />

<strong>de</strong>seas importar.<br />

Los datos <strong>de</strong> la SRTM pue<strong>de</strong>n <strong>de</strong>scargarse <strong>de</strong>l siguiente sitio Web:<br />

ftp://edcsgs9.cr.usgs.gov/pub/data/srtm/SRTM30<br />

Importar a Través <strong>de</strong> GDAL (varios formatos): <strong>La</strong> librería GDAL es una librería<br />

<strong>de</strong> código abierto que da soporte para un amplio número <strong>de</strong> formatos <strong>de</strong> imagen y <strong>de</strong><br />

información raster. Ha sido <strong>de</strong>sarrollada como un proyecto in<strong>de</strong>pendiente, pero, puesto<br />

que es software libre, pue<strong>de</strong> ser incorporada en otros proyectos, tales como <strong>SEXTANTE</strong>.<br />

Con ella pue<strong>de</strong>s importar los siguientes formatos (sí, algunos <strong>de</strong> ellos también pue<strong>de</strong>n<br />

abrirse <strong>con</strong> otros módulos)<br />

• VRT: Virtual Raster<br />

• GTiff: GeoTIFF<br />

• NITF: National Imagery Transmission Format<br />

• HFA: Erdas Imagine Images (.img)


9.2. MÓDULOS PARA IMPORTACIÓN DE DATOS 121<br />

• SAR CEOS: CEOS SAR Image<br />

• CEOS: CEOS Image<br />

• ELAS: ELAS<br />

• AIG: Arc/Info Binary Grid<br />

• AAIGrid: Arc/Info ASCII Grid<br />

• SDTS: SDTS Raster<br />

• DTED: DTED Elevation Raster<br />

• PNG: Portable Network Graphics<br />

• JPEG: JPEG JFIF<br />

• MEM: In Memory Raster<br />

• JDEM: Japanese DEM (.mem)<br />

• GIF: Graphics Interchange Format (.gif)<br />

• ESAT: Envisat Image Format<br />

• BSB: Maptech BSB Nautical Charts<br />

• XPM: X11 PixMap Format<br />

• BMP: MS Windows Device In<strong>de</strong>pen<strong>de</strong>nt Bitmap<br />

• PCIDSK: PCIDSK Database File<br />

• PNM: Portable Pixmap Format (netpbm)<br />

• DOQ1: USGS DOQ (Old Style)<br />

• DOQ2: USGS DOQ (New Style)<br />

• ENVI: ENVI .hdr <strong>La</strong>belled<br />

• EHdr: ESRI .hdr <strong>La</strong>belled<br />

• PAux: PCI .aux <strong>La</strong>belled<br />

• MFF: Atlantis MFF Raster<br />

• MFF2: Atlantis MFF2 (HKV) Raster<br />

• FujiBAS: Fuji BAS Scanner Image<br />

• GSC: GSC Geogrid<br />

• FAST: EOSAT FAST Format<br />

• BT: VTP .bt (Binary Terrain) 1.3 Format<br />

• L1B: NOAA Polar Orbiter Level 1b Data Set<br />

• FIT: FIT Image<br />

• USGSDEM: USGS Optional ASCII DEM<br />

• GXF: GeoSoft Grid Exchange Format<br />

Importar Imagen: Este módulo soporta varios formatos <strong>de</strong> imagen, incluyendo algunos<br />

también soportados por la librería GDAL. Sin embargo, ofrece funcionalida<strong>de</strong>s adicionales,<br />

ya que pue<strong>de</strong> cargar la imagen como tres capas en lugar <strong>de</strong> una (una por cada<br />

canal <strong>de</strong> color: rojo, ver<strong>de</strong> y azul), o forzar a color verda<strong>de</strong>ro, en función <strong>de</strong> la opción<br />

seleccionada en el campo Método.


122 CAPÍTULO 9. MÓDULOS DE ENTRADA/SALIDA<br />

Al <strong>con</strong>trario que los módulos para capas raster, los <strong>de</strong>dicados a capas vectoriales son<br />

reducidos, aunque igualmente útiles e interesantes.<br />

Al importar una capa vectorial (salvo en el caso <strong>de</strong> formato ESRI E00) <strong>de</strong>berás proporcionar<br />

al módulo correspondiente alguna información adicional. Puesto que en una misma capa<br />

vectorial pue<strong>de</strong>n coexistir muchas entida<strong>de</strong>s, <strong>de</strong>bes elegir entre crear una nueva capa <strong>con</strong> las<br />

entida<strong>de</strong>s importadas o añadir éstas a una ya existente. Por supuesto, para que esto último<br />

tenga sentido, la capa existente <strong>de</strong>be <strong>con</strong>tener el mismo tipo <strong>de</strong> entidad que las que estás<br />

importando.<br />

Al igual que en el caso <strong>de</strong> las capas raster, en algunos casos es necesario rellenar algunos<br />

campos adicionales.<br />

Tres formatos vectoriales tienen soporte en <strong>SEXTANTE</strong>: GStat, XYZ y ESRI E00. <strong>La</strong><br />

siguiente figura muestra la ventana <strong>de</strong> parámetros <strong>de</strong>l primero <strong>de</strong> ellos.<br />

Como pue<strong>de</strong>s ver, es lo más sencillo posible, por lo que no necesita más explicaciones. Si<br />

<strong>de</strong>ci<strong>de</strong>s importar un fichero XYZ te en<strong>con</strong>trarás <strong>con</strong> una ventana como la siguiente.<br />

Un archivo XYZ típico es un archivo <strong>de</strong> texto <strong>con</strong> una estructura similar a la siguiente.<br />

X Y Z<br />

-0.743663 0.401532 0.000000<br />

0.200990 0.512085 0.000000<br />

0.517549 0.255804 0.000000<br />

0.437153 -0.030629 0.000000<br />

0.180891 -0.347212 0.000000<br />

Se divi<strong>de</strong> en columnas <strong>con</strong> valores <strong>de</strong> coor<strong>de</strong>nadas X, Y y Z (pue<strong>de</strong>n aparecer otras columnas,<br />

pero son opcionales y <strong>de</strong>pen<strong>de</strong>n <strong>de</strong> los datos asociados a la capa), y cada fila <strong>con</strong>tiene<br />

información sobre un único punto (recuerda que, en última instancia, todas las entida<strong>de</strong>s<br />

vectoriales pue<strong>de</strong>n reducirse a puntos).<br />

Debes especificar cúales <strong>de</strong> las columnas <strong>de</strong>l fichero <strong>con</strong>tienen los valores <strong>de</strong> coor<strong>de</strong>nadas<br />

X e Y. Esta información se utilizará para localizar los puntos <strong>de</strong> la capa, aunque también<br />

aparecerá en la tabla <strong>de</strong> atributos asociada a la misma. <strong>La</strong>s columnas se numeran <strong>de</strong> izquierda<br />

a <strong>de</strong>recha, empezando en 1.<br />

<strong>La</strong>s capas creadas <strong>con</strong> este módulo son siempre capas <strong>de</strong> puntos. Si estos puntos representan<br />

nodos <strong>de</strong> líneas <strong>de</strong>berás utilizar otro módulo para re<strong>con</strong>struir dichas líneas, pero este módulo<br />

no es <strong>de</strong> por sí capaz <strong>de</strong> llevar a cabo ese proceso.<br />

Un caso algo distinto <strong>de</strong> los módulos para importar capas vectoriales lo <strong>con</strong>stituye el que<br />

da soporte a ficheros ESRI E00.


9.3. MÓDULOS PARA EXPORTACIÓN DE DATOS 123<br />

Su ventana <strong>de</strong> parámetros es sencilla, pero su comportamiento difiere en que no crea una<br />

única capa (y por ello no pue<strong>de</strong> añadirse su <strong>con</strong>tenido a una ya existente), sino que crea<br />

a<strong>de</strong>más algunas capas adicionales <strong>con</strong> otra información. Esto es <strong>de</strong>bido a la propia estructura<br />

<strong>de</strong>l formato E00.<br />

9.3. Módulos para exportación <strong>de</strong> datos<br />

Menos numerosos que los <strong>de</strong> importación, los módulos que permiten exportar capas en<br />

distintos formatos son sumamente similares a los anteriores, salvo tal vez por el hecho <strong>de</strong> que<br />

en algunos casos requieren algo más <strong>de</strong> información para ser ejecutados.<br />

Una vez más comenzaremos <strong>con</strong> los que trabajan <strong>con</strong> capas raster.<br />

Éstos son los módulos disponibles:<br />

Exportar ESRI Arc/Info Grid:<br />

<strong>La</strong> ventana <strong>de</strong> parámetros es bastante similar a la <strong>de</strong>l módulo empleado para importar<br />

este mismo formato, pero aparecen tres nuevos campos. El primero es el tipo <strong>de</strong> archivo<br />

a crear, bien <strong>de</strong> tipo binario o bien <strong>de</strong> tipo ASCII, en el campo Formato. El segundo,<br />

en el campo Precisión, es el número <strong>de</strong> <strong>de</strong>cimales que <strong>de</strong>ben guardarse <strong>de</strong> cada valor <strong>de</strong><br />

celda en el caso en que se emplee formato ASCII. Al <strong>con</strong>trario que los ficheros binarios,<br />

los ficheros ASCII son ficheros <strong>de</strong> texto que pue<strong>de</strong>n leerse y editarse utilizando un simple<br />

editor <strong>de</strong> texto. Para georreferenciar la malla completa, <strong>de</strong>be utilizarse una celda <strong>de</strong> la<br />

cual se <strong>con</strong>ozcan sus coor<strong>de</strong>nadas. Pue<strong>de</strong> utilizarse la posición <strong>de</strong>l centro o <strong>de</strong> la esquina<br />

<strong>de</strong> la celda inferior izquierda para ello, y pue<strong>de</strong>s cambiar entre estas dos opciones en<br />

el campo Georreferenciación. Pon atención en los valores Z <strong>de</strong> cada celda a la hora <strong>de</strong><br />

exportar una capa raster. Los valores almacenados son los <strong>de</strong> la celda como tal antes <strong>de</strong><br />

aplicarle el factor Z, ya que éste mo pue<strong>de</strong> registrarse en estos formatos. Por ejemplo<br />

para el caso <strong>de</strong> un mapa <strong>de</strong> pendientes, el factor Z cambia los valores <strong>de</strong> radianes a<br />

grados, pero el que se grabaría al exportar quedaría en radianes. Utiliza la calculadora<br />

<strong>de</strong> mapas para hacer fija esta <strong>con</strong>versión y po<strong>de</strong>r exportar en las mismas unida<strong>de</strong>s que<br />

utilizas <strong>de</strong>ntro <strong>de</strong> <strong>SEXTANTE</strong> cuando abres el archivo en formato dgm o lo creas <strong>con</strong><br />

algún otro módulo.<br />

Exportar Surfer: Igual que el módulo <strong>de</strong> importación correspondiente, pero pue<strong>de</strong><br />

elegirse si se genera un fichero ASCII o uno binario.<br />

Exportar Grid a XYZ: Exporta un grupo <strong>de</strong> capas como una colección <strong>de</strong> puntos <strong>con</strong><br />

valores Z, uno por cada capa y una fila por cada celda <strong>de</strong> la malla. Aviso: este módulo<br />

pue<strong>de</strong> generar ficheros <strong>de</strong> gran tamaño. Selecciona el campo Añadir nombres <strong>de</strong> campos<br />

si <strong>de</strong>seas incluir una cabecera <strong>de</strong>scribiendo cada campo.


124 CAPÍTULO 9. MÓDULOS DE ENTRADA/SALIDA<br />

Exportar Imagen: Exporta una capa como imagen. <strong>La</strong> extensión <strong>de</strong>l archivo (jpg,<br />

bmp o png) <strong>de</strong>fine el tipo <strong>de</strong>l mismo. Pue<strong>de</strong>s añadir una capa <strong>de</strong> sombreado para añadir<br />

sensación <strong>de</strong> relieve a la imagen resultante.<br />

En lo que respecta a los módulos vectoriales, son también muy simples y no requieren una<br />

explicación muy <strong>de</strong>tallada. Éstos son los módulos disponibles.<br />

Exportar a GStat. Exactamente igual al <strong>de</strong> importación.<br />

Export a XYZ:<br />

Si seleccionas el campo Guardar todos los atributos, todos los campos <strong>de</strong> la tabla <strong>de</strong><br />

atributos se exportarán. En caso <strong>con</strong>trario, sólo el campo seleccionado en Atributo se<br />

añadirá a los valores <strong>de</strong> X e Y <strong>de</strong> cada punto.<br />

Exportar a Generate: Este formato no tiene soporte <strong>de</strong> entrada, sólo <strong>de</strong> salida. Únicamente<br />

un campo <strong>de</strong> la tabla <strong>de</strong> atributos es exportado. Selecciónalo en el parámetro<br />

Campo.<br />

9.4. Otros módulos específicos<br />

Pese a que la mayoría <strong>de</strong> los módulos que permiten incorporar datos <strong>de</strong>ntro <strong>de</strong> <strong>SEXTANTE</strong><br />

o exportarlos trabajan <strong>con</strong> los tipos habituales <strong>de</strong> información geográfica que <strong>con</strong>ocemos (esto<br />

es, raster y vectorial) y lo hacen a partir <strong>de</strong> archivos ✭✭comunes✮✮, existe un pequeño grupo <strong>de</strong><br />

ellos más especializados que no se engloban en los grupos anteriores.<br />

Por una parte, <strong>SEXTANTE</strong> incluye módulos para lectura <strong>de</strong> datos <strong>de</strong>s<strong>de</strong> GPS que, si bien<br />

pue<strong>de</strong>n leerse <strong>de</strong>s<strong>de</strong> un archivo, también pue<strong>de</strong>n transmitirse directamente <strong>de</strong> una unidad GPS<br />

<strong>con</strong>ectada el or<strong>de</strong>nador. Estos módulos no incorporan la información en la pestaña <strong>de</strong> datos,<br />

sino que <strong>con</strong>vierten el formato <strong>de</strong> la información para que ésta pueda posteriormente leerse<br />

por el camino habitual.<br />

Asimismo, <strong>SEXTANTE</strong> es capaz <strong>de</strong> leer información meteorológica que, como más a<strong>de</strong>lante<br />

veremos, es necesaria para ejecutar algunos módulos <strong>de</strong> mo<strong>de</strong>lización complejos. Esta<br />

información es <strong>con</strong>vertida a tablas <strong>de</strong> fácil interpretación, y pue<strong>de</strong> utilizarse a<strong>de</strong>más <strong>de</strong> para<br />

lo anterior para otros muchos propósitos.<br />

9.4.1. GPS<br />

<strong>SEXTANTE</strong> incluye dos módulos para el trabajo <strong>con</strong> datos provenientes <strong>de</strong> unida<strong>de</strong>s GPS:<br />

GPSBabel y GPX a shapefile. Ninguno <strong>de</strong> ellos es un módulo como tal, puesto que la funcionalidad<br />

no está <strong>con</strong>tenida en ellos mismos, sino que actúan como interfaces para otras aplicaciones<br />

externas <strong>de</strong>sarrolladas <strong>de</strong> forma in<strong>de</strong>pendiente, haciendo más sencillo su uso <strong>de</strong>s<strong>de</strong> el<br />

propio <strong>SEXTANTE</strong>. Estas aplicaciones no se incluyen <strong>con</strong> <strong>SEXTANTE</strong> y <strong>de</strong>bes <strong>de</strong>scargarlas<br />

<strong>de</strong> Internet (son también software libre). Aquí tienes las direcciones correspondientes:


9.4. OTROS MÓDULOS ESPECÍFICOS 125<br />

GPSBabel: www.gpsbabel.org<br />

GPX2SHP (para el módulo GPX a shapefile): http://gpx2shp.sourceforge.jp/in<strong>de</strong>x.html.en<br />

Instala estos programas en tu or<strong>de</strong>nador don<strong>de</strong> <strong>de</strong>sees. Posteriormente <strong>de</strong>berás especificar<br />

la localización para que <strong>SEXTANTE</strong> sepa don<strong>de</strong> en<strong>con</strong>trarlos.<br />

Veamos el primero <strong>de</strong> los modulos: GPSBabel<br />

GPSBabel es un <strong>con</strong>versor que permite <strong>con</strong>vertir entre una larga serie <strong>de</strong> formatos empleados<br />

para almacenar datos <strong>de</strong> GPS. Se <strong>de</strong>be especificar el nombre <strong>de</strong> fichero y su formato,<br />

tanto para el <strong>de</strong> entrada como el <strong>de</strong> salida, y GPSBabel se ejecutará para llevar a cabo la<br />

<strong>con</strong>versión. <strong>La</strong> ruta <strong>de</strong> acceso al programa se especifica en el campo Carpeta <strong>de</strong> GPSBabel.<br />

Algunos <strong>de</strong> los formatos tales como Magellan protocol o Garmin serial protocol, no son<br />

formatos <strong>de</strong> ficheros como tales, sino protocolos <strong>de</strong> transimisión, y utilizándolos pue<strong>de</strong> <strong>de</strong>scargarse<br />

información <strong>de</strong>s<strong>de</strong> una unidad GPS a un fichero en nuestro or<strong>de</strong>nador, o transimitirla<br />

al propio GPS. En este caso, la ruta <strong>de</strong> acceso al GPS (sea para tomar datos <strong>de</strong> él o enviarlos),<br />

no es tampoco un fichero como tal. Por ejemplo, para tomar datos <strong>de</strong> un GPS Magellan<br />

<strong>con</strong>ectado en COM1, <strong>de</strong>be introducirse com1: en Archivo <strong>de</strong> entrada y seleccionar Magellan<br />

protocol en Formato <strong>de</strong> entrada<br />

En los archivos <strong>de</strong> ejemplo que vienen <strong>con</strong> el programa en<strong>con</strong>trarás uno llamado gps.csv.<br />

Es un archivo en formato csv (comma separated values). Prueba a <strong>con</strong>vertirlo a formato GPX,<br />

y <strong>con</strong> ello tendrás material para probar <strong>con</strong> el siguiente módulo, GPX a shapefile (<strong>de</strong> hecho,<br />

el archivo es un archivo <strong>de</strong> ejemplo <strong>de</strong>l propio programa GPX2SHP en el que se basa este<br />

módulo).<br />

Este módulo es similar al anterior, pero solo <strong>con</strong>vierte entre dos formatos, uno <strong>de</strong> ellos<br />

propio <strong>de</strong> GPS (GPX), y otro <strong>de</strong> archivos vectoriales para SIG (ESRI Shapefile).<br />

Selecciona la carpeta don<strong>de</strong> está instalado el programa GPX2SHP y el fichero GPX que<br />

quieres <strong>con</strong>vertir. Utiliza los campos Convertir rutas, Convertir way points y <strong>con</strong>vertir track<br />

points para especificar las partes <strong>de</strong> la información <strong>con</strong>tenida en el fichero que <strong>de</strong>sees <strong>con</strong>vertir.<br />

Para cada una <strong>de</strong> ellas se creará un nuevo shapefile. Los nombres <strong>de</strong> los archivos serán formados<br />

<strong>con</strong> el nombre <strong>de</strong>l archivo GPX original, seguidos <strong>de</strong> wpt (way points), trk (track points) y<br />

rte (rutas), según corresponda.<br />

Si se selecciona el campo Abrir shapefile, los ficheros creados serán cargados e incorporados<br />

a la pestaña <strong>de</strong> datos.<br />

9.4.2. Datos climatológicos<br />

Los archivos <strong>con</strong> series temporales en formato <strong>de</strong>l Instituto Nacional <strong>de</strong> Meteorología no<br />

tienen un uso habitual en una sesión <strong>de</strong> <strong>SEXTANTE</strong>, y son <strong>de</strong> aplicación muy restringida,


126 CAPÍTULO 9. MÓDULOS DE ENTRADA/SALIDA<br />

pero son clave para utilizar uno <strong>de</strong> los módulos más potentes y <strong>de</strong>finitorios <strong>de</strong>l programa: su<br />

módulo <strong>de</strong> mo<strong>de</strong>lización hidrológica. Por ello, <strong>SEXTANTE</strong> incluye un sencillo módulo que<br />

incorpora esta información en tablas a partir <strong>de</strong> un fichero ASCII.<br />

Simplemente especifica el nombre <strong>de</strong>l archivo en el único campo <strong>de</strong> la ventana <strong>de</strong> parámetros<br />

y se crearán tablas <strong>con</strong> los datos <strong>de</strong> precipitación y temperatura <strong>de</strong> cada estación, así como<br />

una tabla resumen <strong>con</strong> los datos no propiamente meteorológicos <strong>de</strong> las estaciones (nombre,<br />

localización, etc.)


Capítulo 10<br />

Análisis <strong>de</strong>l terreno, hidrología y más<br />

10.1. Introducción<br />

No es exagerado <strong>de</strong>cir que probablemente nos en<strong>con</strong>tremos en el capítulo más importante<br />

<strong>de</strong>l libro o, al menos, en el más genuino <strong>de</strong> cuantos se <strong>con</strong>tienen en este libro. El <strong>análisis</strong><br />

<strong>de</strong>l terreno y los temas relacionados <strong>con</strong> el mismo son un elemento clave <strong>de</strong> todo Sistema<br />

<strong>de</strong> Información Geográfica, muy especialmente en aquellos <strong>con</strong> una fuerte base raster, y en<br />

<strong>SEXTANTE</strong> esta relevancia es más manifiesta, dado el peso que este campo tiene tanto en su<br />

propio <strong>de</strong>sarrollo como en el <strong>de</strong>l programa <strong>de</strong>l que <strong>de</strong>riva, SAGA.<br />

En este capítulo se <strong>con</strong>tienen todos aquellos módulos que utilizan como principal fuente<br />

<strong>de</strong> datos un Mo<strong>de</strong>lo Digital <strong>de</strong>l Terreno. Por supuesto, la mayoría <strong>de</strong> los módulos que ya<br />

<strong>con</strong>ocemos también pue<strong>de</strong>n aplicarse sobre MDTs (y así lo hemos hecho), pero son módulos<br />

genéricos que pue<strong>de</strong>n ser usados <strong>con</strong> capas raster <strong>de</strong> otra naturaleza muy distinta. En este<br />

capítulo se <strong>de</strong>scriben aquellos que presentan un enfoque más específico para el <strong>análisis</strong> <strong>de</strong>l<br />

terreno, y por la propia importancia que el relieve tiene en muchas disciplinas, estos módulos<br />

son igualmente variados y diversos.<br />

Como <strong>con</strong>secuencia <strong>de</strong> lo anterior, prepárate para un capítulo largo y <strong>de</strong>nso, <strong>con</strong> mucha<br />

información, pero en el que sin duda vas a en<strong>con</strong>trar algunos <strong>de</strong> los <strong>con</strong>tenidos más interesantes<br />

<strong>de</strong> este manual y <strong>de</strong>l programa.<br />

A la hora <strong>de</strong> utilizar una gran parte <strong>de</strong> los módulos que vamos a ver, es recomendable<br />

tener un <strong>con</strong>ocimiento básico <strong>de</strong> los algoritmos y formulaciones en las que éstos se basan,<br />

<strong>con</strong> el fin <strong>de</strong> que su uso sea más productivo. Esta necesidad es más notable que en otros<br />

módulos anteriores, por lo que se ha puesto más énfasis en <strong>de</strong>scribir estas bases teóricas.<br />

Lee las <strong>de</strong>scripciones cuidadosamente, te ayudarán a enten<strong>de</strong>r mejor el funcionamiento <strong>de</strong> los<br />

módulos y evitarán que hagas un uso incorrecto <strong>de</strong> algunas <strong>de</strong> sus funcionalida<strong>de</strong>s principales.<br />

Para trabajar <strong>con</strong> los módulos <strong>de</strong> este capítulo lo único que necesitas es un MDT, así que<br />

pue<strong>de</strong>s prescindir <strong>de</strong> las restantes capas, ya que por el momento no nos harán falta.<br />

10.2. Análisis morfométrico<br />

Empezaremos <strong>de</strong>s<strong>de</strong> las formulaciones más básicas hasta las más complejas, lo cual no<br />

quiere <strong>de</strong>cir, sin embargo, que éstas primeras sean menos útiles. De hecho, las primeras capas<br />

que vamos a generar a partir <strong>de</strong>l <strong>análisis</strong> <strong>de</strong>l MDT (pendiente y orientación), se encuentran<br />

entre las más importantes y frecuentemente utilizadas <strong>de</strong> todas cuantas generaremos a lo largo<br />

<strong>de</strong> todo este capítulo.<br />

127


128 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

Bajo el menú Análisis <strong>de</strong>l Terreno/Morfometría se agrupan un grupo <strong>de</strong> submenús correspondientes<br />

a otros tantos módulos. Entre ellos, el <strong>de</strong>nominado Morfometría Local es el que<br />

más habitualmente utilizarás, <strong>con</strong> in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong>l área <strong>de</strong> trabajo en la que te muevas.<br />

Selecciónalo y verás la siguiente ventana <strong>de</strong> parámetros.<br />

Como ya se ha dicho, no es necesario más que un MDT, el cual <strong>de</strong>be introducirse en el<br />

campo <strong>de</strong>l mismo nombre. Varias capas nuevas son generadas como resultado, estando dos<br />

<strong>de</strong> ellas seleccionadas por <strong>de</strong>fecto. Puesto que queremos estudiar todas las capacida<strong>de</strong>s <strong>de</strong>l<br />

módulo, selecciónalas todas (establece en ellas la opción [crear] para ver qué <strong>con</strong>tienen dichas<br />

capas.<br />

El último campo (el más importante) permite elegir el método que <strong>SEXTANTE</strong> utilizará<br />

para llevar a cabo el <strong>análisis</strong> morfométrico. Están disponibles las siguientes opciones.<br />

Máxima pendiente (Travis et al. 1975)<br />

Máxima pendiente por triángulos (Tarboton 1997)<br />

Plano <strong>de</strong> ajuste por mínimos cuadrados (Costa-Cabral & Burgess 1996)<br />

Ajuste <strong>de</strong> polinomio <strong>de</strong> 2 o grado (Bauer, Roh<strong>de</strong>nburg, Bork 1985)<br />

Ajuste <strong>de</strong> polinomio <strong>de</strong> 2 o grado (Heer<strong>de</strong>gen & Beran 1982)<br />

Ajuste <strong>de</strong> polinomio <strong>de</strong> 2 o grado (Zevenbergen & Thorne 1987)<br />

Ajuste <strong>de</strong> polinomio <strong>de</strong> 3er grado (Haralick 1983)<br />

El método establecido por <strong>de</strong>fecto (Ajuste <strong>de</strong> polinomio <strong>de</strong> 2 o grado (Zevenbergen & Thorne<br />

1987)) es normalmente una opción válida. En la práctica, no existe una gran diferencia<br />

<strong>con</strong>ceptual entre los 4 últimos métodos, <strong>con</strong> lo que la elección entre ellos dará resultados<br />

similares.<br />

Los dos primeros métodos, sin embargo, son algo distintos. Están asociados en sus fundamentos<br />

<strong>con</strong> algoritmos <strong>de</strong> <strong>con</strong>ducción <strong>de</strong> flujo, y no <strong>con</strong> una finalidad puramente <strong>de</strong> <strong>análisis</strong><br />

morfométrico. Debido a ello, no <strong>de</strong>finen la morfometría local a partir <strong>de</strong> una función matemática<br />

<strong>de</strong> tipo z = f(x,y) y empleando en ella las herramientas <strong>de</strong>l cálculo diferencial,<br />

como suce<strong>de</strong> en los otros casos, y ello hace que la obtención <strong>de</strong> ciertos parámetros no sea tan<br />

recomendable utilizando estos métodos. <strong>La</strong> obtención <strong>de</strong> pendientes y orientaciones pue<strong>de</strong> ser<br />

válida (aunque menos precisa), pero la <strong>de</strong> curvaturas es diferente, ya que estos métodos no<br />

fueron <strong>con</strong>cebidos teniendo este parámetro en mente.<br />

Usa estos dos primeros métodos cuando trabajes <strong>con</strong> sus correspondientes algoritmos <strong>de</strong><br />

<strong>con</strong>ducción <strong>de</strong> flujo. En caso <strong>con</strong>trario, mejor emplea cualquiera <strong>de</strong> los restantes.<br />

Ejecuta el módulo y obtendrás una serie <strong>de</strong> cinco nuevas capas raster en la pestaña <strong>de</strong><br />

datos. Vamos a analizar <strong>de</strong>talladamente cada una <strong>de</strong> ellas.<br />

<strong>La</strong> primera es una capa <strong>con</strong> valores <strong>de</strong> pendiente.


10.2. ANÁLISIS MORFOMÉTRICO 129<br />

Si miras las estadísticas <strong>de</strong> la capa en la pestaña Descripción, veras que sus valores se<br />

sitúan entre 0 y 1.036. Mira su histograma y comprobarás que también es ése el rango en el<br />

que se mueven los valores.<br />

Una pendiente <strong>de</strong> un uno por ciento como máximo en toda la capa parece muy reducida,<br />

¿no?. A<strong>de</strong>más, si miras a las estadísticas <strong>de</strong> nuevo, verás que la media es <strong>de</strong> alre<strong>de</strong>dor <strong>de</strong>l 20 %.<br />

¿Cómo pue<strong>de</strong> ser esto posible? Hay una explicación. Los valores calculados por el módulo están<br />

en radianes, pero estos radianes no son muy útiles, siendo más intuitivo el trabajar en tanto por<br />

ciento. Para cambiar entre estas unida<strong>de</strong>s, se utiliza un factor Z <strong>de</strong> 57.2958 (180/π). Pue<strong>de</strong>s<br />

ir a la pestaña Parámetros para comprobarlo. En ella verás también que el rango <strong>de</strong> valores<br />

par la rampa <strong>de</strong> color no es el mismo <strong>de</strong> la pestaña Descripción, sino el que correspon<strong>de</strong> a los<br />

valores una vez se aplica el factor Z.<br />

Este mismo factor Z se utiliza también en la segunda capa generada, la <strong>de</strong> orientaciones.


130 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

Los valores en las celdas <strong>de</strong> esta capa indican la orientación <strong>de</strong> la pendiente, medida <strong>de</strong>s<strong>de</strong><br />

el norte en sentido horario. <strong>La</strong> vista <strong>de</strong> la capa da la sensación <strong>de</strong> ser una representación en<br />

relieve, pero en realidad no es así. <strong>La</strong>s representaciones en relieve sombreado y este mapa <strong>de</strong><br />

orientaciones guardan algunos puntos en común, pero no son lo mismo. Echa un vistazo a la<br />

rampa <strong>de</strong> colores para enten<strong>de</strong>r mejor el porqué <strong>de</strong> este aspecto.<br />

Tanto la pendiente como la orientación no requieren una explicación accesoria. Ambos<br />

parámetros se encuentran relacionados <strong>con</strong> una primera <strong>de</strong>rivada <strong>de</strong> la superficie que representa<br />

el terreno, y su significado es intuitivo.<br />

<strong>La</strong>s restantes capas que hemos calculado tienen relación <strong>con</strong> la segunda <strong>de</strong>rivada, y su<br />

significado no es tan obvio. Implican algunas i<strong>de</strong>as matemáticas más complejas y pue<strong>de</strong>n<br />

interpretarse <strong>de</strong> formas distintas.<br />

<strong>La</strong> segunda <strong>de</strong>rivada <strong>de</strong> una función pue<strong>de</strong> utilizarse para saber si dicha función tiene una<br />

forma cóncava o <strong>con</strong>vexa en un punto dado. Cuando se trabaja <strong>con</strong> una superficie como es el<br />

caso, esta segunda <strong>de</strong>rivada pue<strong>de</strong> calcularse en cualquier dirección, arrojando resultados distintos.<br />

<strong>La</strong>s dos direcciones más importantes son la <strong>de</strong> la máxima pendiente y la perpendicular a<br />

ésta. Los valores obtenidos para la segunda <strong>de</strong>rivada en estas direcciones son, respectivamente,<br />

la curvatura vertical y horizontal.


10.2. ANÁLISIS MORFOMÉTRICO 131<br />

Los valores positivos indican una curvatura <strong>con</strong>vexa, mientras que los negativos indican<br />

una curvatura cóncava.<br />

¿Cómo interpretar estos valores? <strong>La</strong> <strong>con</strong>cavidad y la <strong>con</strong>vexidad se asocian a la acumulación<br />

<strong>de</strong> flujo y a la dispersión <strong>de</strong>l mismo respectivamente, por lo que combinando ambas capas <strong>de</strong><br />

curvatura se pue<strong>de</strong> tener una i<strong>de</strong>a básica <strong>de</strong> cómo se comporta el flujo sobre las distintas<br />

celdas. Estos valores pue<strong>de</strong>n emplearse para extraer algunas <strong>con</strong>clusiones sencillas acerca <strong>de</strong><br />

los patrones <strong>de</strong> erosión predominantes y otros procesos físicos similares, aunque, <strong>con</strong>si<strong>de</strong>rando<br />

que este capítulo incluye algunos método más precisos para cuantificar éstos, no resulta <strong>de</strong><br />

interés <strong>de</strong>tallar en profundidad este aspecto.<br />

Utilizando la <strong>de</strong>scripción cuantitativa <strong>de</strong> las curvaturas proporcionada por las capas anteriores,<br />

po<strong>de</strong>mos obtener una <strong>de</strong>spripción cualitativa mediante el módulo Clasificación según<br />

curvaturas.<br />

Introduce las capas <strong>de</strong> curvatura horizontal y vertical en los campos correspondientes y un<br />

umbral para la <strong>de</strong>finición <strong>de</strong> celdas planas. Valores <strong>de</strong> curvatura por <strong>de</strong>bajo <strong>de</strong>l mismo hacen<br />

que la celda sea <strong>con</strong>si<strong>de</strong>rada como plana (en la dirección <strong>de</strong> la curvatura en cuestión)<br />

Con esto, el módulo genera una nueva capa en el que las celdas se divi<strong>de</strong>n en 9 clases. El<br />

significado <strong>de</strong> cada una <strong>de</strong> ellas es el mostrado a <strong>con</strong>tinuación.<br />

0: Curvatura vertical: cóncava. Curvatura horizontal: cóncava.<br />

1: Curvatura vertical: cóncava. Curvatura horizontal: plana.<br />

2: Curvatura vertical: cóncava. Curvatura horizontal: <strong>con</strong>vexa.<br />

3: Curvatura vertical: plana. Curvatura horizontal: cóncava.<br />

4: Curvatura vertical: plana. Curvatura horizontal: plana.<br />

5: Curvatura vertical: plana. Curvatura horizontal: <strong>con</strong>vexa.


132 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

6: Curvatura vertical: <strong>con</strong>vexa. Curvatura horizontal: cóncava.<br />

7: Curvatura vertical: <strong>con</strong>vexa. Curvatura horizontal: plana.<br />

8: Curvatura vertical: <strong>con</strong>vexa. Curvatura horizontal: <strong>con</strong>vexa.<br />

Para el MDT <strong>con</strong> el que trabajamos, el resultado <strong>de</strong> ejecutar este módulo es el siguiente.<br />

Otra capa similar que pue<strong>de</strong> calcularse haciendo uso <strong>de</strong> los módulos <strong>de</strong>dicados al estudio<br />

morfométrico es la correspondiente al índice <strong>de</strong> <strong>con</strong>vergencia. Este índice da una medida <strong>de</strong><br />

cómo el flujo a través <strong>de</strong> una celda <strong>con</strong>verge (índice <strong>de</strong> <strong>con</strong>vergencia > 0) o diverge (índice<br />

<strong>de</strong> <strong>con</strong>vergencia < 0). Hemos visto que este comportamiento también pue<strong>de</strong> estudiarse <strong>con</strong><br />

las capas <strong>de</strong> curvaturas, aunque la utilización <strong>de</strong> este nuevo indicador resulta más práctica y<br />

sencilla.<br />

Para usar este módulo se necesita simplemente un MDT y seleccionar uno <strong>de</strong> los dos métodos<br />

disponibles: Orientacion o Gradiente. <strong>La</strong>s diferencias prácticas entre ambos métodos no<br />

son realmente significativas (aquí tienes un pequeño ejercicio: evalúa estas diferencias usando<br />

los módulos que <strong>con</strong>oces hasta este punto).<br />

A partir <strong>de</strong> nuestro MDT ya <strong>con</strong>ocido se obtiene una capa <strong>de</strong> índice <strong>de</strong> <strong>con</strong>vergencia <strong>con</strong><br />

el siguiente aspecto.


10.3. CREANDO UNA CURVA HIPSOMÉTRICA 133<br />

10.3. Creando una curva hipsométrica<br />

Hasta el momento, hemos visto únicamente módulos que generaban como resultado nuevas<br />

capas raster. Sin embargo, la curva hipsométrica que refleja la distribución altitudinal <strong>de</strong>ntro<br />

<strong>de</strong> un MDT no pue<strong>de</strong> expresarse mediante otra capa, sino que requiere una tabla para ello.<br />

Como <strong>con</strong>secuencia <strong>de</strong> esto, el módulo Hipsometría crea una nueva tabla y la aña<strong>de</strong> a la<br />

pestaña <strong>de</strong> datos, como a <strong>con</strong>tinuación veremos.<br />

Ejecuta el módulo y verás esta pantalla <strong>de</strong> parámetros.<br />

Selecciona nuestro MDT <strong>de</strong> trabajo en el campo MDT y establece la opción [crear] en<br />

el campo Hipsometría. El número <strong>de</strong> filas en la tabla resultante pue<strong>de</strong> ajustarse en el campo<br />

Número <strong>de</strong> clases. Cuanto mayor sea este valor, más <strong>de</strong>tallada sera la curva creada.<br />

Ejecuta el módulo y verás una nueva tabla en la pestaña <strong>de</strong> datos llamada Curva Hipsométrica:<br />

mdt.dgm. Ábrela.<br />

<strong>La</strong> tabla <strong>con</strong>tiene información sobre la distribución <strong>de</strong> las elevaciones en la malla, y pue<strong>de</strong>s<br />

crearla (aunque <strong>con</strong> un poco <strong>de</strong> trabajo más y <strong>con</strong> otra aplicación tal como una hoja <strong>de</strong><br />

cálculo), a partir <strong>de</strong>l histograma <strong>de</strong> frecuencias.<br />

Es interesante representar este resultado <strong>de</strong> modo gráfico y no únicamente viendo la tabla<br />

como tal. Recuerda que <strong>con</strong> los datos <strong>de</strong> una tabla pue<strong>de</strong>s <strong>de</strong> modo sencillo generar un<br />

diagrama. Ajustando algo los parámetros <strong>de</strong> ese diagrama (seguro que pue<strong>de</strong>s hacer esto sin<br />

necesidad <strong>de</strong> ayuda), la representación <strong>de</strong>l mismo <strong>de</strong>be quedar similar a la mostrada en la<br />

siguiente figura.


134 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

En este punto, me gustaría recalcar la importancia <strong>de</strong>l uso a<strong>de</strong>cuado <strong>de</strong> las máscaras que<br />

vimos en el capítulo anterior. Una curva hipsográfica <strong>de</strong> un MDT completo no tiene en líneas<br />

generales un gran interés, pero cuando este resultado se aplica sólo a las celdas <strong>de</strong> una cuenca<br />

vertiente, se <strong>con</strong>vierte en un <strong>de</strong>scriptor imprescindible <strong>de</strong> la misma. Como ya vimos, pue<strong>de</strong>n<br />

ignorarse los valores exteriores a una cuenca utilizando una máscara, <strong>con</strong>virtiendo <strong>de</strong> este<br />

modo un resultado inservible en uno realmente útil.<br />

10.4. Clasificación <strong>de</strong> la forma y estructura <strong>de</strong>l terreno<br />

Si tomas una celda <strong>de</strong> un MDT y sus 8 celdas vecinas, pue<strong>de</strong>s clasificar la forma <strong>de</strong> la<br />

celda central en función <strong>de</strong> los valores <strong>de</strong>l <strong>con</strong>junto. Comparando entre sí dichos valores,<br />

pue<strong>de</strong> asignarse a la celda central una <strong>de</strong> las siguientes categorías.<br />

9. Cima<br />

-9. Depresión<br />

1. Paso<br />

2. Línea <strong>de</strong> ruptura <strong>con</strong>vexa<br />

-2. Línea <strong>de</strong> ruptura cóncava<br />

7. Cresta<br />

-7. Canal<br />

<strong>La</strong> creación <strong>de</strong> una capa <strong>con</strong> esos valores a partir <strong>de</strong>l MDT se lleva a cabo mediante el<br />

módulo Índices/Formas <strong>de</strong>l Terreno<br />

Simplemente selecciona el MDT en el campo correspondiente y elige Peucker & Douglas<br />

en Método. El valor que diferencia las celdas cóncavas <strong>de</strong> las <strong>con</strong>vexas se introduce en el campo<br />

Umbral. El valor por <strong>de</strong>fecto es generalmente una opción válida.<br />

Ejecutando el módulo, obtendrás una capa como la siguiente.


10.5. PREPARANDO UN MDT PARA ANÁLISIS HIDROLÓGICO 135<br />

Como ya habrás notado, hay otros métodos disponibles aparte <strong>de</strong>l que hemos usado, pero<br />

éste <strong>de</strong> Peucker & Douglas es probablemente el más utilizado para esta tarea.<br />

Si pruebas otras <strong>de</strong> las metodologías (hazlo...sé curioso...), obtendrás diferentes clasificaciones,<br />

todas ellas más sencillas y, al mismo tiempo, no tan fáciles <strong>de</strong> interpretar o utilizar <strong>de</strong><br />

modo práctico.<br />

Por ejemplo, he aquí el significado <strong>de</strong> los valores generados por el método Marcar vecino<br />

superior (directamente tomados <strong>de</strong>l código fuente):<br />

2. Punto <strong>de</strong> silla<br />

1. Línea <strong>de</strong> fondo<br />

-1. Divisoria<br />

0. Nada<br />

10.5. Preparando un MDT para <strong>análisis</strong> hidrológico<br />

A partir <strong>de</strong> este punto, y una vez que hemos analizado los módulos <strong>de</strong> <strong>análisis</strong> morfométrico,<br />

pasamos a tratar <strong>con</strong> aquellos que realizan un estudio <strong>de</strong> las distintas variables hidrológicas<br />

<strong>de</strong>l terreno.<br />

Mientras que para los anteriores resultados hemos podido trabajar directamente <strong>con</strong> el<br />

MDT tal y como éste llega hasta nosotros (es <strong>de</strong>cir, tal y como está almacenado en el archivo<br />

correspondiente), a la hora <strong>de</strong> estudiar el comportamiento hidrológico es probable que tengamos<br />

que efectuar una preparación previa, ya que los MDTs habitualmente presentan algunas<br />

características que <strong>de</strong>ben modificarse para adaptarlos en la mejor medida posible para dicho<br />

<strong>análisis</strong>. De este modo, garantizamos que no obtendremos resultados erróneos a lo largo <strong>de</strong> los<br />

distintos procesos y mediante el uso <strong>de</strong> los distintos módulos implicados.<br />

<strong>La</strong> fuente principal <strong>de</strong> estos resultados erróneos es la presencia <strong>de</strong> <strong>de</strong>presiones cerradas,<br />

es <strong>de</strong>cir, celdas aisladas o grupos <strong>de</strong> ellas que se encuentran ro<strong>de</strong>adas por otras <strong>de</strong> mayor<br />

elevación. Al no existir celdas más bajas por las que el flujo pueda salir <strong>de</strong> estas <strong>de</strong>presiones,<br />

los algoritmos <strong>de</strong> <strong>con</strong>ducción <strong>de</strong> flujo que posteriormente estudiaremos no pue<strong>de</strong>n asignar<br />

una dirección <strong>de</strong> flujo <strong>de</strong>finida, y su comportamiento es irregular en esta circunstancia. En<br />

la realidad, el flujo ✭✭llenaría✮✮ la <strong>de</strong>presión y <strong>de</strong>spués <strong>de</strong>sbordaría <strong>de</strong> la misma, por lo que es<br />

necesario suplir este proceso <strong>con</strong> otros algoritmos distintos que proce<strong>de</strong>n a ese ✭✭llenado✮✮.


136 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

El origen <strong>de</strong> estas <strong>de</strong>presiones generalmente se halla en los procesos matemáticos que tienen<br />

lugar durante la producción <strong>de</strong>l MDT (interpolación, etc.), aunque pue<strong>de</strong> tratarse en ocasiones<br />

<strong>de</strong> verda<strong>de</strong>ras formas <strong>de</strong>l relieve, tales como lagos, estanques, etc.<br />

Para corregir esta circunstancia y <strong>de</strong>jar el MDT preparado para su posterior <strong>análisis</strong> hidrológico,<br />

tenemos dos módulos principales: Preprocesado/Eliminar <strong>de</strong>presiones y Preprocesado/Definición<br />

<strong>de</strong> Flujo en Depresiones.<br />

Estos módulos correspon<strong>de</strong>n respectivamente a los dos principales enfoques a la hora <strong>de</strong><br />

preprocesar un MDT. Por una parte, pue<strong>de</strong> crearse un nuevo MDT <strong>con</strong> esas <strong>de</strong>presiones ya<br />

corregidas (✭✭llenadas✮✮, aunque veremos que no necesariamente es ése el proceso que tiene<br />

lugar), que sirva <strong>de</strong> por sí para llevar a cabo todo el trabajo necesario. Por otra parte, pue<strong>de</strong><br />

calcularse una capa accesoria que <strong>con</strong>tenga las direcciones <strong>de</strong> flujo asignadas a las celdas<br />

incluidas en las <strong>de</strong>presiones y calculadas mediante algoritmos específicos), y posteriormente<br />

utilizar ambas capas en <strong>con</strong>junto.<br />

Veamos <strong>con</strong> <strong>de</strong>talle ambos casos, comenzando por este último.<br />

Selecciona el MDT en el campo correspondiente y otra capa en el campo Dirección <strong>de</strong> flujo<br />

forzada. No selecciones la misma capa <strong>de</strong>l MDT ya que luego necesitarás ambas a la vez para<br />

trabajar.<br />

Pue<strong>de</strong> introducirse un umbral <strong>de</strong> altura para la <strong>de</strong>finición <strong>de</strong> las <strong>de</strong>presiones, aunque lo<br />

habitual es que todas sean <strong>con</strong>si<strong>de</strong>radas como tales <strong>con</strong> in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> su profundidad. Si<br />

<strong>de</strong>seas utilizar un umbral, selecciona la casilla Umbral e introduce el valor <strong>de</strong> altura en Umbral<br />

<strong>de</strong> altura, expresado en las mismas unida<strong>de</strong>s <strong>con</strong> las que se registra la elevación en el MDT.<br />

Ejecuta el módulo y obtendrás una nueva capa. <strong>La</strong> capa <strong>con</strong>tiene en su mayoría <strong>de</strong> celdas<br />

valores 0, los cuales indican que dichas celdas tienen un flujo perfectamente <strong>de</strong>finido y no<br />

necesitan información accesoria para el <strong>análisis</strong> hidrológico. En las restantes, los valores son<br />

enteros, <strong>de</strong> 1 hasta 8, codificando las direcciones posibles <strong>de</strong>s<strong>de</strong> una celda hasta las <strong>de</strong> su<br />

entorno inmediato. Ésta es la información que será utilizada por los algoritmos <strong>de</strong> <strong>con</strong>ducción<br />

<strong>de</strong> flujo en el caso <strong>de</strong> que no puedan operar correctamente haciendo uso exclusivo <strong>de</strong> la<br />

información <strong>de</strong> elevaciones <strong>con</strong>tenida en el MDT.<br />

En el caso <strong>de</strong>l MDT <strong>de</strong> ejemplo, éste ya se encuentra preprocesado, por lo que la capa que<br />

obtendrás será <strong>con</strong>stante <strong>de</strong> valor 0.<br />

Si en lugar <strong>de</strong> lo anterior lo que prefieres es crear un MDT in<strong>de</strong>pendiente ya corregido,<br />

ejecuta el módulo Eliminar Depresiones.<br />

Selecciona el MDT que <strong>de</strong>seas preprocesar en la lista <strong>de</strong>l campo <strong>de</strong>l mismo nombre y una<br />

capa <strong>de</strong> salida en MDT Preprocesado. Para evitar <strong>con</strong>fusiones, es una buena i<strong>de</strong>a sobreescribir


10.6. ESTRUCTURA HIDROLÓGICA DE UN GRID. ANÁLISIS D8 BÁSICO 137<br />

este primero y que <strong>de</strong> este modo sea ya únicamente posible trabajar <strong>con</strong> el MDT preprocesado.<br />

De hecho, en este caso, si no seleccionas nada en este segundo campo, el módulo<br />

automáticamente sobreescribe el MDT original.<br />

<strong>La</strong> forma más usual <strong>de</strong> corregir <strong>de</strong>presiones es llenándolas <strong>de</strong> la misma forma en que el agua<br />

lo haría, pero también pue<strong>de</strong>n corregirse ✭✭excavando✮✮ los bor<strong>de</strong>s <strong>de</strong> la <strong>de</strong>presión y creando<br />

así un camino para el flujo. Para seleccionar entre estos métodos, pue<strong>de</strong>s elegir hacerlo en<br />

el campo Método. Aunque <strong>con</strong>ceptualmente distintas, en la práctica estas metodologías no<br />

guardan diferencias notables, y los resultados que obtendrás <strong>con</strong> los MDTS preprocesados por<br />

uno u otro método van a ser idénticos.<br />

De forma opcional, pue<strong>de</strong>s utilizar una capa adicional <strong>con</strong> direcciones <strong>de</strong> flujo tal y como la<br />

creada anteriormente, seleccionándola en el campo Dirección <strong>de</strong> flujo forzada. Esto ayudará al<br />

módulo a <strong>de</strong>cidir cómo llenar o excavar las <strong>de</strong>presiones.<br />

Pese a que éstas son las formulaciones más habituales para solventar el problema <strong>de</strong> las<br />

<strong>de</strong>presiones, existen otros módulos que cumplen una función similar. Uno <strong>de</strong> ellos es el que<br />

implementa el algoritmo <strong>de</strong> eliminación <strong>de</strong> <strong>de</strong>presiones <strong>de</strong>sarrollado por Planchon y Darboux,<br />

una <strong>con</strong>tribución externa a <strong>SEXTANTE</strong>. Según los autores, este algoritmo es computacionalmente<br />

más eficiente que otros.<br />

Selecciona el menú <strong>de</strong>l módulo y llegarás a esta ventana <strong>de</strong> parámetros.<br />

El valor por <strong>de</strong>fecto para el parámetro Pendiente es una opción buena en casi todos los<br />

casos, así qué no es interesante variarlo. Los <strong>de</strong>más campos son similares a otros casos, y no<br />

creo que sea necesaria más información.<br />

10.6. Estructura hidrológica <strong>de</strong> un grid. Análisis D8 básico<br />

Antes <strong>de</strong> comenzar a extraer parámetros hidrológicos, echémosle un vistazo a cómo se<br />

estructuran las celdas <strong>de</strong>l MDT y cómo su propia <strong>con</strong>figuración <strong>de</strong>fine la forma en que los<br />

distintos flujos se comportan a través <strong>de</strong> las mismas. Haciendo esto po<strong>de</strong>mos ver la estructura<br />

hidrológica ✭✭interna✮✮ <strong>de</strong>l MDT, lo cual no es sólo útil, sino también muy instructivo.<br />

Ve al menú Análisis <strong>de</strong>l terreno/Red <strong>de</strong> Drenaje/Análisis <strong>de</strong> Flujo D8<br />

Como pue<strong>de</strong>s ver, nuevamente es tan sólo necesario el MDT para ejecutar el módulo, y<br />

genera dos capas raster y una vectorial. <strong>La</strong> capa vectorial <strong>con</strong>tiene el árbol <strong>de</strong> flujos entre<br />

celdas, y su verda<strong>de</strong>ra información se observa al añadirlo a un mapa <strong>con</strong> el MDT <strong>de</strong> partida<br />

y acercarse lo suficiente a éste como para que puedan distinguirse las celdas que lo forman.


138 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

<strong>La</strong>s líneas representan las celdas vecinas a las que el agua fluye <strong>de</strong>s<strong>de</strong> cada una <strong>de</strong> ellas,<br />

quedando así patente la relación existente entre ellas <strong>de</strong>s<strong>de</strong> un punto <strong>de</strong> vista hidrológico. Si<br />

te alejas en el mapa, llegará un punto en el que las líneas no sean distinguibles. En este punto<br />

es <strong>con</strong>veniente hacer uso <strong>de</strong> la propiedad Representar en Función <strong>de</strong> la Escala, para evitar que<br />

esta capa dificulte la visión <strong>de</strong> las restantes a esta escala.<br />

Respecto a las dos capas raster generadas, para estudiarlas veamos una representación<br />

cercana <strong>de</strong> ambas junto <strong>con</strong> la capa vectorial que acabamos <strong>de</strong> ver.<br />

He aquí la primera <strong>de</strong> ellas, Dirección <strong>de</strong> flujo.<br />

Los valores en cada celda indican sencillamente la dirección <strong>de</strong> la siguiente celda <strong>de</strong> acuerdo<br />

<strong>con</strong> el mo<strong>de</strong>lo D8 (valores <strong>de</strong>l 1 al 8 que representan una <strong>de</strong> las 8 celdas circundantes, veremos<br />

pronto más acerca <strong>de</strong> esto). No es difícil adivinar que este mapa es idéntico al que pue<strong>de</strong><br />

obtenerse <strong>con</strong> el módulo Morfometría Local haciendo uso <strong>de</strong>l método Máxima pendiente.<br />

<strong>La</strong> otra capa, Conectividad <strong>de</strong> flujo, tiene el siguiente aspecto en esa misma representación<br />

<strong>de</strong> cerca.


10.7. CALCULANDO EL ÁREA APORTANTE 139<br />

Aquí los valores <strong>de</strong> cada celda representan el número <strong>de</strong> otras celdas <strong>de</strong>l entorno <strong>de</strong> 8 celdas<br />

que vierten sobre cada una <strong>de</strong> ellas. Si vuelves a la ventana <strong>de</strong> parámetros verás que hay un<br />

parámetro <strong>de</strong>nominado Conectividad mínima sobre el que en su momento no he comentado<br />

nada. Si <strong>de</strong>jas el valor nulo que tiene por <strong>de</strong>fecto, la capa vectorial resultante <strong>con</strong>tiene todas las<br />

líneas <strong>de</strong> flujo. Si seleccionas un valor mayor, sólo aquellas celdas <strong>con</strong> un valor <strong>de</strong> <strong>con</strong>ectividad<br />

mayor que el introducido son incluidas en la capa vectorial. ¡Pruebalo!<br />

10.7. Calculando el área aportante<br />

Ahora que nuestro MDT ya está preprocesado y pue<strong>de</strong> ser utilizado por los algoritmos <strong>de</strong><br />

<strong>con</strong>ducción <strong>de</strong> flujo (algo que a<strong>de</strong>más hemos visto <strong>de</strong> forma ✭✭cercana✮✮ en el punto anterior),<br />

es el momento <strong>de</strong> empezar a extraer resultados serios y verda<strong>de</strong>ramente <strong>de</strong>finitorios <strong>de</strong> las<br />

circunstancias hidrológicas <strong>de</strong>finidas por el MDT. <strong>La</strong>s capacida<strong>de</strong>s <strong>de</strong> <strong>análisis</strong> <strong>de</strong> <strong>SEXTANTE</strong><br />

alcanzan su máxima expresión en este terreno, superando a la gran mayoría <strong>de</strong> otros SIGs tanto<br />

en su potencia como en su sencillez <strong>de</strong> uso. No obstante, es <strong>con</strong>veniente introducir algunas<br />

i<strong>de</strong>as y <strong>con</strong>ceptos básicos antes <strong>de</strong> ponerse directamente a trabajar <strong>con</strong> los módulos implicados<br />

en estas tareas.<br />

Los algoritmos <strong>de</strong> <strong>con</strong>ducción <strong>de</strong> flujo <strong>con</strong>stituyen el elemento clave <strong>de</strong>l <strong>análisis</strong> hidrológico<br />

basado en Mo<strong>de</strong>los Digitales <strong>de</strong>l Terreno, y ésta es, por tanto, un área notablemente <strong>de</strong>sarrollada.<br />

Existen diversas alternativas, cada una <strong>de</strong> ellas, como parece lógico, presentan sus pros<br />

y sus <strong>con</strong>tras. Explicar <strong>con</strong> <strong>de</strong>talle las formulaciones <strong>de</strong> las mismas es una tarea innecesaria,<br />

pero sí que <strong>de</strong>ben presentarse aquellas partes <strong>de</strong> éstas que tienen un mayor interés práctico,<br />

<strong>de</strong> cara a <strong>con</strong>ocerlas en la medida <strong>de</strong> lo posible y hacer un uso correcto <strong>de</strong> ellas. En particular,<br />

es interesante apuntar las diferencias entre las distintas metodologías, pues en algunos casos<br />

éstas son notables.<br />

Básicamente, los métodos <strong>de</strong> <strong>con</strong>ducción <strong>de</strong> flujo pue<strong>de</strong>n agruparse en dos grupos: aquellos<br />

que <strong>con</strong>si<strong>de</strong>ran que el flujo se mueve entre los centros <strong>de</strong> las celdas y aquellos que <strong>con</strong>si<strong>de</strong>ran que<br />

lo hace ✭✭libremente✮✮ por el MDT, pudiendo ocupar cualquier posición <strong>de</strong>ntro <strong>de</strong> la celda. Los<br />

<strong>de</strong>l primer grupo están relacionados <strong>con</strong> la metodología D8 que ya <strong>con</strong>oces (la más antigua y<br />

sencilla, y la que en<strong>con</strong>trarás como única alternativa en otros SIGs), mientras que las restantes<br />

son más complejas y su uso algo más restringido.<br />

Des<strong>de</strong> otro punto <strong>de</strong> vista, pue<strong>de</strong>n separarse estos métodos en aquellos que <strong>con</strong>si<strong>de</strong>ran un<br />

flujo unidireccional (a los que habitualmente se hace mención como SFD, por las siglas <strong>de</strong> su<br />

<strong>de</strong>nominación en inglés, Single Flow Direction) y aquellos que <strong>con</strong>si<strong>de</strong>ran uno bidimensional<br />

(MFD, Multiple Flow Direction Algorithms).


140 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

Atendiendo a estas dos divisiones, el <strong>con</strong>junto <strong>de</strong> métodos disponibles pue<strong>de</strong>n <strong>de</strong>scribirse<br />

<strong>de</strong> la siguiente forma:<br />

Deterministic 8 (D8): El clásico. El flujo va <strong>de</strong>s<strong>de</strong> el centro <strong>de</strong> una celda hasta el<br />

centro <strong>de</strong> una (y sólo una) <strong>de</strong> las circundantes. Por ello, las direcciones <strong>de</strong> flujo están<br />

restringidas a ángulos múltiplos <strong>de</strong> 45 o , lo cual <strong>con</strong>stituye la razón para la mayor parte<br />

<strong>de</strong> los in<strong>con</strong>venientes <strong>de</strong>l método. (O’Callaghan & Mark 1984).<br />

Rho8: Igual al anterior pero añadiendo un componente estocástico que en teoría lo<br />

mejora. <strong>La</strong> dirección <strong>de</strong> flujo se <strong>de</strong>termina basada en un parámetro aleatorio que <strong>de</strong>pen<strong>de</strong><br />

<strong>de</strong> la diferencia entre la orientación y la dirección hacia las dos celdas adyacentes en dicha<br />

dirección. En realidad, se trata <strong>de</strong> un método <strong>de</strong> poca aplicación práctica- (Fairfield &<br />

Leymarie 1991).<br />

Deterministic infinity (D∞): El flujo va <strong>de</strong>l centro <strong>de</strong> una celda hasta los centros <strong>de</strong><br />

dos celdas <strong>con</strong>tiguas <strong>de</strong>l entorno, por lo que <strong>con</strong>si<strong>de</strong>ra un flujo bidimensional y supera<br />

así una <strong>de</strong> las <strong>de</strong>ficiencias <strong>de</strong>l D8. (Tarboton 1998).<br />

Braunschweiger Digitales Reliefmo<strong>de</strong>ll: Otro algoritmo <strong>de</strong> dirección <strong>de</strong> flujo múltiple<br />

(MFD). El flujo se divi<strong>de</strong> <strong>de</strong>s<strong>de</strong> el centro <strong>de</strong> la celda a los centros <strong>de</strong> la celda <strong>de</strong>l<br />

entorno situadas en la dirección más similar a la orientación y sus dos celdas adyacentes.<br />

(Bauer, Bork & Roh<strong>de</strong>nburg 1985).<br />

FD8 (En <strong>SEXTANTE</strong> aparece como Multiple Flow Direction): Un mo<strong>de</strong>lo bidimensional<br />

<strong>de</strong> flujo <strong>de</strong>rivado <strong>de</strong>l D8. (Quinn et al 1991).<br />

Kinematic Routing Algorithm (KRA). Un mo<strong>de</strong>lo unidimensional no basado en<br />

D8, sino <strong>con</strong>si<strong>de</strong>rando movimiento libre <strong>de</strong>l agua por el MDT. El flujo se comporta como<br />

una bola rodando por el MDT, sin restringir su posición a los centros <strong>de</strong> las celdas(Lea<br />

1992).<br />

Digital Elevation Mo<strong>de</strong>l Network (DEMON): El más complejo. Similar al anterior<br />

en su filosofía <strong>de</strong> no restringir los trazados <strong>de</strong>l flujo, pero bidimensional. Computacionalmente<br />

intenso, <strong>con</strong>sume más tiempo <strong>de</strong> proceso que los anteriores.. (Costa-Cabral &<br />

Burgess 1994).<br />

Con esta breve <strong>de</strong>scripción, <strong>de</strong>bería ser suficiente para comenzar a trabajar <strong>con</strong> los módulos<br />

hidrológicos. Según utilices cada método, irás comprendiendo mejor sus características<br />

y <strong>de</strong>scubriendo cuál te resulta más a<strong>de</strong>cuado. Para más información, pue<strong>de</strong>s <strong>con</strong>sultar las<br />

referencias que se apuntan en cada caso.<br />

<strong>La</strong> dirección <strong>de</strong> flujo como tal (es <strong>de</strong>cir, hacia qué otra celda va el flujo <strong>de</strong>s<strong>de</strong> cada una <strong>de</strong><br />

ellas) no es excesivamente útil. De hecho, algunos métodos no usan ese <strong>con</strong>cepto en sí <strong>de</strong>s<strong>de</strong> un<br />

punto <strong>de</strong> vista estricto. Sin embargo, son imprescindibles para la obtención <strong>de</strong> otros parámetros<br />

<strong>de</strong> mucho mayor interés. El más importante <strong>de</strong> estos parámetros es, sin duda, la acumulación<br />

<strong>de</strong> flujo, también <strong>con</strong>ocida como área aportante. <strong>La</strong> acumulación <strong>de</strong> flujo <strong>de</strong> una celda no<br />

es sino el valor <strong>de</strong> la superficie situada aguas arriba <strong>de</strong> la misma, es <strong>de</strong>cir, el área <strong>de</strong> todas<br />

las celdas cuyo flujo, una vez <strong>con</strong>ducido hacia aguas abajo, acabará pasando por dicha celda.<br />

Como pronto veremos, una capa <strong>de</strong> valores <strong>de</strong> acumulación <strong>de</strong> flujo es necesaria para calcular<br />

buena parte <strong>de</strong> los parámetros restantes <strong>de</strong> este capítulo, <strong>de</strong> ahí su vital importancia.<br />

<strong>La</strong> forma <strong>de</strong> generar una capa <strong>con</strong> valores <strong>de</strong> área aportante es diferente en función <strong>de</strong><br />

los algoritmos <strong>de</strong> <strong>con</strong>ducción <strong>de</strong> flujo que se utilicen. Por ello, existen en SEXANTE tres<br />

módulos distintos que pue<strong>de</strong>n ser usados para este fin, todos ellos bajo el menú Análisis <strong>de</strong>l


10.7. CALCULANDO EL ÁREA APORTANTE 141<br />

Terreno/Acumulación <strong>de</strong> Flujo. Estos módulos son Procesado paralelo, Procesado recursivo y<br />

Trazado <strong>de</strong> flujo.<br />

Este último <strong>con</strong>tiene los módulos que no <strong>con</strong>si<strong>de</strong>ran el flujo limitado a los centros <strong>de</strong><br />

las celdas, es <strong>de</strong>cir, KRA y DEMON. Los restantes, aquellos que <strong>de</strong>rivan <strong>de</strong>l original D8, se<br />

encuentran implementados en los dos módulos restantes. No hay diferencia entre los resultados<br />

que se obtienen <strong>con</strong> éstos, a excepción <strong>de</strong> que el módulo Procesado paralelo genera una capa<br />

más, por lo que tan sólo <strong>de</strong>tallaré uno <strong>de</strong> ellos.<br />

Selecciona el menú Procesado paralelo para llegar a la siguiente ventana <strong>de</strong> parámetros.<br />

Tres campos requieren entrada <strong>de</strong> datos en forma <strong>de</strong> capas ya existentes, siendo únicamente<br />

uno <strong>de</strong> ellos <strong>de</strong> uso obligatorio. Por supuesto, dicho campo es el que <strong>con</strong>tiene el MDT,<br />

imprescindible también aquí como en los módulos que ya hemos visto hasta el momento. Si<br />

has preprocesado el Mo<strong>de</strong>lo Digital <strong>de</strong>l Terreno usando el módulo Eliminación <strong>de</strong> <strong>de</strong>presiones,<br />

no necesitarás hacer uso <strong>de</strong>l campo Dirección <strong>de</strong> flujo forzada. Utilízalo en caso <strong>de</strong> que<br />

dispongas <strong>de</strong> una capa accesoria para ayudar al módulo a <strong>de</strong>cidir las direcciones <strong>de</strong> flujo sobre<br />

<strong>de</strong>presiones.<br />

Haciendo uso <strong>de</strong>l último campo <strong>de</strong> entrada, Peso, pue<strong>de</strong>s ajustar el peso que cada celda<br />

tiene cuando se calcula el valor <strong>de</strong> área aportante. Veamos un ejemplo <strong>de</strong> cómo pue<strong>de</strong> usarse<br />

esto.<br />

Por <strong>de</strong>fecto, los valores <strong>de</strong> flujo acumulado vienen expresados en unida<strong>de</strong>s <strong>de</strong> área (es <strong>de</strong>cir,<br />

en el caso <strong>de</strong> que la resolución esté expresada en metros, el área aportante se expresará en<br />

metros cuadrados). Si <strong>con</strong>oces la cantidad <strong>de</strong> escorrentía que se genera en cada celda (medida,<br />

por ejemplo, en milímetros), pue<strong>de</strong>s <strong>con</strong>vertir esos valores <strong>de</strong> área acumulada en valores <strong>de</strong><br />

escorrentía que llega a cada celda. No todas las celdas generan la misma escorrentía, así que<br />

<strong>de</strong>bes usar una nueva capa en el campo Peso para indicar al programa la cantidad asociada a<br />

cada una <strong>de</strong> ellas.<br />

Si no seleccionas ninguna capa, cada celda aporta el valor <strong>de</strong> su propio área, es <strong>de</strong>cir, el<br />

calculado como el cuadrado <strong>de</strong>l tamaño <strong>de</strong> celda <strong>de</strong>l MDT sobre el que se trabaje. En caso<br />

<strong>con</strong>trario, <strong>con</strong>tribuye <strong>con</strong> el valor que aparezca dicha celda en la capa <strong>de</strong> pesos.<br />

Date cuenta <strong>de</strong> que, en este último caso, la capa <strong>de</strong> área aportante, pese a <strong>de</strong>nominarse así,<br />

no <strong>con</strong>tiene valores <strong>de</strong> área, sino que éstos vienen expresados en las mismas unida<strong>de</strong>s que los<br />

pesos. Más importante aún, ello imposibilita a dicha capa para ser utilizada posteriormente<br />

cuando se requieran valores <strong>de</strong> área aportante. Recuerda esto cuando veamos los próximos<br />

módulos.<br />

Cálculemos una capa <strong>de</strong> flujo acumulado, por simplicidad <strong>de</strong>jando en blanco el campo Peso<br />

(a<strong>de</strong>más <strong>de</strong> por simplicidad ésta es la opción que se utiliza en la mayoría <strong>de</strong> los casos). En el


142 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

campo MDT selecciona nuestro Mo<strong>de</strong>lo Digital <strong>de</strong>l Terreno habitual, que previamente <strong>de</strong>berás<br />

haber preprocesado. Sin prestar atención a los restantes campos (luego los analizaremos),<br />

ejecuta el módulo haciendo clic en Aceptar. Obtendrás algo como lo siguiente.<br />

Sé lo que estás pensando. No es muy llamativo, ¿verdad? ¡Es casi todo blanco!. Recuerda<br />

que hay que cambiar el tipo <strong>de</strong> rampa <strong>de</strong> color a logarítmica para ver <strong>de</strong> modo más explícito<br />

la información que la capa <strong>con</strong>tiene, tal y como en la siguiente figura, que ya <strong>con</strong>oces <strong>de</strong> antes.<br />

Pese a que existen diferencias entre las capas <strong>de</strong> acumulación <strong>de</strong> flujo calculadas <strong>con</strong> cada<br />

uno <strong>de</strong> los métodos, su aspecto es muy similar. No obstante, aun siendo diferencias sutiles<br />

para un vistazo casual, sí que existen variaciones apreciables que, <strong>de</strong> hecho, permiten apreciar<br />

la calidad <strong>de</strong> la capa (y por tanto la <strong>de</strong>l método utilizado), pues revelan sus <strong>de</strong>ficiencias <strong>de</strong><br />

modo claro.<br />

Volviendo a la ventana <strong>de</strong> parámetros, hay una importante serie <strong>de</strong> nuevas capas que son<br />

generadas. Por <strong>de</strong>fecto, no todas ellas son creadas, pero en este caso selecciona la opción [crear]<br />

en todas para que podamos analizar cada una <strong>con</strong> algo más <strong>de</strong> <strong>de</strong>talle.<br />

Como ya se ha dicho, <strong>de</strong>pendiendo <strong>de</strong>l módulo que ejecutes podrás generar más o menos<br />

capas. Puesto que hemos usado Procesado paralelo, que es el más completo <strong>de</strong> ellos, todas las<br />

capas posibles quedan explicadas en las siguientes <strong>de</strong>scripciones, pero <strong>de</strong>bes ser <strong>con</strong>sciente <strong>de</strong><br />

que no todas ellas se crean si utilizas cualquiera <strong>de</strong> los otros módulos. De cualquier forma, los<br />

tres primeros (área acumulada, pendiente media aguas arriba y elevación media aguas arriba)<br />

se pue<strong>de</strong>n generar en todos los casos.


10.7. CALCULANDO EL ÁREA APORTANTE 143<br />

Bajo el grupo Opciones hay un grupo <strong>de</strong> campos que <strong>con</strong>trolan la forma en que estas nuevas<br />

capas son creadas. El principal <strong>de</strong> todos ellos, Método, sirve para seleccionar el algoritmo <strong>de</strong><br />

<strong>con</strong>ducción <strong>de</strong> flujo entre los anteriormente presentados.<br />

Los campos restantes <strong>con</strong>tienen parámetros particulares <strong>de</strong> cada uno <strong>de</strong> dichos algoritmos.<br />

Compren<strong>de</strong>r el significado <strong>de</strong> estos parámetros requiere un <strong>con</strong>ocimiento más profundo <strong>de</strong> cada<br />

formulación, y más aún si a<strong>de</strong>más se <strong>de</strong>sea hacer un uso directo <strong>de</strong> los mismos y ajustarlos a<br />

las necesida<strong>de</strong>s propias <strong>de</strong> cada caso. Por ello, creo que no es <strong>con</strong>veniente añadir más <strong>de</strong>talles<br />

al respecto, especialmente <strong>con</strong>si<strong>de</strong>rando que los valores por <strong>de</strong>fecto suelen ser los empleados<br />

en la práctica totalidad <strong>de</strong> casos. Si realmente quieres más información, te recomiendo una<br />

vez más acudir a las referencias proporcionadas.<br />

Veamos ahora un poco acerca da cada una <strong>de</strong> las capas creadas, a<strong>de</strong>más <strong>de</strong> la <strong>de</strong>l flujo<br />

acumulado.<br />

<strong>La</strong> primera <strong>de</strong> todas ellas es la que <strong>con</strong>tiene valores <strong>de</strong> pendiente media aguas arriba.<br />

En ella, los valores <strong>de</strong> las celdas representan la pendiente media <strong>de</strong> todas las situadas aguas<br />

arriba <strong>de</strong> la misma.<br />

Estas pendientes medias se expresan en radianes (el factor Z en este caso es igual a 1), por<br />

lo que has <strong>de</strong> tener cuidado si vas a utilizarlo en <strong>con</strong>junto <strong>con</strong> la capa <strong>de</strong> pendientes creada<br />

<strong>con</strong> el módulo Morfometría Local<br />

De las tres capas que pue<strong>de</strong>n ser generadas por todos los módulos, la última es la que<br />

<strong>con</strong>tiene valores <strong>de</strong> altura medios. Se calcula evaluando la media <strong>de</strong> todos los valores <strong>de</strong><br />

elevación <strong>de</strong> las celdas aguas arriba menos la altura <strong>de</strong> la propia celda <strong>de</strong> cierre (la que<br />

<strong>con</strong>tiene el valor como tal)<br />

Aquí pue<strong>de</strong>s ver su aspecto, si se calcula a partir <strong>de</strong>l MDT <strong>de</strong> ejemplo.


144 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

Entre esas capas que no todos los módulos generan, en<strong>con</strong>tramos la <strong>de</strong> orientación media,<br />

don<strong>de</strong> se recogen los valores medios <strong>de</strong> orientación <strong>de</strong> las celdas aguas arriba <strong>de</strong> cada una.<br />

Similar a los anteriores pero <strong>con</strong> un parámetro distinto.<br />

El resultado también en este caso está en radianes en lugar <strong>de</strong> en grados. He cambiado<br />

la rampa <strong>de</strong> colores para una mejor apariencia, por lo que probablemente el resultado que tu<br />

obtengas, al ponerlo en un mapa, tenga un aspecto distinto.<br />

<strong>La</strong> última capa que po<strong>de</strong>mos obtener es la <strong>de</strong> distancias <strong>de</strong> flujo, don<strong>de</strong> se recogen las<br />

longitu<strong>de</strong>s máximas <strong>de</strong> los flujos hasta cada celda.


10.7. CALCULANDO EL ÁREA APORTANTE 145<br />

Sus valores están expresados en las mismas unida<strong>de</strong>s que el tamaño <strong>de</strong> celda.<br />

Todas estas capas <strong>de</strong>pen<strong>de</strong>n, por supuesto, <strong>de</strong>l algoritmo <strong>de</strong> dirección <strong>de</strong> flujo elegido,<br />

aunque la diferencia entre ambos no es suficientemente significativa como para po<strong>de</strong>r en este<br />

caso <strong>de</strong>cir que unos algoritmos arrojen resultados más correctos que otros. O al menos no <strong>de</strong> la<br />

misma forma que suce<strong>de</strong>, por ejemplo, para la capa <strong>de</strong> área aportante, cuya mayor importancia<br />

hace <strong>con</strong>si<strong>de</strong>rar este hecho <strong>de</strong>s<strong>de</strong> otro punto <strong>de</strong> vista.<br />

Para mostrar <strong>de</strong> un modo más claro la diferencia existente entre los distintos algoritmos<br />

vamos a calcular una capa <strong>de</strong> acumulación <strong>de</strong> flujo <strong>con</strong> todos ellos, pero en lugar <strong>de</strong> hacerlo<br />

sobre un MDT normal, vamos a utilizar una sencilla superficie matemática. En este caso,<br />

usaremos una superficie en forma <strong>de</strong> <strong>con</strong>o que crearemos <strong>con</strong> el móduloGrid a partir <strong>de</strong> función<br />

matemática. Introduce en los campos xmin y ymin un valor <strong>de</strong> -1, y en xmax y ymax un valor<br />

<strong>de</strong> 1. Utiliza la siguiente fórmula: 1-(x*x+y*y).<br />

Con esta capa ✭✭artificial✮✮ y los algoritmos disponibles, pue<strong>de</strong>s crear capas <strong>de</strong> acumulación<br />

<strong>de</strong> flujo y apreciar claramente las diferencias entre ellas. A modo <strong>de</strong> ejemplo, pue<strong>de</strong>s comparar<br />

bajo estas líneas, <strong>de</strong> izquierda a <strong>de</strong>recha, los resultados <strong>de</strong> los algoritmos D8, Rho8 y MFD.<br />

Prueba tú mismo los restantes.<br />

Un último apunte referente a la precisión en el cálculo <strong>de</strong>l área aportante y otros parámetos<br />

<strong>de</strong>rivados. Puesto que estos parámetros analizan todas las celdas situadas aguas arriba <strong>de</strong> una<br />

dada, es necesario asegurarse que dichas celdas se encuentran efectivamente <strong>de</strong>ntro <strong>de</strong> la<br />

extensión <strong>de</strong> la capa <strong>con</strong> la que trabajamos. Pudiera darse el caso en el que sólo una parte <strong>de</strong><br />

las celdas aguas arriba <strong>de</strong> una dada se en<strong>con</strong>traran <strong>de</strong>ntro <strong>de</strong>l grid, y las restantes hubieran<br />

quedado cortadas fuera.


146 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

En este caso, el área aportante y otros similares parámetros no se estarían calculando <strong>con</strong><br />

precisión, y su valor no es veraz. Se dice que en este caso dichas celdas están afectadas por<br />

<strong>con</strong>taminación <strong>de</strong> bor<strong>de</strong>. <strong>SEXTANTE</strong> incluye un módulo para <strong>con</strong>ocer qué celdas se encuentran<br />

en dicha situación, <strong>de</strong>nominado también Contaminación <strong>de</strong> Bor<strong>de</strong><br />

Simplemente selecciona el MDT como entrada, que <strong>de</strong>berá estar preprocesado, ya que sobre<br />

él se aplicarán algoritmos para el cálculo <strong>de</strong> direcciones <strong>de</strong> flujo.<br />

<strong>La</strong> nueva capa resultante <strong>con</strong>tiene en cada celda el numero <strong>de</strong> celdas <strong>de</strong> los bor<strong>de</strong>s que<br />

vierten sobre ella. Se <strong>con</strong>si<strong>de</strong>ra que estas celdas podrían tener otras celdas aguas arriba <strong>de</strong> las<br />

mismas, pero estas se en<strong>con</strong>trarían fuera <strong>de</strong> la extensión <strong>de</strong> la capa, por ello el hecho <strong>de</strong> que<br />

una <strong>de</strong> tales vierta sobre una celda es indicador <strong>de</strong> una posible falta <strong>de</strong> precisión.<br />

A <strong>con</strong>tinuación pue<strong>de</strong>s ver una representación <strong>de</strong> la capa generada para el MDT habitual.<br />

Como pue<strong>de</strong>s observar, la gran mayoría <strong>de</strong> las celdas no se ven afectadas en absoluto. Por<br />

supuesto, ninguna <strong>de</strong> las celdas <strong>de</strong>ntro <strong>de</strong> la cuenca <strong>de</strong> trabajo que hemos utilizado ya (y que<br />

utilizaremos <strong>con</strong> más intensidad a lo largo <strong>de</strong> este capítulo) están afectadas, ya que la cuenca<br />

se encuentra completamente <strong>con</strong>tenida <strong>de</strong>ntro <strong>de</strong> la capa.<br />

Para enten<strong>de</strong>r mejor los valores <strong>de</strong> la capa, calcúlala y <strong>de</strong>spués aña<strong>de</strong> a su representación<br />

la red <strong>de</strong> drenaje que obtuvimos <strong>con</strong> el módulo Análisis <strong>de</strong> Flujo D8. De este modo, pue<strong>de</strong>s<br />

seguir el curso <strong>de</strong> los flujos y ver la razón por la que unas celdas presentan <strong>con</strong>taminación <strong>de</strong><br />

bor<strong>de</strong> y otras no.<br />

Y por último, un pequeño reto: pue<strong>de</strong>s calcular esta capa <strong>de</strong> <strong>con</strong>taminación <strong>de</strong> bor<strong>de</strong><br />

utilizando solamente el módulo <strong>de</strong> acumulación <strong>de</strong> flujo y una capa muy particular en el<br />

campo Peso. ¿Se te ocurre cuál? Piénsalo e intenta calcularla.<br />

10.8. Área <strong>de</strong> dispersión<br />

Mientras que el área acumulada representa la superficie situada aguas arriba, existe un<br />

parámetro <strong>de</strong>nominado Área <strong>de</strong> dispersión que indica justamente lo <strong>con</strong>trario, esto es, el área<br />

aguas abajo hacia la cual pue<strong>de</strong> verter el flujo <strong>de</strong>s<strong>de</strong> cada celda.


10.9. CALCULANDO EL ÁREA AGUAS ABAJO Y AGUAS ARRIBA DE UN PUNTO147<br />

No en<strong>con</strong>trarás ningún módulo <strong>de</strong> <strong>SEXTANTE</strong> <strong>con</strong> este nombre, pero ello no significa que<br />

no puedas calcular este parámetro <strong>con</strong> cierta facilidad. Para hacerlo, simplemente invierte el<br />

MDT <strong>de</strong> forma que las partes altas sean ahora las más bajas y viceversa (<strong>de</strong>berías saber ya<br />

cómo hacer esto <strong>de</strong> al menos dos modos distintos). Con este MDT invertido, utiliza el módulo<br />

<strong>de</strong> acumulación <strong>de</strong> flujo y ya tendrás la capa <strong>de</strong> área <strong>de</strong> dispersión.<br />

A <strong>con</strong>tinuación pue<strong>de</strong>s ver el resultado <strong>de</strong> esta operación.<br />

10.9. Calculando el área aguas abajo y aguas arriba <strong>de</strong> un<br />

punto<br />

El valor <strong>de</strong> cada celda en la capa <strong>de</strong> área aportante indica la dimensión <strong>de</strong> dicho área. Sin<br />

embargo, es también interesante <strong>con</strong>ocer no solo el valor, sino también la extensión precisa <strong>de</strong><br />

la misma, es <strong>de</strong>cir, la forma <strong>de</strong> la cuenca asociada y su posición en el MDT. También pue<strong>de</strong><br />

ser interesante <strong>con</strong>ocer qué celdas se sitúan aguas abajo <strong>de</strong> una dada, indicando por cuáles el<br />

flujo pasa si parte <strong>de</strong>s<strong>de</strong> ésta.<br />

Estos dos resultados, que pue<strong>de</strong>n obtenerse mediante sendos módulos incluidos en SEX-<br />

TANTE, no son para todas las celdas <strong>de</strong> una capa, sino para una en <strong>con</strong>creto en cada caso,<br />

por lo que a<strong>de</strong>más <strong>de</strong>l MDT <strong>de</strong>be suministrarse la localización <strong>de</strong> dicha celda. Esto hace que<br />

los módulos que vamos a ver a <strong>con</strong>tinuación se encuadren <strong>de</strong>ntro <strong>de</strong> ese grupo <strong>de</strong> módulos<br />

interactivos que ya vimos anteriormente y sobre los que aquí trabajaremos <strong>de</strong> nuevo.<br />

Para empezar, selecciona el menú Acumulación <strong>de</strong> flujo/ Área aguas arriba.<br />

<strong>La</strong> ventana <strong>de</strong> parámetros tiene un aspecto similar a la cualquiera <strong>de</strong> los módulos <strong>de</strong><br />

acumulación <strong>de</strong> flujo, pero <strong>con</strong> algunos campos menos. No hay posibilidad <strong>de</strong> especificar los<br />

pesos <strong>de</strong> las celdas, y tan sólo se genera una nueva capa <strong>de</strong> salida. También en<strong>con</strong>trarás los<br />

distintos algoritmos <strong>de</strong> <strong>con</strong>ducción <strong>de</strong> flujo en el campo Método, aunque para esta tarea y <strong>con</strong>


148 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

el planteamiento implementado algunos no son utilizables (en particular aquellos no <strong>de</strong>rivados<br />

<strong>de</strong>l D8), por lo que no todos están presentes.<br />

Cierra la ventana <strong>de</strong> parámetros haciendo clic en Aceptar. Ahora ve a un mapa en el que<br />

puedas seleccionar un punto <strong>de</strong> cierre a partir <strong>de</strong>l cual <strong>de</strong>finir una cuenca y que el módulo<br />

pueda trazar ésta. Una buena capa para hacer esto es la capa <strong>de</strong> cauces, ya que los puntos<br />

<strong>de</strong> cauce, por propia <strong>de</strong>finición, tienen un área aportante elevada (veremos el porqué <strong>de</strong> esto<br />

en breve). Aunque se utilice el MDT para calcular la cuenca, pue<strong>de</strong>s utilizar cualquier mapa<br />

para introducir la información <strong>de</strong> tipo interactivo en el módulo, <strong>con</strong> in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> que este<br />

mapa <strong>con</strong>tenga al MDT. Incluso podrías hacerlo sobre un mapa sólo <strong>con</strong> capas vectoriales.<br />

Haz clic en una celda <strong>de</strong> cauce y el módulo calculará el área asociada a esa celda, mostrando<br />

la zona que ocupa en una nueva capa. Esta capa será añadida automáticamente a un nuevo<br />

mapa.<br />

Dependiendo <strong>de</strong> la celda que elijas, la capa será, lógicamente, distinta, pero el resultado<br />

<strong>de</strong>berá ser similar al siguiente.<br />

Probablemente ya hayas notado que se parece a la máscara que utilizamos en el capítulo<br />

anterior. Ello se <strong>de</strong>be a que el método elegido para generar esta capa ha sido el D8, mediante<br />

el cual las celdas pertenecen por completo o no a la cuenca calculada. Si se emplean otros<br />

algoritmos, el flujo <strong>de</strong> una celda se vierte a más <strong>de</strong> una <strong>de</strong> sus circundantes hacia aguas abajo,<br />

y en el caso <strong>de</strong> las celdas en el bor<strong>de</strong> <strong>de</strong> la cuenca, ello significa que la celda sólo aporta una<br />

parte <strong>de</strong>l flujo hacia el punto <strong>de</strong> salida, por lo que no se encuentra por completo ✭✭<strong>de</strong>ntro✮✮ <strong>de</strong> la<br />

cuenca (no en un sentido físico, sino estrictamente hidrológico). Es una diferencia sutil, pero<br />

pue<strong>de</strong> apreciarse si se compara el resultado mediante el algoritmo D8 y el FD8, como en la<br />

siguiente figura.


10.9. CALCULANDO EL ÁREA AGUAS ABAJO Y AGUAS ARRIBA DE UN PUNTO149<br />

Esto <strong>de</strong>bería ayudarte a compren<strong>de</strong>r mejor aún las características <strong>de</strong> cada algoritmo y lo<br />

que su uso <strong>con</strong>lleva.<br />

Pue<strong>de</strong>s verlo <strong>con</strong> más <strong>de</strong>talle en las zonas <strong>de</strong> los bor<strong>de</strong>s que aparecen como difuminadas.<br />

En ellas, los valores son menores que el área <strong>de</strong> una sola celda, ya que es sólo una parte <strong>de</strong><br />

alguna <strong>de</strong> ellas (en virtud <strong>de</strong> la división <strong>de</strong> flujo que se produce en los mo<strong>de</strong>los <strong>de</strong> múltiple<br />

dirección) la que aporta su flujo.<br />

A <strong>con</strong>tinuación tienes un plano corto <strong>de</strong> una <strong>de</strong> estas áreas.<br />

Recuerda que, por ser el módulo interactivo, su actividad no cesa una vez que generas un<br />

resultado, sino que pue<strong>de</strong>s seguir haciendo clic en otras celdas y en cada caso se calculará una<br />

cuenca distinta. No obstante, una vez que la capa que las <strong>con</strong>tiene se ha creado y añadido a<br />

un mapa, no se genera una nueva capa en cada ocasión, sino que se sobreescribe el <strong>con</strong>tenido<br />

previo <strong>de</strong> la misma.<br />

Para <strong>de</strong>tener la ejecución y po<strong>de</strong>r trabajar <strong>con</strong> otros módulos, una vez que obtengas el<br />

resultado seleccionado haz clic en el menú <strong>de</strong>l módulo nuevamente para <strong>de</strong>sactivarlo.<br />

Conociendo el funcionamiento <strong>de</strong> este módulo, no te será difícil compren<strong>de</strong>r la manera <strong>de</strong><br />

utilizar su complementario: Área aguas abajo. Su ventana <strong>de</strong> parámetros es idéntica a la <strong>de</strong>l<br />

módulo que acabamos <strong>de</strong> ver, e igual que éste requiere entrada interactiva. Sin embargo, en<br />

este caso la información que se <strong>con</strong>tiene en la capa <strong>de</strong> <strong>de</strong>stino es justo la opuesta, marcándose<br />

las celdas aguas abajo <strong>de</strong> la seleccionada hasta las que el flujo llega <strong>de</strong>s<strong>de</strong> ésta.<br />

En este caso pue<strong>de</strong>s seleccionar la totalidad <strong>de</strong> métodos disponibles, no únicamente los<br />

<strong>de</strong>rivados <strong>de</strong>l D8.


150 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

Un ejemplo <strong>de</strong> la capa resultante es el siguiente.<br />

También es interesante en este caso el comparar los resultados <strong>de</strong> las distintas metodologías,<br />

pues te ayudará <strong>de</strong> igual modo a apreciar las diferencias existentes. De nuevo sobre la<br />

superficie semicircular creada, selecciona uno <strong>de</strong> los puntos en su cima y crea una serie <strong>de</strong> capas<br />

empleando algunas metodologías <strong>de</strong> las disponibles. Bajo estas líneas tienes una comparativa<br />

<strong>de</strong> tres <strong>de</strong> ellas (una vez más, D8, Rho8 y MFD).<br />

Al utilizar el método Rho8, date cuenta <strong>de</strong> que, si haces clic repetidas veces sobre una<br />

misma celda, el resultado no es el mismo cada vez, ya que el factor estocástico introducido el<br />

el método hace que varíe <strong>de</strong> una ejecución a otra.<br />

Por último, existe una versión no interactiva <strong>de</strong>l primer módulo que hemos visto, <strong>de</strong> tal<br />

forma que se pue<strong>de</strong> calcular el área aguas arriba no <strong>de</strong> un único punto, sino <strong>de</strong> una serie<br />

<strong>de</strong> ellos. Estos puntos se <strong>de</strong>finen mediante otra capa raster, en la cual las celdas <strong>con</strong> valores<br />

validos son celdas problema a <strong>con</strong>si<strong>de</strong>rar como puntos <strong>de</strong> cierre, mientras que las celdas sin<br />

datos se ignoran.


10.9. CALCULANDO EL ÁREA AGUAS ABAJO Y AGUAS ARRIBA DE UN PUNTO151<br />

Prueba a crear una capa <strong>de</strong> puntos <strong>de</strong> cierre y <strong>con</strong> ella utilizar este módulo. Su base es<br />

muy similar a la <strong>de</strong> su homólogo interactivo, por lo que no tendrás dificultar en usarla.<br />

Dos son los módulos incluidos en <strong>SEXTANTE</strong> que permiten el cálculo <strong>de</strong> distancias <strong>de</strong><br />

flujo:Longitud <strong>de</strong> Flujo y Longitud <strong>de</strong> Pendiente. El primero <strong>de</strong> ellos calcula la distancia<br />

media <strong>de</strong> flujo aguas arriba <strong>de</strong> una celda dada, mientras que el segundo <strong>de</strong> ellos calcula la<br />

máxima distancia <strong>de</strong> flujo en la<strong>de</strong>ra bajo unas <strong>con</strong>diciones dadas. Este segundo parámetro<br />

pue<strong>de</strong> emplearse <strong>de</strong>ntro <strong>de</strong> la Ecuación Universal <strong>de</strong> Pérdidas <strong>de</strong> Suelo (USLE) como factor<br />

L. Veremos en la siguiente sección que es posible utilizar un módulo distinto para calcular en<br />

un solo proceso el producto LS <strong>de</strong> la USLE por otros medios, aunque ello no resta interés al<br />

cálculo in<strong>de</strong>pendiente <strong>de</strong> la longitud L <strong>de</strong> la pendiente.<br />

Veamos en primer lugar el módulo Longitud <strong>de</strong> Flujo<br />

Los campos <strong>con</strong> la capa <strong>de</strong> elevaciones y el algoritmo <strong>de</strong> flujo a utilizar no <strong>de</strong>berían ya<br />

requerir mayor explicación. El campo Orígenes, sin embargo, si es necesario <strong>de</strong>tallarlo. Si se<br />

selecciona un grid en el campo Orígenes, se calcula la longitud <strong>de</strong> flujo <strong>de</strong>s<strong>de</strong> aquellas celdas<br />

situadas aguas abajo <strong>de</strong> unas ciertas celdas <strong>de</strong> origen. En caso <strong>con</strong>trario, se emplean como<br />

origen las celdas sin otras celdas aguas arriba (celdas <strong>de</strong> cresta). En la capa <strong>de</strong> orígenes, se<br />

<strong>con</strong>si<strong>de</strong>ran como tal todas aquellas celdas <strong>con</strong> valor válido, excluyéndose por tanto únicamente<br />

las celdas sin datos.<br />

Si se selecciona la casilla Sólo Orígenes, únicamente se mi<strong>de</strong> la longitud a partir <strong>de</strong> las<br />

celdas origen. En caso <strong>con</strong>trario, también se <strong>con</strong>si<strong>de</strong>ran las celdas <strong>de</strong> cresta como orígenes.<br />

Aquí tienes un ejemplo calculado <strong>con</strong> el MDT habitual y sin capa <strong>de</strong> orígenes.<br />

Respecto al segundo módulo, Longitud <strong>de</strong> pendiente, su ventana <strong>de</strong> parámetros es algo más<br />

sencilla.


152 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

<strong>La</strong> forma <strong>de</strong> proce<strong>de</strong>r <strong>de</strong>l módulo es similar, aunque en este caso no es posible utilizar una<br />

capa <strong>de</strong> orígenes. <strong>La</strong>s distancias <strong>de</strong> la capa resultante no son distancias <strong>de</strong> flujo medias, sino<br />

máximas. Se <strong>con</strong>si<strong>de</strong>ra, a<strong>de</strong>más, que la pendiente se interrumpe cuando hay una disminución<br />

fuerte en su inclinación, en cuyo caso una la<strong>de</strong>ra se divi<strong>de</strong> en tramos, iniciándose <strong>de</strong>s<strong>de</strong> cero<br />

la medición <strong>de</strong> la distancia <strong>de</strong> flujo aguas abajo <strong>de</strong> cada punto en que se dé dicha <strong>con</strong>dición.<br />

Como pue<strong>de</strong>s ver en la siguiente figura, el aspecto <strong>de</strong> la capa <strong>de</strong> longitud <strong>de</strong> pendiente es<br />

distinto al que veíamos para la longitud <strong>de</strong> flujo.<br />

10.10. Algunos índices hidrológicos<br />

<strong>La</strong> capa <strong>de</strong> flujo acumulado pue<strong>de</strong> utilizarse para calcular algunos índices interesantes, que<br />

aportan información útil acerca <strong>de</strong> las características hidrológicas <strong>de</strong> cada celda. Estos índices<br />

se calculan a partir <strong>de</strong> fórmulas relativamente sencillas, basándose principalmente en el área<br />

aportante y la pendiente, y podrían ser evaluados sin excesiva complicación <strong>con</strong> la calculadora<br />

<strong>de</strong> mapas. Sin embargo, <strong>SEXTANTE</strong> incluye un módulo ya preparado para ello que simplifica<br />

la generación <strong>de</strong> las correspondientes capas, evitando la introducción <strong>de</strong> ninguna fórmula.<br />

Para arrancar este módulo, selecciona el menú Índices/Índices Topográficos.<br />

Como era <strong>de</strong> esperar, las capas <strong>de</strong> acumulación <strong>de</strong> flujo y pendiente son requeridas como<br />

entrada, apareciendo junto a ellas una tercera:Transmisividad. Esta capa <strong>de</strong>be <strong>con</strong>tener los<br />

valores <strong>de</strong> transmisividad para ser utilizados en la generación <strong>de</strong>l primer resultado, la capa<br />

<strong>de</strong> Índice topográfico. Este parámetro <strong>de</strong>riva <strong>de</strong>l mo<strong>de</strong>lo hidrológico TOPMODEL, el cual


10.10. ALGUNOS ÍNDICES HIDROLÓGICOS 153<br />

permite asignar una transmisividad distinta a cada celda. En la práctica, es muy infrecuente<br />

tener datos <strong>de</strong> este parámetro, por lo que lo más probable es que nunca utilices este campo.<br />

Si no se selecciona ninguna capa, se asume un valor <strong>de</strong> transmisividad <strong>con</strong>stante.<br />

Selecciona en los campos correspondientes las capas <strong>de</strong> pendiente y área acumulada. y<br />

ejecuta el módulo haciendo clic en Aceptar. Obtendrás las siguientes tres nuevas capas:<br />

En primer lugar el índice <strong>de</strong> humedad o índice topográfico.<br />

El valor <strong>de</strong> cada celda en esta capa se calcula según la siguiente expresión:<br />

W = a<br />

T0 lnS<br />

(10.1)<br />

don<strong>de</strong> a es el área aportante específica, que se obtiene <strong>de</strong> dividir el área aportante por el ancho<br />

<strong>de</strong> celda,<br />

S es la pendiente<br />

y T0 es la transmisividad <strong>de</strong>l suelo.<br />

Este índice está relacionado <strong>con</strong> la humedad <strong>de</strong>l suelo y refleja la ten<strong>de</strong>ncia <strong>de</strong>l suelo a<br />

la generación <strong>de</strong> escorrentías, ya que las áreas <strong>con</strong> una mayor humedad son más proclives a<br />

saturarse y a que la precipitación caída sobre ellas se <strong>con</strong>vierta en escorrentía. Así pues, cuanto<br />

más elevado el valor <strong>de</strong> este índice, mayor humedad <strong>de</strong>be presentar la celda en función <strong>de</strong> su<br />

<strong>con</strong>figuración topográfica.<br />

Haciendo uso también <strong>de</strong> la pendiente y el área aportante en<strong>con</strong>tramos otro índice similar,<br />

el índice <strong>de</strong> potencia <strong>de</strong> cauce.


154 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

Al <strong>con</strong>trario que el anterior, este índice se relaciona <strong>con</strong> los procesos <strong>de</strong> erosión, <strong>con</strong>stituyendo<br />

un indicador <strong>de</strong> las capacida<strong>de</strong>s <strong>de</strong>l flujo para producir erosión neta. Se <strong>de</strong>fine según la<br />

siguiente ecuación:<br />

SPI = aS (10.2)<br />

Otro índice relacionado <strong>con</strong> la erosión y probablemente más <strong>con</strong>ocido es el factor LS <strong>de</strong><br />

la popular USLE, la Ecuación Universal <strong>de</strong> Perdidas <strong>de</strong> Suelo. Sin embargo, la capa generada<br />

por el módulo <strong>de</strong> <strong>SEXTANTE</strong> no se basa exactamente en la formulación original <strong>de</strong>l mismo<br />

en la que se utilizan la longitud <strong>de</strong> pendiente y la pendiente como parámetros principales, sino<br />

que sustituye esta primera por el área aportante, en una mejora que adapta el parámetro a<br />

las mayor capacida<strong>de</strong>s que nos brinda el uso <strong>de</strong> un MDT como cartografía básica.<br />

El aspecto <strong>de</strong> la capa <strong>de</strong> factor LS es similar al que sigue.<br />

10.11. Extracción <strong>de</strong> re<strong>de</strong>s <strong>de</strong> drenaje<br />

En el punto anterior ya hemos dado un uso interesante a la capa <strong>de</strong> área aportante,<br />

calculando algunos parámetros sumamente prácticos. No obstante, una <strong>de</strong> las tareas más<br />

importantes (o probablemente la más importante <strong>de</strong> todas) <strong>de</strong> las que pue<strong>de</strong>n llevarse a cabo<br />

empleando la información relativa a flujos acumulados es la extracción <strong>de</strong> re<strong>de</strong>s <strong>de</strong> drenaje,<br />

algo completamente diferente a lo que hasta este punto hemos visto. Partiendo <strong>de</strong> una capa que<br />

<strong>con</strong>tiene una variable <strong>con</strong>tinua vamos a generar nuevas capas <strong>con</strong> información <strong>de</strong> entida<strong>de</strong>s, y,<br />

por primera vez, éstas no sólo van a ser <strong>de</strong> tipo raster, sino también vectoriales.<br />

Habitualmente, los cauces se sitúan en celdas por las que fluye una gran cantidad <strong>de</strong> agua,<br />

<strong>de</strong> tal modo que este agua los <strong>de</strong>fine como tales y mo<strong>de</strong>la su forma. Por tanto, es lógico<br />

pensar que pue<strong>de</strong> se tratar <strong>de</strong> extraer el trazado <strong>de</strong> esos cauces a partir <strong>de</strong> una capa <strong>de</strong> área<br />

acumulada, la cual indica el número <strong>de</strong> celdas que vierten sobre una dada y, <strong>con</strong>secuentemente,<br />

pue<strong>de</strong> servir para evaluar también la cantidad <strong>de</strong> agua que proveniente <strong>de</strong> dichas celdas pasa<br />

por la misma.<br />

Hay formas diversas <strong>de</strong> utilizar la información <strong>de</strong> área aportante, ya que existen diferentes<br />

alternativas para plantear la relación entre dicho área y el volumen <strong>de</strong> escorrentía, una relación<br />

en absoluto obvia <strong>de</strong> <strong>de</strong>finir. Algunas <strong>de</strong> estas metodologías implican el uso <strong>de</strong> otras variables<br />

adicionales, y todas ellas tienen sus ventajas e in<strong>con</strong>venientes, <strong>de</strong>l mismo modo que ocurría<br />

<strong>con</strong> los distintos algoritmos <strong>de</strong> <strong>con</strong>ducción <strong>de</strong> flujo.<br />

En este apartado no <strong>de</strong>tallaré todas esas metodologías, ya que no resulta proce<strong>de</strong>nte, sino<br />

que tan solo presentaré la que se usa en la gran mayoría <strong>de</strong> ocasiones (como en otros casos,


10.11. EXTRACCIÓN DE REDES DE DRENAJE 155<br />

siempre hay una formulación que pue<strong>de</strong> <strong>con</strong>si<strong>de</strong>rarse casi como estándar), y añadiré <strong>de</strong>spués<br />

una variación <strong>de</strong> la misma <strong>con</strong> objeto <strong>de</strong> añadir algo <strong>de</strong> trabajo práctico y ver cómo <strong>con</strong>jugar<br />

lo estudiado en este punto <strong>con</strong> otros módulos ya introducidos <strong>de</strong>ntro <strong>de</strong> este mismo capítulo.<br />

No obstante, <strong>SEXTANTE</strong> incluye un módulo muy flexible para la <strong>de</strong>lineación <strong>de</strong> re<strong>de</strong>s <strong>de</strong><br />

drenaje, el cual, una vez aprendido su manejo, pue<strong>de</strong> adaptarse para la práctica totalidad <strong>de</strong><br />

métodos, no sólo para aquellos que aquí veremos.<br />

Para abrir este módulo, selecciona el menú Red <strong>de</strong> Drenaje/Red <strong>de</strong> Drenaje.<br />

Dos capas raster son necesarias para ejecutar el módulo: Una <strong>con</strong>teniendo el MDT que se<br />

empleará para <strong>con</strong>ducir el flujo y trazar los cauces, y otra capa <strong>de</strong> iniciación que <strong>de</strong>limitará la<br />

extensión <strong>de</strong> dichos cauces presentando información que pueda utilizarse para localizar el inicio<br />

<strong>de</strong> los mismos. Como viene siendo habitual, una capa <strong>con</strong> direcciones <strong>de</strong> flujo sobre <strong>de</strong>presiones<br />

pue<strong>de</strong> añadirse en el caso <strong>de</strong> que no se trabaje <strong>con</strong> un MDT previamente preprocesado.<br />

Respecto al MDT no <strong>de</strong>be comentarse nada mas, pero la capa en el campo Grid <strong>de</strong> inicio<br />

sí que requiere algunos comentarios adicionales. Basándose en ella, el módulo selecciona las<br />

celdas <strong>de</strong> inicio (celdas a partir <strong>de</strong> las cuales se <strong>con</strong>ducirá el flujo y se trazarán los cauces)<br />

como aquellas celdas que cumplan una <strong>de</strong>terminada <strong>con</strong>dición referente a los valores recogidos<br />

en dicha capa.<br />

<strong>La</strong>s diferencias entre las distintas propuestas se basan en las características <strong>de</strong> la capa<br />

<strong>de</strong> inicio, así como en la <strong>con</strong>dición a utilizar. Dependiendo <strong>de</strong> los fundamentos teóricos <strong>de</strong>l<br />

método, una u otra capa <strong>de</strong> iniciación <strong>de</strong>be utilizarse, siendo <strong>con</strong> mucho la <strong>de</strong> área aportante<br />

la más popular, y la que aquí utilizaremos. Emplear exclusivamente esta capa tal y como la<br />

hemos obtenido <strong>con</strong> el correspondiente módulo tiene sus in<strong>con</strong>venientes, y da lugar a algunas<br />

características incorrectas <strong>de</strong> la red <strong>de</strong> drenaje, como por ejemplo una <strong>de</strong>nsidad <strong>de</strong> drenaje<br />

<strong>con</strong>stante, que no se correspon<strong>de</strong> <strong>con</strong> la realidad. Algunas alternativas para solucionar este<br />

problema incluyen el uso <strong>con</strong>junto <strong>de</strong> pendiente y área aportante como parámetro <strong>de</strong> inicio,<br />

aunque su uso es escaso y, como ya he dicho, limitaré la explicación a las soluciones más<br />

habituales.<br />

Para <strong>de</strong>finir la <strong>con</strong>dición <strong>de</strong> inicio tenemos tres alternativas, todas ellas disponibles a través<br />

<strong>de</strong>l campo Criterio <strong>de</strong> inicio: que la celda tenga un valor mayor que un umbral dado, que tenga<br />

uno menor, o que sea igual a dicho umbral. El valor <strong>de</strong>l umbral <strong>de</strong>be introducirse en el campo<br />

Umbral <strong>de</strong> inicio, y <strong>de</strong>be estar en las mismas unida<strong>de</strong>s que la capa <strong>de</strong> inicio, en este caso en<br />

metros cuadrados.<br />

Como criterio <strong>de</strong> inicio en este caso selecciona Mayor que, <strong>de</strong> forma que todas aquellas<br />

celdas <strong>con</strong> un valor <strong>de</strong> área aportante mayor que el umbral serán parte <strong>de</strong> un cauce. Como


156 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

valor <strong>de</strong> umbral introduce para este caso un valor <strong>de</strong> 2000000 (seis ceros). Cuanto más elevado<br />

sea el umbral, menor será el numero <strong>de</strong> celdas en la capa <strong>de</strong> inicio que satisfacen la <strong>con</strong>dición<br />

impuesta, y por tanto menor número <strong>de</strong> cauces serán <strong>de</strong>finidos. Hay una serie <strong>de</strong> metodologías<br />

para elegir un umbral a<strong>de</strong>cuado (algunas <strong>de</strong> las cuales pue<strong>de</strong>n en<strong>con</strong>trarse <strong>de</strong>talladas en las<br />

referencias propuestas), pero la más sencilla y habitual es simplemente tratar <strong>de</strong> que la red <strong>de</strong><br />

drenaje resultante sea lo más similar posible a la verda<strong>de</strong>ra red <strong>de</strong> drenaje existente, para lo<br />

cual pue<strong>de</strong> utilizarse cartografía <strong>de</strong> apoyo.<br />

Para evitar la <strong>de</strong>lineación <strong>de</strong> cauces excesivamente cortos (cuyo inicio se produzca cerca <strong>de</strong><br />

<strong>con</strong>fluencias), pue<strong>de</strong>s <strong>de</strong>finir una longitud mínima (expresada en celdas), en el campo Mínima<br />

longitud.<br />

Por último, veamos qué salidas genera el módulo. Puesto que todas ellas están por <strong>de</strong>fecto<br />

establecidas a la opción [crear], así que una vez ajustes el resto <strong>de</strong> parámetros, simplemente<br />

haz clic en Aceptar, y tres nuevas capas serán creadas.<br />

<strong>La</strong> primera es la red <strong>de</strong> drenaje como tal, <strong>con</strong> un aspecto similar a éste.<br />

Es similar a la capa <strong>de</strong> cauces que ya hemos utilizado y que se incluía en los archivos <strong>de</strong><br />

ejemplo, aunque en este caso la <strong>de</strong>nsidad <strong>de</strong> drenaje es más elevada, ya que hemos utilizado<br />

un umbral menor. Al tener aquí la red en formato raster, cada celda tiene un valor asociado,<br />

no como en el caso vectorial, y los valores <strong>de</strong> las celdas aquí indican el or<strong>de</strong>n jerárquico <strong>de</strong>l<br />

cauce que fluye a través <strong>de</strong> cada una <strong>de</strong> dichas celdas. Puesto que en la capa que acabamos <strong>de</strong><br />

generar la <strong>de</strong>nsidad <strong>de</strong> drenaje es mayor, también el or<strong>de</strong>n máximo <strong>de</strong> los cauces que <strong>con</strong>tiene<br />

es mayor que en la otra capa.<br />

<strong>La</strong> segunda capa creada por el módulo tiene un aspecto bastante parecido al <strong>de</strong> la anterior.


10.12. CUENCAS Y SUBCUENCAS 157<br />

En este caso, se recoge la estructura <strong>de</strong> la red <strong>de</strong> drenaje <strong>de</strong> modo similar, aunque la<br />

variable recogida en las celdas <strong>de</strong> cauce no es su or<strong>de</strong>n, si no la dirección <strong>de</strong>l flujo. Esta<br />

dirección se codifica <strong>con</strong> valores <strong>de</strong>l 1 al 8, <strong>con</strong>tando en sentido <strong>de</strong> las agujas <strong>de</strong>l reloj <strong>de</strong>s<strong>de</strong><br />

el nor<strong>de</strong>ste, según el siguiente esquema.<br />

7 8 1<br />

6 X 2<br />

5 4 3<br />

<strong>La</strong> última capa creada por el módulo no la en<strong>con</strong>traras junto a las anteriores, ya que se<br />

trata <strong>de</strong> una capa vectorial. Contiene la misma estructura <strong>de</strong> la red <strong>de</strong> drenaje que las dos<br />

capas anteriores, pero en este caso en forma <strong>de</strong> capa <strong>de</strong> líneas. Ésta es la capa que ya <strong>con</strong>oces.<br />

10.12. Cuencas y subcuencas<br />

Cada segmento <strong>de</strong> la recién creada red <strong>de</strong> drenaje tiene asociada una cuenca hidrológica,<br />

correspondiente a la cuenca vertiente <strong>con</strong> todas las celdas aguas arriba <strong>de</strong>l punto inferior<br />

<strong>de</strong>l segmento, menos la cuencas asociada a otros puntos <strong>de</strong> intersección (extremos <strong>de</strong> esos<br />

segmentos) situados aguas arriba. <strong>SEXTANTE</strong> incluye dos módulos para la <strong>de</strong>lineación <strong>de</strong><br />

estas cuencas, generando una capa <strong>con</strong> las mismas, <strong>de</strong> tipo raster en uno <strong>de</strong> ellos y <strong>de</strong> tipo<br />

tanto raster como vectorial en el otro.<br />

Veamos primero el más sencillo <strong>de</strong> estos módulos, que pue<strong>de</strong>s arrancar <strong>con</strong> el menú Cuencas<br />

<strong>La</strong> ventana <strong>de</strong> parámetros es bastante sencilla. Selecciona el preceptivo MDT (y la capa <strong>de</strong><br />

direcciones <strong>de</strong> flujo forzado en caso <strong>de</strong> utilizarla), y posteriormente la capa <strong>de</strong> cauces. Todas<br />

las celdas que representan una intersección entre cauces serán utilizadas como puntos <strong>de</strong> salida<br />

<strong>de</strong> las cuencas a <strong>de</strong>linear. Los valores <strong>de</strong> las celdas <strong>de</strong> cauce son indiferentes, por lo que pue<strong>de</strong>s


158 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

emplear tanto la capa <strong>de</strong> la red <strong>de</strong> drenaje <strong>con</strong> valores <strong>de</strong> or<strong>de</strong>n jerárquico como la <strong>de</strong> las<br />

direcciones <strong>de</strong> flujo.<br />

Al igual que sucedía en la creación <strong>de</strong> la red <strong>de</strong> drenaje, pue<strong>de</strong>s evitar la creación <strong>de</strong><br />

entida<strong>de</strong>s <strong>de</strong> pequeño tamaño, estableciendo un tamaño mínimo (en celdas) <strong>de</strong> las subcuencas<br />

en el campo Área mínima.<br />

Ejecuta el módulo y obtendrás una capa como la siguiente.<br />

Como pue<strong>de</strong>s ver, esta capa <strong>con</strong>tiene información discreta. <strong>La</strong>s celdas <strong>de</strong> una misma cuenca<br />

<strong>con</strong>tienen un mismo valor, que correspon<strong>de</strong> a un i<strong>de</strong>ntificador asignado por el módulo a cada<br />

una <strong>de</strong> ellas. Estos i<strong>de</strong>ntificadores son números enteros, <strong>con</strong> lo que aquí tienes un ejemplo <strong>de</strong><br />

capa que pue<strong>de</strong> ser almacenada en formato <strong>de</strong> número entero, no <strong>de</strong> coma flotante (¿recuerdas<br />

lo visto <strong>con</strong> el módulo Cambiar Formato <strong>de</strong> Almacenamiento).<br />

Para ajustar el tamaño y número <strong>de</strong> las subcuencas, usa diferentes re<strong>de</strong>s <strong>de</strong> drenaje. En<br />

realidad, el umbral <strong>de</strong> inicio usado al <strong>de</strong>finir la red <strong>de</strong> drenaje también <strong>con</strong>trola las cuencas<br />

aquí creadas, pues éstas se basan en la propia red <strong>de</strong> drenaje. Pue<strong>de</strong>s tener una red <strong>de</strong> drenaje<br />

✭✭real✮✮ para usarla como tal, pero si tu estudio hidrológico no necesita un <strong>análisis</strong> tan <strong>de</strong>tallado<br />

<strong>de</strong> las unida<strong>de</strong>s hidrológicas pue<strong>de</strong>s trabajar <strong>con</strong> otra menos <strong>de</strong>nsa para la <strong>de</strong>lineación <strong>de</strong><br />

subcuencas.<br />

Pese a que también en este caso resulta útil tener una capa vectorial <strong>con</strong> los <strong>con</strong>tornos <strong>de</strong><br />

cada unidad hidrológica, el módulo únicamente genera una única capa raster, teniendo que<br />

realizar tú mismo la <strong>con</strong>versión a vectorial en caso <strong>de</strong> que así lo necesites. Veremos en otro<br />

capítulo más a<strong>de</strong>lante como llevar esto a cabo, por supuesto mediante el uso <strong>de</strong> un nuevo<br />

módulo.<br />

El otro módulo para <strong>de</strong>lineación <strong>de</strong> subcuencas (bajo el menú Cuencas (extendido), lleva<br />

a cabo una labor similar, pero sus resultados son algo más completos, y ya incluyen una<br />

capa vectorial como tal, a<strong>de</strong>más <strong>de</strong> una nutrida serie <strong>de</strong> información accesoria, muy útil para<br />

el <strong>análisis</strong> hidrológico posterior. El origen <strong>de</strong> este módulo se encuentra en uno mucho más<br />

completo y extenso que trataremos al final <strong>de</strong>l libro, siendo una parte <strong>de</strong> éste, lo cual explica<br />

sus propias funcionalida<strong>de</strong>s.<br />

<strong>La</strong> ventana <strong>de</strong> parámetros, algo más compleja que en el caso anterior, aunque aún sencilla,<br />

tiene el siguiente aspecto.


10.12. CUENCAS Y SUBCUENCAS 159<br />

Po<strong>de</strong>mos ver que la salida es múltiple, <strong>con</strong> dos capas vectoriales (las cuencas y las cabeceras<br />

<strong>de</strong> los cauces, esto último como <strong>con</strong>secuencia <strong>de</strong> ese origen antes comentado <strong>de</strong>l módulo, y<br />

porque esas cabeceras se emplean para calcular otros parámetros que luego veremos) a<strong>de</strong>más<br />

<strong>de</strong> la capa raster.<br />

En lugar <strong>de</strong> emplear siempre todas las intersecciones <strong>de</strong> cauces, po<strong>de</strong>mos elegir entre dos<br />

opciones en el campo Subdivisión <strong>de</strong> cuenca: usar todas o usar solo aquellas que se producen<br />

sobre el cauce principal (el <strong>de</strong> mayor longitud).<br />

A<strong>de</strong>más <strong>de</strong> lo anterior, po<strong>de</strong>mos añadir dos capas accesorias <strong>con</strong> valores <strong>de</strong> Número <strong>de</strong> Curva<br />

y pérdidas <strong>de</strong> suelo, para añadirlas como características a la capa vectorial posteriormente<br />

creada. Ejecuta el módulo y veamos los resultados generados, que es don<strong>de</strong> se encuentran la<br />

mayor parte <strong>de</strong> las diferencias y los elementos <strong>de</strong> mayor interés.<br />

<strong>La</strong> capa raster <strong>con</strong>tiene las mismas cuencas pero su aspecto es distinto, ya que las celdas<br />

que no pertenecen a ninguna cuenca se <strong>de</strong>finen como celdas sin datos (no <strong>de</strong>bería resultarte<br />

complicado hacer esto mismo a partir <strong>de</strong> la capa <strong>de</strong> cuencas <strong>de</strong>l módulo anterior. Piensa cómo<br />

hacerlo).<br />

Así es también en la capa vectorial, que solo <strong>con</strong>tiene las cuencas como tales y no las áreas<br />

fuera <strong>de</strong> éstas en los bor<strong>de</strong>s <strong>de</strong> la capa. Veremos que al <strong>con</strong>vertir a vectorial la capa <strong>de</strong>l primer<br />

módulo nos aparecerán por este hecho entida<strong>de</strong>s que luego <strong>de</strong>beremos eliminar, pero aquí no<br />

es necesario.<br />

Si abres la tabla <strong>de</strong> atributos <strong>de</strong> la capa <strong>de</strong> subcuencas, verás que <strong>con</strong>tiene un buen número<br />

<strong>de</strong> campos. Veamos cuáles son estos campos y qué información <strong>con</strong>tiene cada uno <strong>de</strong> ellos.<br />

Código Cuenca: El i<strong>de</strong>ntificador <strong>de</strong> la cuenca. El valor que aparece para la misma en<br />

la capa raster.<br />

Pto. Salida X: <strong>La</strong> coor<strong>de</strong>nada X <strong>de</strong>l punto <strong>de</strong> cierre.<br />

Pto. Salida Y: <strong>La</strong> coor<strong>de</strong>nada Y <strong>de</strong>l punto <strong>de</strong> cierre.<br />

Área(ha): <strong>La</strong> superficie <strong>de</strong> la cuenca en hectáreas.<br />

Perímetro (m): El perímetro <strong>de</strong> la cuenca en metros.<br />

Número <strong>de</strong> Curva: El Número <strong>de</strong> Curva medio.<br />

Pérdidas <strong>de</strong> suelo (t/ha·año): <strong>La</strong>s perdidas <strong>de</strong> suelo medias.<br />

Tiempo <strong>de</strong> salida (h): El tiempo <strong>de</strong> salida en horas según la formula <strong>de</strong> Kirpich.<br />

Cuencas aguas arriba: Los códigos <strong>de</strong> las cuencas inmediatamente aguas arriba.<br />

Cuencas aguas abajo: El código <strong>de</strong> la cuenca aguas inmediatamente abajo sobre la<br />

que vierte.


160 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

Tipo <strong>de</strong> cuenca (Gravelius): Clasificación <strong>de</strong> cuenca según Gravelius.<br />

<strong>La</strong>do 1 (2) rectángulo equivalente: Los valores <strong>de</strong> los lados <strong>de</strong>l rectángulo equivalente,<br />

expresados en metros.<br />

Coeficiente orográfico:<br />

Coeficiente <strong>de</strong> masividad:<br />

Centroi<strong>de</strong> X: Coor<strong>de</strong>nada X <strong>de</strong>l centro <strong>de</strong> masas <strong>de</strong> la cuenca.<br />

Centroi<strong>de</strong> Y: Coor<strong>de</strong>nada Y <strong>de</strong>l centro <strong>de</strong> masas <strong>de</strong> la cuenca.<br />

Máxima distancia <strong>de</strong> flujo: Máxima distancia recorrida por el cauce a través <strong>de</strong> la<br />

cuenca.<br />

10.13. Distancias a la red <strong>de</strong> drenaje<br />

El agua se comporta <strong>de</strong> modo distinto en los cauces que en otras áreas, y son diferentes<br />

las ecuaciones que se utilizan para <strong>de</strong>finir el flujo en la<strong>de</strong>ra y el flujo en cauce. Resulta, por<br />

tanto, interesante <strong>con</strong>ocer la distancia entre una celda y el cauce más cercano a la misma,<br />

para añadir información adicional sobre las características <strong>de</strong> todas esas celdas <strong>de</strong>ntro <strong>de</strong> una<br />

cuenca.<br />

Los módulos incluidos en <strong>SEXTANTE</strong> incluyen dos enfoques diferentes para calcular distancias<br />

<strong>de</strong>s<strong>de</strong> las celdas <strong>de</strong> cauce a las restantes. El primero <strong>de</strong> ellos (y el más simple), pue<strong>de</strong><br />

en<strong>con</strong>trarse en el menú Red <strong>de</strong> drenaje/Distancia <strong>de</strong> Flujo a Red <strong>de</strong> Drenaje.<br />

Como parece lógico intuir, dos son las capas necesarias: el MDT y la red <strong>de</strong> drenaje. Una<br />

vez más las restricciones que se aplican a la capa <strong>de</strong> red <strong>de</strong> drenaje son las <strong>de</strong> <strong>con</strong>tener valores<br />

válidos (<strong>de</strong> cualquier tipo, pues son irrelevantes) en las celdas <strong>de</strong> cauce, y ser celdas sin datos<br />

las restantes. Cualquier capa que cumpla estas características, tal como las dos generadas por<br />

el módulo Red <strong>de</strong> drenaje, pue<strong>de</strong> ser utilizada como entrada en este punto.<br />

Como salida, tres son las capas que se generan, todas ellas en formato raster. Una <strong>de</strong><br />

ellas <strong>con</strong>tiene la distancia total <strong>de</strong> flujo hasta el cauce, y las dos restantes respectivamente las<br />

componentes vertical y horizontal <strong>de</strong> dicha distancia. Estas distancias se expresan todas ellas<br />

en las mismas unida<strong>de</strong>s que las elevaciones <strong>de</strong>l MDT o el tamaño <strong>de</strong> celda <strong>de</strong>l mismo.<br />

<strong>La</strong> primera <strong>de</strong> estas capas, la <strong>de</strong> distancia total <strong>de</strong> flujo, tiene un aspecto como el representado<br />

a <strong>con</strong>tinuación.


10.13. DISTANCIAS A LA RED DE DRENAJE 161<br />

Estas distancias <strong>de</strong> flujo no son distancias euclí<strong>de</strong>as, sino hidrológicas, tomando en <strong>con</strong>si<strong>de</strong>ración<br />

el propio movimiento <strong>de</strong>l flujo a través <strong>de</strong>l MDT. Por esta razón, <strong>de</strong>be utilizarse un<br />

algoritmo <strong>de</strong> <strong>con</strong>ducción <strong>de</strong> flujo, pudiéndo seleccionarse el <strong>de</strong>seado en el campo Algoritmo <strong>de</strong><br />

flujo. Solo los métodos D8 y MFD se encuentran disponibles en este caso.<br />

Junto a lo anterior, el módulo Diferencia altitudinal <strong>con</strong> la red <strong>de</strong> drenaje implementa una<br />

i<strong>de</strong>a diferente, no basada en la distancia <strong>de</strong> flujo (ello implica que no es necesario utilizar<br />

algoritmo <strong>de</strong> <strong>con</strong>ducción <strong>de</strong> flujo alguno), sino en la diferencia <strong>de</strong> alturas entre la altura <strong>de</strong><br />

una celda y la altura que en dicha celda le correspon<strong>de</strong>ría a la red <strong>de</strong> drenaje. El proceso <strong>de</strong><br />

cálculo <strong>de</strong> este parámetro es como sigue:<br />

<strong>La</strong> elevación <strong>de</strong> la red <strong>de</strong> drenaje en una celda <strong>de</strong> cauce es simplemente la elevación indicada<br />

por el MDT en dicha celda. Para las restantes, pue<strong>de</strong> obtenerse un valor mediante<br />

interpolación, <strong>de</strong> tal modo que se cree una capa <strong>con</strong> valores <strong>de</strong> elevación <strong>de</strong> la red <strong>de</strong><br />

drenaje en toda las celdas.<br />

Restando esta capa <strong>de</strong>l MDT se obtiene una nueva que recoge las diferencias altitudinales.<br />

<strong>La</strong>s celdas <strong>de</strong> cauce tendrán un valor nulo, mientras que este valor será distinto <strong>de</strong><br />

cero en las restantes.<br />

En otras palabras, las celdas fuera <strong>de</strong>l cauce tendrán un valor que representan la diferencia<br />

altitudinal entre la elevación <strong>de</strong> la celda y la que tendría un cauce en caso <strong>de</strong> existir en la<br />

misma.<br />

En la ventana <strong>de</strong> parámetros en<strong>con</strong>trarás las dos mismas capas <strong>de</strong> entrada que en el caso<br />

anterior. Aparece a<strong>de</strong>más un campo <strong>de</strong>nominado Tensión, empleado para la interpolación. El<br />

significado <strong>de</strong> este campo es similar al valor <strong>de</strong> tensión que veíamos en los módulos <strong>de</strong> completado<br />

<strong>de</strong> celdas sin datos. Particularmente, recomiendo no modificar su valor (el significado<br />

<strong>de</strong> los resultados generados por este módulo es ya suficientemente difuso <strong>de</strong> por sí, por lo que<br />

tratar <strong>de</strong> modificar esos parámetros es algo que, en el mejor <strong>de</strong> los casos, la gran mayoría <strong>de</strong><br />

usuarios no necesitará hacer en ningún momento).<br />

<strong>La</strong> única capa generada tiene el siguiente aspecto.


162 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

Si se <strong>de</strong>sea, el módulo pue<strong>de</strong> crear también la capa <strong>con</strong> las elevaciones <strong>de</strong> las celdas <strong>de</strong> cauce<br />

obtenida a partir <strong>de</strong> la interpolación. Ésta ha <strong>de</strong> ser similar a la mostrada a <strong>con</strong>tinuación.<br />

10.14. Tiempos <strong>de</strong> salida. Isocronas<br />

Un parámetro sumamente interesante que pue<strong>de</strong> calcularse utilizando la información <strong>de</strong><br />

un MDT (y, cómo no, las direcciones <strong>de</strong> flujo a través <strong>de</strong> sus celdas) es el tiempo que tarda el<br />

flujo en abandonar una cuenca dada <strong>de</strong>s<strong>de</strong> cada una <strong>de</strong> sus celdas interiores. Haciendo uso <strong>de</strong><br />

esta información po<strong>de</strong>mos, por ejemplo, <strong>con</strong>vertir los datos <strong>de</strong> caudal circulante a través <strong>de</strong>l<br />

punto <strong>de</strong> salida <strong>de</strong> la cuenca, y <strong>con</strong>ocer no sólo su magnitud sino la forma en que este caudal<br />

se distribuye en el tiempo.<br />

Dos módulos están disponibles para realizar esta tarea, uno <strong>de</strong> ellos sensiblemente más<br />

complejo que el otro. Por supuesto, cuanto más complejo el módulo, más parámetros <strong>de</strong> entrada<br />

requiere, así que empezaremos por el más sencillo <strong>de</strong> ambos. Selecciona el menú Hidrología/Isocronas<br />

(Velocidad <strong>con</strong>stante).


10.14. TIEMPOS DE SALIDA. ISOCRONAS 163<br />

Al utilizar este módulo, se supone una velocidad fija a través <strong>de</strong> todas las celdas, que<br />

es característica <strong>de</strong> la cuenca y se calcula en función <strong>de</strong> las propieda<strong>de</strong>s <strong>de</strong> ésta. Con esta<br />

velocidad, y junto a los valores <strong>de</strong> distancia <strong>de</strong> flujo hasta el punto <strong>de</strong> salida <strong>de</strong> la cuenca (que<br />

se pue<strong>de</strong>n calcular <strong>con</strong> el MDT haciendo uso <strong>de</strong> las direcciones <strong>de</strong>l flujo) , pue<strong>de</strong> <strong>con</strong>ocerse el<br />

tiempo <strong>de</strong> salida <strong>de</strong>s<strong>de</strong> cada punto.<br />

Ambos módulos para tiempos <strong>de</strong> salida son <strong>de</strong> tipo interactivo, ya que necesitan la <strong>de</strong>finición<br />

<strong>de</strong> una cuenca, y ello ha <strong>de</strong> hacerse mediante la elección sobre un mapa <strong>de</strong> un punto<br />

<strong>de</strong> salida. Una vez seleccionada la celda, la información <strong>de</strong> tiempos <strong>de</strong> salida aparece en una<br />

nueva capa, como es habitual.<br />

Los tiempos vienen expresados en horas.<br />

<strong>La</strong> capa resultante tiene un gran significado hidrológico. Por ejemplo, el histograma <strong>de</strong><br />

frecuencias que pue<strong>de</strong> obtenerse <strong>de</strong>l mismo pue<strong>de</strong> ser utilizado para calcular un hidrograma<br />

unitario <strong>de</strong> la cuenca, en una alternativa que supera en cuanto a precisión a otras como el<br />

popular Hidrograma Unitario Triangular, ya que en este caso no se trata <strong>de</strong> un elemento<br />

sintético, sino uno creado empleando información real <strong>de</strong>l movimiento <strong>de</strong> agua a través <strong>de</strong> las<br />

celdas <strong>de</strong> la cuenca.<br />

Sin embargo, no es muy realista pensar que el agua se mueve por la cuenca <strong>con</strong> tal uniformidad<br />

(<strong>con</strong> este planteamiento los tiempos <strong>de</strong> salida suelen subestimarse). <strong>La</strong>s sencillas<br />

formulas empíricas que se emplean para el cálculo <strong>de</strong> esa velocidad pue<strong>de</strong>n sustituirse por<br />

ecuaciones más elaboradas que <strong>de</strong>n para cada celda un valor distinto <strong>de</strong> la misma, en función<br />

<strong>de</strong> sus propias características tales como la pendiente, flujo <strong>de</strong> agua que se supone discurre<br />

por la celda, rugosidad, etc.<br />

Para usar estas formulaciones más complejas, abre el módulo Hidrología/Isocronas(velocidad<br />

variable)


164 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

Como pue<strong>de</strong>s ver, la ventana <strong>de</strong> parámetros presenta un mayor número <strong>de</strong> campos que<br />

el anterior, <strong>con</strong>teniendo no únicamente capas <strong>de</strong> entrada, sino también algunos parámetros<br />

numéricos que a <strong>con</strong>tinuación serán explicados <strong>con</strong> <strong>de</strong>talle.<br />

Tres capas raster son obligatorias: El omnipresente MDT, una capa <strong>con</strong> datos <strong>de</strong> pendiente<br />

y otra <strong>con</strong> área acumulada. No <strong>de</strong>bería ser necesario comentar nada más sobre ellas. Junto a<br />

estas, aparecen dos nuevas capas opcionales: Número <strong>de</strong> Curva y Número n <strong>de</strong> Manning.<br />

El Número <strong>de</strong> Curva se utiliza para estimar la escorrentía a partir <strong>de</strong> la precipitación, y<br />

<strong>con</strong> la información dada en capítulos previos <strong>de</strong>berías ser capaz <strong>de</strong> crear uno sin dificulta<strong>de</strong>s a<br />

partir <strong>de</strong> los datos <strong>de</strong> suelo y uso <strong>de</strong> suelo dados.El Número n <strong>de</strong> Manning <strong>de</strong>fine la rugosidad<br />

<strong>de</strong> flujo <strong>de</strong> cada celda, y se utiliza para calcular la velocidad <strong>de</strong> flujo.<br />

Si no dispones <strong>de</strong> información <strong>de</strong> estos parámetro en formato raster (la información <strong>de</strong>l<br />

Número <strong>de</strong> Curva es relativamente sencilla <strong>de</strong> obtener, pero la <strong>de</strong> n <strong>de</strong> Manning no), pue<strong>de</strong>s<br />

utilizar un valor <strong>con</strong>stante. Para ello, <strong>de</strong>ja sin seleccionar el campo correspondiente a la capa<br />

e introduce el valor <strong>con</strong>stante a emplear en los campos <strong>de</strong> valor medio existentes para cada<br />

uno <strong>de</strong> los parámetros. Esto tiene el mismo efecto que utilizar un grid <strong>de</strong> valor único.<br />

<strong>La</strong> intensidad <strong>de</strong> la precipitación se asume <strong>con</strong>stante para toda la cuenca, y <strong>de</strong>be introducirse<br />

en el campo Intensidad media <strong>de</strong> precipitación. Valores más elevados aumentarán la<br />

velocidad <strong>de</strong>l flujo y, en <strong>con</strong>secuencia, disminuirán los tiempos resultantes.<br />

Los restantes valores tienen relación <strong>con</strong> los tres tipos <strong>de</strong> flujo que se distinguen: en la<strong>de</strong>ra,<br />

mixto y encauzado. Para cada uno <strong>de</strong> ellos, se aplica una formulación distinta a la hora <strong>de</strong><br />

calcular la velocidad. Los límites que separan estos tres grupos se <strong>de</strong>finen empleando valores<br />

<strong>de</strong> área aportante, y <strong>de</strong>ben introducirse en los campos Umbral <strong>de</strong> flujo mixto y Umbral <strong>de</strong><br />

flujo encauzado. Al <strong>con</strong>trario que en el módulo <strong>de</strong> extracción <strong>de</strong> re<strong>de</strong>s <strong>de</strong> drenaje, estos valores<br />

se expresan en este caso en héctareas, y no en las mismas unida<strong>de</strong>s que el tamaño <strong>de</strong> celda<br />

(al cuadrado, por supuesto). De cualquier modo, los valores por <strong>de</strong>fecto son una buena opción<br />

y sólo <strong>de</strong>ben variarse en caso <strong>de</strong> disponer <strong>de</strong> información adicional que haga recomendable el<br />

cambiarlos (lo cual, a <strong>de</strong>cir verdad, raramente ocurre).<br />

Los flujos mixtos y encauzados se supone que circulan por un canal triangular. <strong>La</strong> pendiente<br />

<strong>de</strong> los lados <strong>de</strong> ese triángulo pue<strong>de</strong> ajustarse mediante el campo Pendiente lateral<br />

Pue<strong>de</strong> establecerse una velocidad mínima en el campo Velocidad <strong>de</strong> flujo mínima, para evitar<br />

velocida<strong>de</strong>s muy bajas en el caso <strong>de</strong> celdas casi planas o <strong>con</strong> muy poco flujo, especialmente<br />

en celdas <strong>con</strong> flujo en la<strong>de</strong>ra.<br />

Como pue<strong>de</strong> verse en la siguiente figura, el aspecto <strong>de</strong> la capa generada mediante este<br />

módulo es bien distinto al <strong>de</strong> la obtenida suponiendo una velocidad <strong>con</strong>stante, y presenta una<br />

apariencia mucho menos uniforme <strong>de</strong>bido a la diferente velocidad <strong>de</strong> flujo <strong>de</strong> cada celda.


10.15. MODELIZACIÓN DE FLUJO EN CANALES 165<br />

10.15. Mo<strong>de</strong>lización <strong>de</strong> flujo en canales<br />

¿Recuerdas aquella zona <strong>de</strong> influencia que creamos algunas páginas atrás y para cuya<br />

creación utilizábamos valores <strong>de</strong> calado? Bien, pues ha llegado el momento <strong>de</strong> ver cómo generar<br />

esos valores <strong>de</strong> flujo a partir <strong>de</strong>l <strong>análisis</strong> <strong>de</strong>l terreno y aplicando algunos sencillos <strong>con</strong>ceptos.<br />

<strong>La</strong> forma <strong>de</strong> llevar esto a cabo es emplear algunos <strong>de</strong> los parámetros morfométricos e<br />

hidrológicos que ya <strong>con</strong>ocemos, y estudiar la forma <strong>de</strong> los perfiles transversales, para tratar<br />

<strong>de</strong> extraer un valor aproximado <strong>de</strong> calado para un flujo <strong>con</strong>creto. Esta aproximación no es<br />

en modo alguno exacta, y resultará insuficiente para muchos propósitos, pero en otros casos<br />

pue<strong>de</strong> servir como una primera i<strong>de</strong>a, y a<strong>de</strong>más pone <strong>de</strong> manifiesto las muchas virtu<strong>de</strong>s que<br />

un MDT tiene y las posibilida<strong>de</strong>s que su <strong>análisis</strong> ofrece. En breve veremos mucho acerca<br />

<strong>de</strong> perfiles (transversales o longitudinales), y veremos cómo extraer información <strong>de</strong> un MDT<br />

mediante <strong>SEXTANTE</strong> que nos sirva para alimentar mo<strong>de</strong>los hidráulicos mucho más complejos<br />

y precisos, <strong>con</strong> otras aplicaciones tales como el popular HEC–RAS.<br />

Por el momento, vamos a abrir el módulo Calado <strong>de</strong> flujo<br />

Se necesita, como es habitual, un MDT, así como red <strong>de</strong> drenaje. Esta red <strong>de</strong> drenaje, sin<br />

embargo, se ha <strong>de</strong> <strong>de</strong>finir aquí introduciendo un umbral <strong>de</strong> flujo acumulado directamente, y el<br />

módulo ya se encarga, a partir <strong>de</strong>l MDT, <strong>de</strong> generar las capas intermedias necesarias, librando<br />

<strong>de</strong> esa tarea al usuario.<br />

<strong>La</strong> capa resultante será también <strong>de</strong> tipo raster y <strong>con</strong>tendrá valores sólo en las celdas <strong>de</strong><br />

cauce, por lo que a mayor valor <strong>de</strong>l umbral, más celdas sin datos <strong>con</strong>tendrá dicha capa. Para<br />

el caso <strong>de</strong>l ejemplo, utiliza el mismo umbral que ya empleamos al <strong>de</strong>finir la red <strong>de</strong> drenaje <strong>con</strong><br />

el módulo correspondiente.<br />

El último valor que se requiere para ejecutar el módulo es el caudal punta expresado en<br />

m 3 /s. Este es el caudal punta en la salida <strong>de</strong> la cuenca <strong>de</strong> la red <strong>de</strong> drenaje que analizamos.<br />

Con él, y aplicando una sencilla proporción, se estiman los caudales en otros puntos <strong>de</strong> la


166 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

cuenca, y <strong>con</strong> este valor <strong>de</strong> caudal y la forma <strong>de</strong>l perfil transversal <strong>de</strong>l cauce (extraída <strong>de</strong>l<br />

MDT), pue<strong>de</strong> estimarse el calado que buscamos.<br />

Ejecuta el módulo haciendo clic en Aceptar. No suce<strong>de</strong> nada.... Acertaste, se trata <strong>de</strong><br />

un modulo interactivo. Tienes que <strong>de</strong>finir el punto <strong>de</strong> salida haciendo clic sobre un mapa. El<br />

punto seleccionado <strong>de</strong>be situarse en un cauce, pero no te preocupes si no sabes exactamente<br />

qué celdas son válidas y cuáles no. Si seleccionas una celda fuera <strong>de</strong> un cauce, el módulo busca<br />

hacia aguas abajo hasta en<strong>con</strong>trar una celda válida. Cuando esto suce<strong>de</strong>, se aña<strong>de</strong> un mensaje<br />

en la ventana <strong>de</strong> información indicando que el punto <strong>de</strong> salida seleccionado ha sido modificado.<br />

Si no se encuentran celdas a<strong>de</strong>cuadas aguas abajo, el mensaje mostrado es el siguiente.<br />

10.16. Otros parámetros hidrológicos<br />

Aparte <strong>de</strong> lo visto hasta el momento, <strong>SEXTANTE</strong> incluye una importante batería <strong>de</strong><br />

otros módulos <strong>con</strong> <strong>con</strong>tenido hidrológico, la mayoría <strong>de</strong> ellos bastante sencillos, que si bien no<br />

tienen la misma importancia que los anteriores <strong>de</strong> cara al <strong>análisis</strong> hidrológico, ofrecen como<br />

resultado una interesante serie <strong>de</strong> nuevos parámetros. En esta sección veremos estos otros<br />

módulos ✭✭menores✮✮, don<strong>de</strong> también resi<strong>de</strong> parte <strong>de</strong> la potencia <strong>de</strong> <strong>análisis</strong> <strong>de</strong> <strong>SEXTANTE</strong>.<br />

Entre estos módulos, el <strong>de</strong>nominado Or<strong>de</strong>n <strong>de</strong> Strahler genera una nueva capa raster en<br />

la que a cada celda se le asigna el or<strong>de</strong>n <strong>de</strong> Strahler. Los ór<strong>de</strong>nes <strong>de</strong> Strahler son otra forma<br />

distinta <strong>de</strong> establecer una clasificación jerárquica <strong>de</strong> los ríos. En este caso, no obstante, no<br />

es necesario <strong>de</strong>finir una red <strong>de</strong> drenaje, ya que para este módulo todas las celdas lo son, <strong>de</strong><br />

tal forma que la capa resultante no <strong>con</strong>tiene celdas sin datos (salvo, por supuesto, si éstas<br />

existen en el propio MDT). Como veremos, esta capa pue<strong>de</strong> <strong>de</strong>spués utilizarse en el módulo <strong>de</strong><br />

extracción <strong>de</strong> re<strong>de</strong>s <strong>de</strong> drenaje como capa <strong>de</strong> iniciación (la que <strong>con</strong>tiene el parámetro umbral).<br />

Para crear esta capa, selecciona el módulo Or<strong>de</strong>n <strong>de</strong> Strahler.


10.16. OTROS PARÁMETROS HIDROLÓGICOS 167<br />

Como ves, únicamente necesitas un MDT. Como es habitual, éste <strong>de</strong>be estar preprocesado,<br />

ya que será usado por los algoritmos <strong>de</strong> flujo (en este caso el módulo se basa en D8)<br />

<strong>La</strong> capa resultante tendrá el siguiente aspecto.<br />

Parece similar a la <strong>de</strong> área acumulada, pero aquí la escala para la representación empleada<br />

no es logarítmica, sino lineal. A<strong>de</strong>más, los valores en esta capa son mucho más bajos y su<br />

distribución es distinta. Pue<strong>de</strong>s emplear esta capa para extraer la red <strong>de</strong> drenaje, lo cual<br />

significa que, pese a que hasta este momento no lo habíamos hecho así, es posible calcular esa<br />

red <strong>de</strong> drenaje sin necesidad <strong>de</strong> pasar por una capa <strong>de</strong> área acumulada. Prueba a hacer esto<br />

tú mismo, y compara los resultados por las dos metodologías. Esto te ayudará a compren<strong>de</strong>r<br />

en mayor medida cómo funciona el modulo Red <strong>de</strong> Drenaje.<br />

Otro parámetro que pue<strong>de</strong> emplearse para <strong>de</strong>finir la <strong>con</strong>figuración interna <strong>de</strong> una cuenca<br />

es la sinuosidad, mediante el módulo <strong>de</strong>l mismo nombre.<br />

Una vez más, solo necesitas el MDT en la ventana <strong>de</strong> parámetros, pero en esta ocasión se<br />

trata <strong>de</strong> un módulo interactivo, así que tendrás <strong>de</strong>spués que seleccionar un punto <strong>de</strong> salida<br />

sobre un mapa.<br />

Para las celdas <strong>de</strong> la cuenca <strong>de</strong>finida por ese punto se calcula la distancia recorrida por<br />

el flujo <strong>de</strong>s<strong>de</strong> dichas celdas hasta la salida (distancia hidrológica medida haciendo uso <strong>de</strong> las<br />

direcciones <strong>de</strong> flujo), y se divi<strong>de</strong> por la distancia euclí<strong>de</strong>a entre la celda y la salida, obteniendo<br />

así la citada sinuosidad.<br />

Un mapa <strong>de</strong> sinuosidad tiene un aspecto como el siguiente.


168 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

Si tienes ganas <strong>de</strong> practicar y poner a prueba tu capacidad <strong>de</strong> manejo <strong>de</strong> <strong>SEXTANTE</strong>, he<br />

aquí un ejercicio: Intenta calcular esta capa sin hacer uso <strong>de</strong> este módulo. No es difícil, creeme.<br />

Ahí va una pista: el modulo <strong>de</strong> isocronas <strong>con</strong> velocidad <strong>con</strong>stante, la calculadora <strong>de</strong> mapas<br />

y el módulo para crear una capa a partir <strong>de</strong> una función matemática te serán suficientes.<br />

¡A<strong>de</strong>lante!<br />

Si prefieres <strong>de</strong>jar esa práctica para más tar<strong>de</strong>, veamos entonces el último <strong>de</strong> estos otros<br />

módulos hidrológicos, <strong>de</strong>nominado Balance Neto.<br />

En una celda <strong>con</strong>creta vierten un número dado <strong>de</strong> las situadas en su inmediato entorno (la<br />

ventana <strong>de</strong> <strong>análisis</strong> 3 ×3) y aguas arriba <strong>de</strong> la misma. Al mismo tiempo, el flujo <strong>de</strong> la celda se<br />

vierte sobre una celda situada aguas abajo (todo esto según el mo<strong>de</strong>lo más simple, es <strong>de</strong>cir,<br />

el D8). Si en lugar <strong>de</strong> simplemente saber cuantas celdas entran a una dada y hacia cuantas<br />

el flujo sale (este valor siempre igual a 1 según este planteamiento), planteamos ese balance<br />

en otras unida<strong>de</strong>s, po<strong>de</strong>mos tener resultados muy interesantes. Por ejemplo, si tenemos una<br />

capa <strong>con</strong> valores <strong>de</strong> erosión en cada celda, po<strong>de</strong>mos calcular la cantidad <strong>de</strong> sedimentos que<br />

entran a la celda y la cantidad que la propia erosión en la misma celda <strong>de</strong>splaza hacia aguas<br />

abajo. <strong>La</strong> diferencia entre ambos valores nos permitirá saber si en la celda se produce erosión<br />

o <strong>de</strong>posición neta. De igual modo pue<strong>de</strong> hacerse para otros parámetros.<br />

Para ejecutar el módulo, únicamente hace falta introducir el MDT y la capa <strong>con</strong> ese otro<br />

parámetro tal como la tasa <strong>de</strong> erosión o similar, y obtendremos como resultado una nueva<br />

capa como la siguiente (en este caso, el parámetro adicional es el factor LS).


10.17. SIMULACIÓN HIDROLÓGICA 169<br />

<strong>La</strong> capa <strong>con</strong>tiene tanto valores positivos como negativos, en función <strong>de</strong> que la celda ✭✭gane✮✮<br />

o ✭✭pierda✮✮ cantidad <strong>de</strong> ese parámetro al realizar el balance.<br />

10.17. Simulación hidrológica<br />

Bajo el menú Simulación se incluyen algunos grupos <strong>de</strong> módulos que permiten simular<br />

sistemas complejos <strong>de</strong>ntro <strong>de</strong> <strong>SEXTANTE</strong>. Entre estos módulos, que iremos analizando paulatinamente<br />

a lo largo <strong>de</strong> éste y otros capítulos <strong>de</strong>l libro, se encuentran los que permiten simular<br />

el comportamiento hidrológico <strong>de</strong> una zona, teniendo un notable interés como complemento<br />

a los módulos <strong>de</strong> <strong>análisis</strong> que venimos viendo, así como una interesante vertiente didáctica.<br />

Veamos cuáles son esos módulos.<br />

10.17.1. Humedad <strong>de</strong> suelo y capacidad <strong>de</strong> campo<br />

El primer módulo que en<strong>con</strong>tramos <strong>de</strong>ntro <strong>de</strong> este grupo no es exactamente lo que <strong>con</strong> total<br />

propiedad podía <strong>de</strong>nominarse ✭✭simulación✮✮, pero se trata una herramienta útil que encaja<br />

perfectamente <strong>con</strong> los otros módulos junto a los que se halla. El módulo DWVK – Mo<strong>de</strong>lización<br />

Distribuida <strong>de</strong> la Humedad Edáfica implementa un mo<strong>de</strong>lo capaz <strong>de</strong> ofrecer un valor<br />

cuantitativo <strong>de</strong> humedad <strong>de</strong> suelo en función no sólo <strong>de</strong> la morfología <strong>de</strong> terreno, sino también<br />

<strong>de</strong> otra serie <strong>de</strong> parámetros.<br />

Si recuerdas, ya hemos visto algunos índices que trataban <strong>de</strong> pre<strong>de</strong>cir la posibilidad <strong>de</strong> que<br />

una celda dada tuviera una elevada humedad edáfica. Estos índices, sin embargo, no daban<br />

un valor expresado en unida<strong>de</strong>s <strong>de</strong> humedad o <strong>con</strong>tenido <strong>de</strong> agua como tal, por lo que no<br />

<strong>con</strong>stituían en sí un resultado exacto al respecto. El módulo que veremos a <strong>con</strong>tinuación es<br />

más específico y requiere <strong>de</strong> otras entradas aparte <strong>de</strong>l propio MDT, que sigue siendo necesario,<br />

no obstante.<br />

Una <strong>de</strong> estas entradas accesorias es la <strong>de</strong>nominada capacidad <strong>de</strong> campo, para cuyo cálculo<br />

<strong>SEXTANTE</strong> dispone <strong>de</strong> un módulo <strong>con</strong>creto también situado <strong>de</strong>ntro <strong>de</strong>l mismo menú Simulación<br />

y <strong>de</strong>nominado Capacidad <strong>de</strong> Retención <strong>de</strong> Agua. Éste no es un módulo <strong>de</strong> simulación<br />

como tal, pero puesto que sirve <strong>de</strong> apoyo al anterior, es a<strong>de</strong>cuado situarlo en el mismo grupo<br />

<strong>de</strong>ntro <strong>de</strong> la estructura <strong>de</strong> menús y librerías <strong>de</strong>l programa, así como <strong>de</strong>scribirlo junto a éste<br />

en el presente manual. Veamos como es su ventana <strong>de</strong> parámetros.


170 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

<strong>La</strong> manera <strong>de</strong> proce<strong>de</strong>r <strong>de</strong> éste módulo es muy sencilla. Toma los datos <strong>con</strong>tenidos en una<br />

capa <strong>de</strong> puntos, la cual <strong>de</strong>be almacenar la información <strong>de</strong> calicatas realizadas en la zona <strong>de</strong><br />

estudio, y <strong>con</strong> dichos datos calcula la capacidad <strong>de</strong> campo en dichos puntos. Después, interpola<br />

<strong>con</strong> los mismos para calcular los valores en las celdas <strong>de</strong> la malla resultado. En estos cálculos<br />

utiliza también la información relativa a la pendiente, que se extrae <strong>de</strong>l MDT. No es necesario,<br />

sin embargo, calcular una capa <strong>de</strong> pendientes, ya que el módulo lo hace internamente <strong>de</strong> forma<br />

automática.<br />

<strong>La</strong> parte más compleja es la <strong>de</strong>finición <strong>de</strong> la tabla asociada a la capa vectorial, <strong>de</strong> tal modo<br />

que el módulo pueda leer correctamente la información <strong>de</strong> las calicatas. En el directorio <strong>de</strong><br />

datos <strong>de</strong> ejemplo en<strong>con</strong>trarás una capa <strong>de</strong>nominada calicatas.shp. Ábrela y <strong>de</strong>spués ve a su<br />

tabla <strong>de</strong> atributos.<br />

<strong>La</strong> tabla <strong>con</strong>tiene para cada horizonte <strong>de</strong>l perfil <strong>de</strong> suelo los siguientes valores.<br />

Profundidad (en cm.)<br />

Porcentaje <strong>de</strong> tierra fina<br />

Porcentaje <strong>de</strong> limo<br />

Porcentaje <strong>de</strong> arcilla<br />

Porcentaje <strong>de</strong> materia orgánica<br />

Es <strong>de</strong>cir, cinco campos para cada horizonte, y todos ellos dispuestos en un único registro<br />

correspondiente a cada punto. Por tanto, si tienes 3 horizontes, la tabla <strong>de</strong>be tener 3 · 5 = 15<br />

campos (i.e. columnas). El bloque <strong>de</strong> datos en el extremo izquierdo representa el horizonte<br />

superior, mientras que el <strong>de</strong>l extremo <strong>de</strong>recho <strong>con</strong>tiene los valores correspondientes al inferior.<br />

Puesto que la tabla es probable que <strong>con</strong>tenga más <strong>de</strong> un registro (más <strong>de</strong> un punto), y no<br />

en todos ellos se habrán hallado el mismo número <strong>de</strong> horizontes, el número total <strong>de</strong> columnas<br />

<strong>de</strong> la tabla queda <strong>de</strong>finido por la calicata <strong>con</strong> una mayor cantidad <strong>de</strong> horizontes. Si en otro<br />

punto existen menos horizontes, simplemente se han <strong>de</strong> completar los horizontes ✭✭sobrantes✮✮<br />

<strong>con</strong> valores <strong>de</strong> relleno, dando profundidad cero a los mismos.<br />

Esta forma <strong>de</strong> <strong>de</strong>finir la información parece compleja, pero lo normal es que se trabaje <strong>con</strong><br />

pocas calicatas, por lo que es rápido generar la tabla una vez que se tienen los datos <strong>de</strong> cada<br />

una <strong>de</strong> ellas. De este modo, toda la información necesaria queda en la propia capa, en su tabla<br />

<strong>de</strong> atributos asociada.<br />

Empleando nuestro MDT habitual y la capa <strong>de</strong> calicatas <strong>de</strong> ejemplo, obtienes una nueva<br />

capa como la siguiente.


10.17. SIMULACIÓN HIDROLÓGICA 171<br />

Los valores <strong>de</strong> capacidad <strong>de</strong> retención <strong>de</strong> agua y otros valores auxiliares quedan en la capa<br />

<strong>de</strong> parámetros finales, que <strong>con</strong>tiene los valores <strong>de</strong> las calicatas, así como una serie <strong>de</strong> campos<br />

nuevos, tal y como aparecen en la tabla <strong>de</strong> la siguiente figura.<br />

Ahora que ya <strong>con</strong>ocemos los valores <strong>de</strong> capacidad <strong>de</strong> campo (expresados, por cierto, en<br />

mm), ya po<strong>de</strong>mos entrar a utilizar el mo<strong>de</strong>lo <strong>de</strong> humedad <strong>de</strong> suelo. Selecciona el módulo<br />

DWVK – Mo<strong>de</strong>lización Distribuida <strong>de</strong> la Humedad Edáfica para llegar hasta la siguiente ventana<br />

<strong>de</strong> parámetros.<br />

Se requieren como entradas <strong>de</strong>l mo<strong>de</strong>lo tres capas en formato raster, a pesar <strong>de</strong> lo cual, y si<br />

careces <strong>de</strong> información sobre ellas, pue<strong>de</strong>s utilizar valores por <strong>de</strong>fecto (esto es similar a lo que<br />

veíamos para el factor n <strong>de</strong> Manning en el cálculo <strong>de</strong> tiempos <strong>de</strong> salida <strong>con</strong> velocidad variable,<br />

¿recuerdas?).<br />

Ésta es la razón por la cual en<strong>con</strong>trarás tres campos <strong>de</strong>nominados Valor por<br />

Defecto, uno para cada uno <strong>de</strong> los parámetros necesarios.<br />

Por el momento, sólo disponemos <strong>de</strong> información sobre la capacidad <strong>de</strong> campo, que acabamos<br />

<strong>de</strong> generar unas líneas atrás. Para los otros parámetros, utilizaremos valores por <strong>de</strong>fecto.


172 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

Sin embargo, el parámetro Uso <strong>de</strong> Suelo requiere algo más <strong>de</strong> explicación. Al <strong>con</strong>trario<br />

que las restantes capas, en este caso se trata <strong>de</strong> una capa raster clasificada, es <strong>de</strong>cir, no <strong>con</strong><br />

una variable <strong>con</strong>tinua, sino <strong>con</strong> una codificación discreta <strong>de</strong> clases <strong>de</strong> usos <strong>de</strong> suelo. <strong>La</strong> clave<br />

en este punto es que la codificación empleada tiene que ser <strong>con</strong>sistente <strong>con</strong> la tabla que <strong>de</strong>fine<br />

las propieda<strong>de</strong>s <strong>de</strong> cada clase, y que <strong>de</strong>be introducirse en el campo Coeficientes <strong>de</strong> Cobertura.<br />

<strong>La</strong> tabla ya <strong>con</strong>tiene una estructura por <strong>de</strong>fecto y una cierta información, que por supuesto<br />

pue<strong>de</strong>s modificar empleando las herramientas habituales para el trabajo <strong>con</strong> tablas. Cuando<br />

<strong>SEXTANTE</strong> procese <strong>de</strong>spués la capa <strong>de</strong> usos <strong>de</strong> suelo y encuentre un valor n en una celda,<br />

irá a la tabla a buscar el registro cuya primera columna (Código Uso <strong>de</strong> Suelo) coinci<strong>de</strong> <strong>con</strong><br />

dicho valor n, y utilizará los datos <strong>de</strong>l mismo para dicha celda.<br />

<strong>La</strong> segunda tabla que en<strong>con</strong>tramos como parámetro <strong>de</strong>l módulo tiene también una estructura<br />

previa, pero sin registro alguno creado. En ella <strong>de</strong>bes añadir ternas <strong>de</strong> valores <strong>de</strong><br />

precipitación, temperatura y humedad <strong>de</strong>l aire, tal y como indican los nombres <strong>de</strong> los campos<br />

en la parte superior <strong>de</strong> la misma. Aña<strong>de</strong> tantos registros como necesites para <strong>de</strong>scribir el<br />

periodo <strong>de</strong> tiempo a estudiar.<br />

Entre los datos <strong>de</strong> ejemplo en<strong>con</strong>trarás una tabla <strong>de</strong>nominada DWVK.txt <strong>con</strong> datos <strong>de</strong><br />

precipitación, temperatura y humedad. Úsala junto <strong>con</strong> la capa que ya utilizamos en otro<br />

punto anterior y que <strong>con</strong>tiene datos <strong>de</strong> uso <strong>de</strong> suelo.<br />

De vuelta a la ventana <strong>de</strong> parámetros, es <strong>de</strong> reseñar que <strong>SEXTANTE</strong> pue<strong>de</strong> generar una<br />

nueva capa raster como resultado, incluso si los tres parámetros han sido introducidos como un<br />

valor único por <strong>de</strong>fecto, ya que dispone <strong>de</strong> la información <strong>de</strong> la extensión <strong>de</strong> grid seleccionada<br />

en el primer campo <strong>de</strong> la ventana. Por supuesto, la capa tendrá un valor <strong>con</strong>stante, ya que<br />

todos los parámetros <strong>de</strong> entrada son iguales para la totalidad <strong>de</strong> las celdas.<br />

<strong>La</strong> ejecución <strong>de</strong>l módulo <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la cantidad <strong>de</strong> registros en la tabla <strong>de</strong> precipitación,<br />

ya que para cada uno <strong>de</strong> ellos se va simulando y calculando la humedad edáfica.<br />

10.17.2. Simulación <strong>de</strong> flujo en la<strong>de</strong>ra<br />

Aplicando la ecuación <strong>de</strong> onda cinemática y el mo<strong>de</strong>lo D8, se pue<strong>de</strong> simular el <strong>de</strong>splazamiento<br />

<strong>de</strong> una masa <strong>de</strong> agua por una la<strong>de</strong>ra y, utilizando las capacida<strong>de</strong>s gráficas <strong>de</strong> SEX-<br />

TANTE, visualizar dicho proceso. Eso es exactamente lo que hace el módulo Flujo en <strong>La</strong><strong>de</strong>ra<br />

- Onda Cinemática D8, cuya formulación interna es en cierta medida similar a una parte <strong>de</strong> lo<br />

que vimos al calcular las capas <strong>de</strong> tiempos <strong>de</strong> salida <strong>con</strong> velocidad variable. En ese caso, para<br />

las celdas en flujo en la<strong>de</strong>ra, también se utilizaba la ecuación <strong>de</strong> onda cinemática y el mo<strong>de</strong>lo<br />

D8 para calcular las velocida<strong>de</strong>s <strong>de</strong> flujo y <strong>con</strong>ducir el mismo hacia aguas abajo.<br />

En esta ocasión, el resultado <strong>de</strong>l módulo no guarda tanto interés como su propio <strong>de</strong>sarrollo,<br />

ya que ayuda a compren<strong>de</strong>r <strong>de</strong> modo visual el funcionamiento <strong>de</strong> los algoritmos <strong>de</strong> flujo <strong>con</strong><br />

los que venimos trabajando a lo largo <strong>de</strong> todo este capítulo.<br />

Veamos la ventana <strong>de</strong> parámetros <strong>de</strong> este módulo.


10.17. SIMULACIÓN HIDROLÓGICA 173<br />

Debes seleccionar el MDT sobre el que se va a guiar el flujo, y establecer el tipo <strong>de</strong> precipitación<br />

a partir <strong>de</strong> la cual se generará escorrentía (en este caso, no hay método alguno <strong>de</strong><br />

<strong>con</strong>versión precipitación–escorrentía, y se asume que toda la precipitación escurre. Lo importante<br />

aquí es la mo<strong>de</strong>lización <strong>de</strong>l flujo, no su volumen). Pue<strong>de</strong>s elegir que la precipitación se<br />

produzca sobre todo el grid a la vez, sólo sobre las celdas por encima <strong>de</strong> una altura dada, o<br />

bien en la mitad izquierda <strong>de</strong>l grid. Elije la opción que prefieras (en el segundo caso, <strong>de</strong>berás<br />

establecer la altura umbral), o mejor aún pruébalas todas ellas, ya que el carácter didáctico<br />

<strong>de</strong> este módulo hace interesante probarlas hasta dar <strong>con</strong> aquella que en cada caso muestre <strong>de</strong><br />

forma más clara el funcionamiento <strong>de</strong>l mismo.<br />

Al ejecutar el módulo, verás como va presentando sucesivas representaciones <strong>de</strong> mapa <strong>con</strong><br />

la escorrentía en cada celda, y en esta evolución pue<strong>de</strong>s apreciar el avance <strong>de</strong>l flujo. Es difícil<br />

(o más bien imposible) plasmar esto <strong>con</strong> gráficos estáticos <strong>de</strong>ntro <strong>de</strong> este manual, así que<br />

te recomiendo que lo pruebes por ti mismo y veas cómo los flujos se <strong>de</strong>splazan y varía la<br />

escorrentía en las celdas <strong>de</strong> cauce y la<strong>de</strong>ra a medida que avanza la simulación.<br />

10.17.3. TOPMODEL<br />

El más importante <strong>de</strong> todos los módulos <strong>de</strong> simulación es adaptación <strong>de</strong>l popular e influyente<br />

mo<strong>de</strong>lo TOPMODEL (Beven y Kirby, 1978), que ahora pue<strong>de</strong> ser ejecutado también<br />

<strong>de</strong>s<strong>de</strong> <strong>SEXTANTE</strong>. TOPMODEL es un mo<strong>de</strong>lo muy utilizado y <strong>con</strong> muchas variantes, que se<br />

encuentra implementado en algunos otros sistemas, aunque su uso bajo <strong>SEXTANTE</strong> es sumamente<br />

sencillo en comparación <strong>con</strong> algunas <strong>de</strong> dichas implementaciones, como a <strong>con</strong>tinuación<br />

veremos.<br />

Veamos, para comenzar, la ventana <strong>de</strong> parámetros <strong>de</strong>l módulo


174 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

Pue<strong>de</strong>s ver que el apartado Opciones es extenso y <strong>con</strong>tiene una serie <strong>de</strong> variables que<br />

regulan el funcionamiento <strong>de</strong>l mo<strong>de</strong>lo. Conocer éste en profundidad es necesario para enten<strong>de</strong>r<br />

qué significa cada una <strong>de</strong> las variables, pero esto queda fuera <strong>de</strong>l alcance <strong>de</strong> este manual. En<br />

su lugar, se <strong>de</strong>scribirán las entradas y salidas <strong>de</strong>l módulo y su funcionamiento, que son los<br />

aspectos propios <strong>de</strong> la implementación <strong>de</strong>ntro <strong>de</strong> <strong>SEXTANTE</strong>.<br />

<strong>La</strong> entrada principal es una capa raster <strong>con</strong> valores <strong>de</strong>l índice topográfico (o índice <strong>de</strong><br />

humedad), que si recuerdas ya vimos <strong>de</strong>ntro <strong>de</strong> este mismo capítulo como calcularla. El índice<br />

topográfico, aun <strong>con</strong> interés fuera <strong>de</strong>l mo<strong>de</strong>lo TOPMODEL, <strong>de</strong>riva <strong>de</strong> éste y <strong>con</strong>stituye el<br />

principal resultado extraído <strong>de</strong>l MDT <strong>con</strong> el que el mo<strong>de</strong>lo trabaja.Debes calcularlo haciendo<br />

uso <strong>de</strong>l módulo correspondiente, que ya fue explicado algunas páginas atrás.<br />

<strong>La</strong> otra entrada necesaria es una tabla <strong>de</strong> dos columnas, la primera <strong>de</strong> las cuales <strong>de</strong>be<br />

<strong>con</strong>tener valores <strong>de</strong> precipitación, mientras que la segunda <strong>de</strong>be <strong>con</strong>tener datos <strong>de</strong> ETP. Entre<br />

los datos <strong>de</strong> ejemplo, pue<strong>de</strong>s en<strong>con</strong>trar una tabla <strong>de</strong> este tipo en el archivo topmo<strong>de</strong>l.txt, que<br />

te servirá para probar el funcionamiento <strong>de</strong>l módulo.<br />

Con estos datos, el resultado generado es una tabla en la cual, para cada uno <strong>de</strong> los instantes<br />

<strong>de</strong>finidos en la tabla <strong>de</strong> datos climáticos, se incluyen una serie <strong>de</strong> variables hidrológicas relativas<br />

a la cuenca vertiente representada en el MDT. Debes darte cuenta <strong>de</strong> que esta cuenca se <strong>de</strong>fine<br />

como formada por todas las celdas <strong>de</strong> la capa introducida, por lo que el uso <strong>de</strong> máscaras es<br />

necesario para obtener resultados precisos y reales.


10.18. ILUMINACIÓN 175<br />

De forma opcional, el módulo pue<strong>de</strong> generar también una capa <strong>con</strong> el déficit <strong>de</strong> humedad<br />

<strong>de</strong>l suelo, aunque ello implica un tiempo <strong>de</strong> ejecución mucho mayor.<br />

10.18. Iluminación<br />

<strong>La</strong> forma <strong>de</strong>l relieve afecta al modo en que la superficie terrestre es iluminada por una<br />

fuente <strong>de</strong> luz puntual tal como el sol, modificando su aspecto, pero también afectando a otra<br />

serie <strong>de</strong> parámetros muy importantes tales como la cantidad <strong>de</strong> energía que se recibe en cada<br />

celda. Con la ayuda <strong>de</strong>l MDT y unas pocas i<strong>de</strong>as básicas sobre astronomía po<strong>de</strong>mos crear una<br />

representación en relieve sombreado (la cual, como ya sabes, pue<strong>de</strong> emplearse para producir<br />

versiones sombreadas en falso relieve <strong>de</strong> cualquier representación <strong>de</strong> mapa) o calcular la energía<br />

recibida en las celdas <strong>de</strong> la capa durante un periodo <strong>de</strong> tiempo dado, entre otras cosas.<br />

Todos los módulos necesarios para estas operaciones los en<strong>con</strong>traras en el menú Iluminación<br />

<strong>de</strong>ntro <strong>de</strong> Análisis <strong>de</strong>l Terreno.<br />

El primer resultado que vamos a obtener es uno <strong>con</strong> el que ya <strong>de</strong>bieras estar familiarizado:<br />

una capa <strong>de</strong> relieve sombreado. Esta capa es una representación en pseudo–relieve, en la que<br />

los valores <strong>de</strong> cada celda indican la cantidad <strong>de</strong> luz que llega a la misma. Representando esta


176 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

capa <strong>con</strong> una rampa <strong>de</strong> color bicolor da un resultado <strong>de</strong> aspecto sumamente realista (y muy<br />

atractivo), como si se observara el terreno representado <strong>de</strong>s<strong>de</strong> arriba <strong>de</strong> éste (imagina que<br />

estás volando sobre el terreno y tomas una fotografía).<br />

El módulo a emplear para generar esta capa se <strong>de</strong>nomina Sombreado Analítico.<br />

Solo es necesaria una capa <strong>de</strong> entrada, y ésta es por supuesto el MDT. Puesto que trabajamos<br />

<strong>con</strong> algoritmos <strong>de</strong> iluminación, necesitamos una fuente <strong>de</strong> luz. <strong>La</strong> posición <strong>de</strong> esta<br />

fuente pue<strong>de</strong> modificarse mediante los campos Azimut y Declinación, que representan las<br />

coor<strong>de</strong>nadas polares <strong>de</strong> la misma.<br />

Cuatro métodos se encuentran disponibles:<br />

Estándar<br />

Estándar (max 90 o )<br />

Sombreado Combinado<br />

Ray Tracing<br />

Puesto que la capa <strong>de</strong> relieve sombreado es un resultado <strong>de</strong> carácter ✭✭visual✮✮, y no se<br />

utilizan para ningún tipo <strong>de</strong> cálculo sus valores, simplemente elige aquel que te parezca más<br />

atractivo o que al observarlo <strong>de</strong>svele en mayor medida la forma <strong>de</strong>l relieve. A tu gusto.<br />

Pue<strong>de</strong> introducirse un factor <strong>de</strong> exageración <strong>de</strong> relieve en el campo Exageración. Los valores<br />

<strong>de</strong> elevación <strong>de</strong> las celdas empleados para calcular el sombreado son multiplicados por este<br />

factor, <strong>de</strong> tal forma que las sombras proyectadas sobre las celdas varían. Un valor alto <strong>de</strong><br />

exageración hará que las pendientes tengan un aspecto más oscuro, en <strong>con</strong>traste <strong>con</strong> el aspecto<br />

claro e iluminado <strong>de</strong> las zonas llanas.<br />

Cuando hablo <strong>de</strong> celdas ✭✭oscuras✮✮ y ✭✭claras✮✮ me refiero a celdas <strong>con</strong> valores altos y bajos,<br />

respectivamente. Por supuesto, si se escoge otra rampa <strong>de</strong> color distinta a la que el módulo<br />

asigna por <strong>de</strong>fecto, el aspecto <strong>de</strong> la representación pue<strong>de</strong> ser completamente distinto. Pue<strong>de</strong>s<br />

probar, por ejemplo, a invertir la rampa <strong>de</strong> color. Haciendo esto las zonas elevadas parecerán<br />

hundidas a un nivel inferior a las celdas bajas, y la apariencia global <strong>de</strong> la capa queda invertida.<br />

Cuando se emplea el método Ray tracing, el factor <strong>de</strong> exageración no es utilizado.<br />

Pese a que una capa <strong>de</strong> relieve sombreado pue<strong>de</strong> utilizarse para sombrear cualquier representación<br />

<strong>de</strong> mapa, es <strong>de</strong> por sí un resultado <strong>de</strong> interés, como pue<strong>de</strong> verse en la siguiente<br />

figura.


10.18. ILUMINACIÓN 177<br />

Los valores <strong>con</strong>tenidos en esta capa son ángulos expresados en radianes, aunque, una vez<br />

más, y como ocurría en el caso <strong>de</strong> las capas <strong>de</strong> pendiente y orientación, se emplea un factor Z<br />

a<strong>de</strong>cuado para la <strong>con</strong>versión <strong>de</strong> estos radianes en grados.<br />

Para obtener un resultado más cuantitativo y que pueda pasar a formar parte <strong>de</strong> procesos<br />

<strong>de</strong> <strong>análisis</strong>, veamos cómo calcular la energía proveniente <strong>de</strong> la radiación solar que llega a<br />

cada celda <strong>de</strong>l MDT. Para ello, abre el módulo Radiación solar y llegarás a una ventana <strong>de</strong><br />

parámetros como la siguiente.<br />

En comparación <strong>con</strong> otros módulos que venimos viendo en este capítulo, éste <strong>con</strong>tiene una<br />

gran cantidad <strong>de</strong> parámetros, ya que a<strong>de</strong>más <strong>de</strong>l MDT como capa <strong>de</strong> entrada, es necesario<br />

informar al módulo <strong>de</strong> algunos valores adicionales sobre la radiación y el periodo <strong>de</strong> tiempo a<br />

<strong>con</strong>si<strong>de</strong>rar para el cálculo.


178 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

Antes <strong>de</strong> pasar a <strong>de</strong>scribir cada campo, veamos brevemente el proceso <strong>de</strong> cálculo <strong>de</strong> la<br />

capa resultante. El algoritmo empleado pue<strong>de</strong> dividirse en los siguientes pasos.<br />

Se <strong>de</strong>fine un intervalo <strong>de</strong> tiempo.<br />

Se toma una muestra <strong>de</strong> días regularmente espaciados que <strong>de</strong>finen ese intervalo.<br />

se <strong>de</strong>fine un <strong>con</strong>junto <strong>de</strong> ✭✭instantes✮✮ espaciados regularmente <strong>de</strong>ntro <strong>de</strong> cada uno <strong>de</strong> esos<br />

días.<br />

Para cada uno <strong>de</strong> estos instantes (que implica una posición particular <strong>de</strong>l sol), se calcula<br />

la radiación solar para cada celda en función <strong>de</strong> la información <strong>de</strong>l MDT.<br />

Con esa información se calcula una capa <strong>de</strong> radiación diaria.<br />

Con el <strong>con</strong>junto <strong>de</strong> capas diarias se calcula la radiación para el periodo <strong>de</strong> tiempo<br />

establecido.<br />

Y ahora veamos cómo ajustar todos los parámetros correctamente para que <strong>SEXTANTE</strong><br />

pueda llevar a cabo la anterior secuencia <strong>de</strong> operaciones.<br />

En primer lugar, seleccionemos las capas <strong>de</strong> entrada y salida. No hay ninguna novedad<br />

en cuanto a las primeras (una vez más sólo el MDT), y en las segundas en<strong>con</strong>tramos dos<br />

elementos: una capa <strong>con</strong> la radiación como tal, y otra <strong>con</strong> la duración total <strong>de</strong> la misma.<br />

Puesto que el proceso <strong>de</strong> generación <strong>de</strong> éstas implica, como ya hemos visto, la creación<br />

<strong>de</strong> numerosas capas intermedias, pue<strong>de</strong>s elegir ver dichas capas intermedias a medida que<br />

se van creando, para así comprobar la progresión <strong>de</strong>l módulo. Para ello, selecciona el campo<br />

Actualizar vista. Ten en cuenta que esto exige un proceso extra para representar cada una estas<br />

capas, por lo que el tiempo <strong>de</strong> ejecución se alarga. Si usas una resolución temporal elevada<br />

o un intervalo <strong>de</strong> tiempo largo, esto pue<strong>de</strong> tener como <strong>con</strong>secuencia un tiempo <strong>de</strong> proceso<br />

notablemente mayor.<br />

Selecciona las unida<strong>de</strong>s para la capa <strong>de</strong> salida en el campo Unida<strong>de</strong>s.<br />

Junto a la capa <strong>de</strong> radiación, se genera otra <strong>de</strong> duración <strong>de</strong> la misma. Una duración mayor<br />

no implica necesariamente una radiación total mayor, ya que otros parámetros tales como la<br />

pendiente también tienen una influencia significativa en ella.<br />

Pasemos a ver ahora el nutrido <strong>con</strong>junto <strong>de</strong> campos bajo el nodo Opciones.<br />

Utiliza los campos <strong>de</strong>l grupo Radiación Solar para establecer los parámetros que <strong>de</strong>finen<br />

la radiación solar que llega a la tierra en función <strong>de</strong> las características <strong>de</strong> la atmósfera y otros<br />

elementos relacionados. En el campo Efectos Atmosféricos pue<strong>de</strong>s elegir entre utilizar una<br />

reducción <strong>de</strong> la energía original que alcanza la atmósfera (expresada en porcentaje restante),<br />

o bien <strong>de</strong> un modo más elaborado introducir los parámetros que <strong>de</strong>finen dicha atmósfera y<br />

que sea el módulo quien calcule <strong>con</strong> exactitud esa reducción. Los valores por <strong>de</strong>fecto son<br />

generalmente válidos en ambos casos, por lo que es habitual no modificarlos.<br />

Un parámetro que si <strong>de</strong>bes modificar es la latitud (en el campo <strong>de</strong>l mismo nombre) en la<br />

que se sitúa el MDT a analizar, ya que ésta modifica la posición <strong>de</strong>l sol en el cielo <strong>de</strong>ntro <strong>de</strong>l<br />

periodo <strong>de</strong> tiempo <strong>con</strong>si<strong>de</strong>rado.<br />

Un elemento clave que <strong>de</strong>be <strong>de</strong>finirse es la resolución temporal, es <strong>de</strong>cir, el intervalo entre<br />

esos ✭✭instantes✮✮ antes mencionados en los que se divi<strong>de</strong> cada día. Cuanto más corto sea este<br />

intervalo, mayor será el número <strong>de</strong> capas intermedias que son necesarias, y por tanto más<br />

preciso el resultado final, aunque también más largo el tiempo <strong>de</strong> proceso necesario para la<br />

completa ejecución <strong>de</strong>l módulo.<br />

Para el cálculo <strong>de</strong> las sumas diarias <strong>de</strong> radiación, pue<strong>de</strong>s establecer éstas sólo <strong>de</strong>ntro <strong>de</strong><br />

un rango <strong>de</strong> horas, <strong>de</strong> tal forma que no toda la duración <strong>de</strong>l día sea <strong>con</strong>si<strong>de</strong>rada.


10.18. ILUMINACIÓN 179<br />

Por último, <strong>de</strong>be <strong>de</strong>finirse el intervalo <strong>de</strong> tiempo total a estudiar. Existen tres posibles<br />

alternativas:<br />

Un día único.<br />

Un rango <strong>de</strong> días.<br />

Un año completo.<br />

Para los dos primeros, existe un nodo correspondiente en el que introducir la información<br />

necesaria. Los campos <strong>de</strong> los mismos son bastante <strong>de</strong>scriptivos y no requieren más <strong>de</strong>talle <strong>con</strong><br />

la información ya dada líneas atrás.<br />

Cuando hayas ajustado todos los parámetros necesarios, ejecuta el módulo seleccionando<br />

Aceptar. Una vez que termine <strong>de</strong> ejecutarse (lo cual pue<strong>de</strong> ser bastante tiempo, <strong>de</strong>pendiendo<br />

<strong>de</strong> los parámetros especificados), obtendrás una capa <strong>con</strong> un aspecto similar al siguiente.<br />

Se genera también una capa <strong>con</strong> valores <strong>de</strong> duración <strong>de</strong> la insolación, <strong>con</strong> un aspecto similar<br />

al mostrado a <strong>con</strong>tinuación.<br />

El último módulo <strong>de</strong> iluminación, que pue<strong>de</strong> ejecutarse a través <strong>de</strong>l menú Sombreado <strong>con</strong><br />

fuente <strong>de</strong> luz <strong>de</strong>finida, es un módulo interactivo. En lugar <strong>de</strong> <strong>con</strong>si<strong>de</strong>rar una fuente <strong>de</strong> luz<br />

situada en el cielo (y <strong>de</strong>finida por su azimut y su ángulo <strong>de</strong> elevación sobre el horizonte),<br />

utiliza una emplazada en una <strong>de</strong> las celdas <strong>de</strong>l propio MDT, la cual <strong>de</strong>be <strong>de</strong>finirse haciendo


180 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

clic sobre un mapa <strong>de</strong> la misma manera que, por ejemplo, se hacía en los módulos hidrológicos<br />

vistos algunas páginas atrás.<br />

El resultado <strong>de</strong> este módulo es una capa en la cual se indica qué celdas reciben radiación<br />

<strong>de</strong> esa fuente, y la magnitud recibida, una vez más expresada en forma <strong>de</strong> ángulo.<br />

¿Para qué pue<strong>de</strong> utilizarse una capa así? Imagina que tienes que evaluar el impacto visual<br />

<strong>de</strong> un edificio. Sitúa una fuente <strong>de</strong> luz en el emplazamiento <strong>de</strong> dicho edificio y sabrás qué celdas<br />

<strong>de</strong> su entorno reciben dicha luz (es <strong>de</strong>cir, <strong>de</strong>s<strong>de</strong> qué celdas se ve el edificio y están, por tanto,<br />

afectadas por su presencia).<br />

Otro ejemplo: quieres situar una antena y no sabes si todas las zonas <strong>de</strong> alre<strong>de</strong>dor recibirán<br />

su señal o algunas se encuentran en ✭✭sombra✮✮. Ejecuta este módulo y pon la fuente <strong>de</strong> luz en<br />

el lugar exacto don<strong>de</strong> preveas colocar la antena. Con la capa resultante, reclasifica sus valores<br />

dando valores 0 a las celdas por <strong>de</strong>bajo <strong>de</strong> un valor umbral (aquellas que no reciben suficiente<br />

señal) y valor 1 a las que tengan un valor por encima <strong>de</strong>l mismo. Tendrás una nueva capa (una<br />

máscara, <strong>de</strong> hecho), <strong>con</strong> las celdas a las que la antena dará servicio.<br />

<strong>La</strong> ventana <strong>de</strong> parámetros <strong>de</strong>l módulo tiene un aspecto como el siguiente.<br />

El único campo reseñable es el <strong>de</strong>nominado Altura, que permite establecer la altura <strong>de</strong> la<br />

fuente <strong>de</strong> luz sobre el terreno (por ejemplo, la altura <strong>de</strong> la antena en el supuesto anterior).<br />

Si introduces un valor muy elevado en este campo, muchas celdas recibirán luz, mientras que<br />

introducir un valor bajo tendrá como resultado que pocas celdas (<strong>de</strong>pendiendo también, por<br />

supuesto, <strong>de</strong> la propia morfología <strong>de</strong>l terreno) reciban la misma.<br />

<strong>La</strong> altura <strong>de</strong> la fuente <strong>de</strong> luz se expresa en las mismas unida<strong>de</strong>s que los valores <strong>de</strong> elevación<br />

<strong>con</strong>tenidos en el MDT.<br />

Una capa típica obtenida a partir <strong>de</strong> este módulo tiene el aspecto <strong>de</strong> la siguiente.<br />

Si se usa el método por <strong>de</strong>fecto (seleccionando la opción Sombreado en el campo Unida<strong>de</strong>s),<br />

todos los valores <strong>de</strong> la misma son inferiores a 90, e indican el ángulo entre la luz inci<strong>de</strong>nte<br />

y la normal al terreno. El mapa generado es similar al generado por el módulo Sombreado<br />

Analítico, pero <strong>con</strong> un foco <strong>de</strong> luz puntual sobre el terreno, en lugar <strong>de</strong>l sol. Un valor <strong>de</strong> 90 o


10.19.<br />

ÁREA REAL VS. ÁREA PLANIMÉTRICA 181<br />

indica una celda completamente en sombra. Cuanto más bajo el valor, mayor la cantidad <strong>de</strong><br />

luz que la celda recibe perpendicular a su superficie.<br />

Existen tres otros modos:<br />

Distancia. El valor en la celda (si ésta es visible) es la distancia entre la fuente <strong>de</strong> luz<br />

y dicha celda<br />

Visibilidad. Simplemente asigna valor 1 a las celdas visibles y 0 a las no visibles.<br />

Tamaño. Consi<strong>de</strong>ra no la distancia horizontal, sino la expresión atan(altura luz/d, <strong>de</strong><br />

tal forma que da una indicación <strong>de</strong>l tamaño al que se ve un objeto en la celda <strong>de</strong>s<strong>de</strong> la<br />

fuente <strong>de</strong> luz (que pue<strong>de</strong> ser un lugar <strong>de</strong> observación si se <strong>con</strong>si<strong>de</strong>ra <strong>de</strong> modo inverso).<br />

Aqui pue<strong>de</strong>s ver, por ejemplo, un resultado utilizando el modo Distancia<br />

10.19. Área real vs. área planimétrica<br />

Supón que quieres calcular el área ocupada por un tipo <strong>de</strong> terreno, la cual se halla en un<br />

número n <strong>de</strong> celdas. Para hacerlo, calculas el área <strong>de</strong> una sola celda (que será igual al cuadrado<br />

<strong>de</strong> su tamaño <strong>de</strong> celda) y la multiplicas por n. Sin embargo, <strong>de</strong> este modo estás asumiendo<br />

que todas las celdas tiene el mismo área o, <strong>de</strong> otro modo, que el terreno es completamente<br />

plano. Lo que calculas así es la <strong>de</strong>nominada área planimétrica, pero no el área real.<br />

<strong>La</strong> superficie real pue<strong>de</strong> calcularse <strong>con</strong>ociendo el área <strong>de</strong> una sola celda y utilizando un<br />

mapa <strong>de</strong> pendientes. Con unas pocas operaciones sencillas, esto pue<strong>de</strong> llevarse a cabo mediante<br />

la calculadora <strong>de</strong> mapas, aunque <strong>SEXTANTE</strong> incluye un módulo que pue<strong>de</strong> hacer todo eso<br />

por ti <strong>de</strong> forma automática. A<strong>de</strong>más, no es necesario que calcules <strong>de</strong> antemano un mapa <strong>de</strong><br />

pendientes. Simplemente introduce un MDT y ya está.<br />

En<strong>con</strong>trarás el módulo para realizar este cálculo en Morfometría/ Área Real. El resultado<br />

<strong>de</strong>l mismo utilizando el MDT <strong>de</strong> ejemplo <strong>con</strong> el que venimos trabajando es el siguiente.


182 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

Ahora probablemente te preguntes para qué pue<strong>de</strong> servir una capa así. Para respon<strong>de</strong>r a<br />

esta cuestión, cito las palabras <strong>de</strong> Joseph Berry, uno <strong>de</strong> los gran<strong>de</strong>s gurús <strong>de</strong>l <strong>análisis</strong> raster:<br />

Supón que necesitas <strong>de</strong>terminar la cantidad <strong>de</strong> pesticida necesario para fumigar a<br />

lo largo <strong>de</strong> una ruta dada, o estimar la cantidad <strong>de</strong> semilla para una reforestación,<br />

o tratas <strong>de</strong> estimar la infiltración superficial en un terreno abrupto. No olvi<strong>de</strong>s<br />

que los cálculos sencillos <strong>de</strong> área o distancia pue<strong>de</strong>n subestimar significativamente<br />

las <strong>con</strong>diciones reales. Si no, pregúntale a un excursionista exhausto que haya<br />

caminado cinco millas planimétricas en las Rocosas <strong>de</strong> Colorado.<br />

<strong>La</strong> relación entre la superficie real y la planimétrica pue<strong>de</strong> servir como un indicador <strong>de</strong> la<br />

rugosidad <strong>de</strong>l relieve. Como ejercicio, pue<strong>de</strong>s crear una capa <strong>con</strong>stante <strong>con</strong> valor igual al área<br />

<strong>de</strong> una celda, y emplear <strong>de</strong>spués la calculadora <strong>de</strong> mapas para obtener una nueva capa <strong>con</strong><br />

una estimación <strong>de</strong> la rugosidad.<br />

10.20. Un índice <strong>de</strong> protección basado en la morfometría <strong>de</strong>l<br />

terreno<br />

<strong>La</strong> morfometría <strong>de</strong>l terreno <strong>con</strong>diciona la protección <strong>de</strong> las distintas zonas <strong>de</strong>l mismo, lo<br />

cual es indudablemente importante para las características ecológicas <strong>de</strong> la misma. Un <strong>análisis</strong><br />

<strong>de</strong>l MDT en cierta medida similar al que venimos realizando hasta el momento nos pue<strong>de</strong> dar<br />

una i<strong>de</strong>a <strong>de</strong> dichas características y ser empleado para el estudio ecológico <strong>de</strong> la zona.<br />

Un ejemplo <strong>de</strong> un sencillo índice <strong>de</strong> protección lo en<strong>con</strong>tramos en <strong>SEXTANTE</strong> <strong>con</strong> el<br />

módulo Índice <strong>de</strong> Protección <strong>de</strong>ntro <strong>de</strong>l grupo Morfometría.<br />

Con el MDT como única entrada, y un valor <strong>de</strong> radio (en unida<strong>de</strong>s <strong>de</strong> mapa), el módulo<br />

analiza el entorno inmediato <strong>de</strong> cada celda hasta una distancia igual a dicho radio y evalúa<br />

cómo el relieve ✭✭protege✮✮ a la misma. Como es habitual, a mayor radio, mayor tiempo <strong>de</strong><br />

ejecución.


10.21. PERFILES 183<br />

Aquí tienes un ejemplo <strong>de</strong>l resultado obtenido para nuestro MDT habitual <strong>de</strong> trabajo <strong>con</strong><br />

una radio <strong>de</strong> 200 metros.<br />

Pue<strong>de</strong>s ver que el tamaño <strong>de</strong> esta capa es distinto <strong>de</strong>l MDT original. En función <strong>de</strong>l radio<br />

que utilices, las celdas que estén a una distancia <strong>de</strong>l bor<strong>de</strong> menor que dicho radio tomarán<br />

valor <strong>de</strong> sin datos, ya que el módulo interpreta que no pue<strong>de</strong> en ellas calcularse correctamente<br />

el índice <strong>de</strong> protección, al no disponer <strong>de</strong> la información necesaria.<br />

10.21. Perfiles<br />

Calcular perfiles es una tarea que pue<strong>de</strong> llevarse a cabo <strong>con</strong> casi cualquier SIG, y SEXTAN-<br />

TE no es una excepción. Es más, como ya es habitual, <strong>SEXTANTE</strong> aña<strong>de</strong> a sus capacida<strong>de</strong>s<br />

algunas formas <strong>de</strong> perfiles no muy comunes (o incluso completamente <strong>de</strong>s<strong>con</strong>ocidas) en el resto<br />

<strong>de</strong> Sistemas <strong>de</strong> Información Geográfica similares.<br />

Imagina que quieres ir <strong>de</strong>s<strong>de</strong> un punto A hasta otro B, y que tienes el MDT <strong>de</strong>l área en la<br />

que ambos puntos se encuentran situados. Pue<strong>de</strong> ser interesante <strong>con</strong>ocer si la línea que <strong>con</strong>ecta<br />

ambos puntos (o incluso una ruta compuesta por una serie <strong>de</strong> segmentos lineales) pasa por<br />

terreno llano o si tendrás que subir pendientes empinadas en tu recorrido. Un perfil longitudinal<br />

<strong>de</strong> dicha ruta pue<strong>de</strong> ser un elemento sumamente interesante en estas circunstancias.<br />

Ahora imagina que estas estudiando un cauce y quieres estudiar un parámetro dado (cuya<br />

información se encuentra almacenada en una capa raster aparte) a lo largo <strong>de</strong>l recorrido <strong>de</strong><br />

dicho cauce. Un perfil longitudinal <strong>de</strong>l mismo y la evolución <strong>de</strong> los valores a medida que<br />

<strong>de</strong>scen<strong>de</strong>mos aguas abajo por el cauce es un resultado que aportaría mucha información al<br />

respecto para este estudio.<br />

Para los dos casos anteriores, <strong>SEXTANTE</strong> incluye algunos sencillos (aunque potentes)<br />

módulos para trabajar <strong>con</strong> distintos tipos <strong>de</strong> perfiles, los cuales serán explicados en esta sección<br />

junto a algunos otros <strong>de</strong>sarrollados para solucionar otras necesida<strong>de</strong>s similares.<br />

En<strong>con</strong>trarás estos módulos en la sección Análisis <strong>de</strong>l Terreno/Perfiles.<br />

Hay tres formas <strong>de</strong> <strong>de</strong>finir la ruta para un perfil: dibujarla sobre un mapa como un <strong>con</strong>junto<br />

<strong>de</strong> segmentos <strong>con</strong>ectados, introducir un único punto y <strong>de</strong>jar que <strong>de</strong>s<strong>de</strong> dicho punto el módulo<br />

trace automáticamente el perfil <strong>de</strong>splazándose hacia aguas abajo, o bien emplear una capa<br />

don<strong>de</strong> dicho perfil ya se encuentre <strong>de</strong>finido. Como probablemente ya puedas imaginar, esas<br />

dos primeras alternativas requieren interacción directa por parte <strong>de</strong>l usuario y se encuentran,<br />

por tanto, implementadas en sendos módulos interactivos.<br />

Empecemos <strong>con</strong> el primer caso.


184 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

10.21.1. Un perfil típico<br />

Para <strong>de</strong>finir un perfil introduciendo una serie <strong>de</strong> puntos que <strong>con</strong>stituyen los extremos <strong>de</strong><br />

los segmentos <strong>de</strong> la ruta a seguir, selecciona el módulo <strong>de</strong>nominado Perfil.<br />

Ésta es su ventana <strong>de</strong> parámetros.<br />

Necesitas una capa base, que <strong>de</strong>bes seleccionar en el campo MDT. Aunque originalmente<br />

está pensado para utilizarse sobre un MDT, y será así como más frecuentemente lo utilices,<br />

no hay nada que te impida utilizar en este campo una capa <strong>con</strong> otra variable cualquiera, si<br />

así lo necesitas.<br />

De cualquier forma, si te interesa <strong>con</strong>ocer los valores <strong>de</strong> otras variables <strong>con</strong>tenidas en<br />

distintas capas, pue<strong>de</strong>s seleccionar dichas capas en la lista <strong>de</strong>l campo Valores<br />

Con esa información, <strong>SEXTANTE</strong> creará una tabla <strong>con</strong> los valores <strong>de</strong> todas las celdas<br />

por las cuales pasa la ruta introducida (la crearemos en breve, esa es la segunda parte). <strong>La</strong><br />

tabla <strong>con</strong>tiene coor<strong>de</strong>nadas X e Y <strong>de</strong> los puntos, su elevación, y la distancia acumulada <strong>de</strong>s<strong>de</strong><br />

el origen (el primer punto), así como los valores <strong>de</strong> dichas celdas en las capas adicionales<br />

especificadas.<br />

Esta tabla se asigna como tabla <strong>de</strong> atributos a dos capas vectoriales que se generan como<br />

resultado <strong>de</strong>l módulo, ambas <strong>con</strong>teniendo la misma información, pero siendo una <strong>de</strong> ellas <strong>de</strong><br />

puntos mientras que la otra es <strong>de</strong> líneas (<strong>con</strong> una única línea en este caso).<br />

Cierra la ventana haciendo clic en Aceptar y comencemos a introducir puntos para dar<br />

forma a esa ruta. Para añadir un punto, simplemente haz clic <strong>con</strong> el botón izquierdo <strong>de</strong>l ratón<br />

sobre una representación <strong>de</strong> mapa que <strong>con</strong>tenga el MDT. Después <strong>de</strong> introducir el primer<br />

punto, a medida que te muevas verás una línea que une el último punto <strong>con</strong> la posición <strong>de</strong>l<br />

ratón actual, <strong>de</strong> modo similar a la edición <strong>de</strong> una capa vectorial que vimos algunos capítulos<br />

atrás.<br />

Selecciona todos los puntos que necesites, y una vez <strong>de</strong>finida la ruta haz doble clic para<br />

cerrarla.<br />

Recuerda que el módulo interactivo sigue ejecutándose aun habiendo ya generado resultados,<br />

y si vuelves a hacer clic sobre un mapa comenzarás <strong>de</strong> nuevo la <strong>de</strong>finición <strong>de</strong> una ruta<br />

(cuyos resultados sobreescribirán los anteriores).<br />

Aquí pue<strong>de</strong>s ver un perfil típico sobre el mapa.


10.21. PERFILES 185<br />

Y aquí el mismo pero representado a través <strong>de</strong> la capa <strong>de</strong> puntos en lugar <strong>de</strong> la <strong>de</strong> líneas<br />

Si abres la tabla <strong>de</strong> esta última capa vectorial, en<strong>con</strong>trarás algo como lo siguiente.<br />

10.21.2. Un perfil a lo largo <strong>de</strong> una línea <strong>de</strong> flujo<br />

A pesar <strong>de</strong> que el perfil anterior es muy útil, en el caso <strong>de</strong> trabajar <strong>con</strong> ríos es mucho más<br />

recomendable <strong>de</strong>jar que sea el propio <strong>SEXTANTE</strong> quien <strong>de</strong>fina la ruta aseguir, ya que no sólo


186 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

es más rápido y cómodo, sino también más preciso (verás claramente esta diferencia cuando<br />

veas la capa <strong>de</strong> líneas resultante).<br />

Para crear este tipo <strong>de</strong> perfiles, selecciona el módulo Perfil según línea <strong>de</strong> flujo. Ahora,<br />

cuando seleccionas un punto, <strong>SEXTANTE</strong> calcula la ruta <strong>de</strong>l flujo hacia aguas abajo. El<br />

proceso se <strong>de</strong>tiene cuando se alcanza una celda sin datos, una <strong>de</strong>presión (en caso <strong>de</strong> que<br />

tengamos un MDT sin preprocesar), o bien uno <strong>de</strong> los límites <strong>de</strong> la capa. Al igual que en el<br />

caso anterior, se generan como resultado dos capas <strong>de</strong> puntos y líneas, <strong>con</strong>teniendo la misma<br />

información en su tabla <strong>de</strong> atributos que en el caso <strong>de</strong>l módulo anterior.<br />

A <strong>con</strong>tinuación pue<strong>de</strong>s ver una <strong>de</strong> dichas capas sobre el fondo <strong>de</strong>l MDT.<br />

10.21.3. Un perfil a lo largo <strong>de</strong> una ruta ya <strong>de</strong>finida<br />

Pese a que las anteriores alternativas parecen suficientes, en ocasiones pue<strong>de</strong>s tener la ruta<br />

ya previamente <strong>de</strong>finida y almacenada, y no necesitar <strong>de</strong> modo alguno introducirla <strong>de</strong> nuevo<br />

mediante las capacida<strong>de</strong>s interactivas <strong>de</strong> los módulos mostrados. Éste será el caso, por ejemplo,<br />

si quieres analizar el perfil a lo largo <strong>de</strong> una carretera cuyo recorrido tienes guardado en una<br />

capa vectorial <strong>de</strong> líneas. También para este caso <strong>SEXTANTE</strong> tiene un módulo <strong>con</strong>creto. Este<br />

módulo en cuestión se llama Perfil a Partir <strong>de</strong> Coor<strong>de</strong>nadas, y a <strong>con</strong>tinuación pue<strong>de</strong>s ver su<br />

ventana <strong>de</strong> parámetros.<br />

<strong>La</strong> forma en la que <strong>de</strong>be en<strong>con</strong>trarse almacenada la ruta es mediante una tabla <strong>con</strong> coor<strong>de</strong>nadas<br />

X e Y <strong>de</strong> los puntos por los que pasa. Es <strong>de</strong>cir, en lugar <strong>de</strong> un clic para cada uno<br />

<strong>de</strong> dichos puntos como en el módulo interactivo, se precisa un registro en una tabla. <strong>La</strong> tabla<br />

pue<strong>de</strong> crearse sencillamente <strong>de</strong>s<strong>de</strong> cero, generarse en una hoja <strong>de</strong> cálculo y <strong>de</strong>spués importarse,<br />

o bien, como veremos más a<strong>de</strong>lante, usar algunos módulos para generarla a partir <strong>de</strong>, por<br />

ejemplo, una capa vectorial <strong>de</strong> líneas.<br />

Selecciona la tabla en el campo correspondiente y especifica qué campos <strong>de</strong> la misma<br />

<strong>con</strong>tiene las coor<strong>de</strong>nadas a seguir para recorrer la ruta. Selecciona la capa <strong>con</strong> el MDT u otra


10.21. PERFILES 187<br />

información que <strong>de</strong>sees registrar para las celdas por las que pasa la ruta. En este caso sólo es<br />

posible utilizar una capa.<br />

El resultado es únicamente una tabla <strong>con</strong> los valores <strong>de</strong> la capa seleccionada, que <strong>con</strong>tiene<br />

tantos registros como celdas por las que la ruta discurre.<br />

El número <strong>de</strong> registros no tiene que ser igual al <strong>de</strong> puntos <strong>de</strong> la tabla <strong>con</strong> coor<strong>de</strong>nadas, ya<br />

que si éstos se encuentran alejados, el módulo interpola y toma todos los valores <strong>de</strong> las celdas<br />

situadas entre ellos.<br />

Con las tablas creadas <strong>con</strong> cualquiera <strong>de</strong> estos tres módulos pue<strong>de</strong>s generar un gráfico para<br />

visualizar el perfil, tal como el mostrado a <strong>con</strong>tinuación.<br />

10.21.4. Secciones transversales<br />

A<strong>de</strong>más <strong>de</strong> po<strong>de</strong>r calcular perfiles longitudinales a lo largo <strong>de</strong> una ruta mediante los módulos<br />

que acabamos <strong>de</strong> ver, <strong>SEXTANTE</strong> también incluye un módulo para, basándose igualmente<br />

en el MDT, trabajar <strong>con</strong> secciones transversales (es <strong>de</strong>cir, perfiles <strong>de</strong> un ancho fijo y perpendiculares<br />

a dicha ruta). Estas secciones transversales pue<strong>de</strong>n emplearse para mo<strong>de</strong>lización<br />

hidráulica (programas habituales para ello tales como HEC–RAS requieren este tipo <strong>de</strong> datos<br />

<strong>de</strong> entrada) o para el diseño <strong>de</strong> carreteras y el cálculo <strong>de</strong> volúmenes <strong>de</strong> <strong>de</strong>smonte y terraplén,<br />

entre otras tareas.<br />

Especialmente para el caso <strong>de</strong> la mo<strong>de</strong>lización hidráulica, es necesario recordar que se<br />

necesita un MDT muy preciso (mucho más que el proporcionado <strong>con</strong> ejemplo, ya que <strong>de</strong>bería<br />

trabajarse <strong>con</strong> un tamaño <strong>de</strong> celda <strong>de</strong> 5 metros como máximo). En caso <strong>con</strong>trario, y salvo que<br />

se pretenda mo<strong>de</strong>lizar un río <strong>de</strong> un tamaño enorme, los resultados obtenidos no serán muy<br />

precisos.


188 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

El módulo a utilizar para cualquiera <strong>de</strong> estas labores se <strong>de</strong>nomina Secciones Transversales,<br />

y su ventana <strong>de</strong> parámetros la pue<strong>de</strong>s ver a <strong>con</strong>tinuación.<br />

En esta ocasión la ruta no es <strong>de</strong>finida por <strong>SEXTANTE</strong>, ni se introduce a mano, ni se<br />

encuentra almacenada en una tabla. <strong>La</strong> ruta es sencillamente una capa <strong>de</strong> líneas (a introducir<br />

en el campo Ruta), la cual, junto <strong>con</strong> el número <strong>de</strong> puntos a tomar en la sección (en el campo<br />

Número <strong>de</strong> puntos) y el intervalo <strong>de</strong> distancia a utilizar para tomar dichos puntos (campo<br />

Intervalo), <strong>con</strong>stituye la única información necesaria. Por supuesto, también el imprescindible<br />

MDT <strong>de</strong>be especificarse. Nótese que el número <strong>de</strong> puntos y el intervalo <strong>de</strong> distancia <strong>de</strong>finen<br />

el ancho <strong>de</strong> la sección.<br />

En la ventana <strong>de</strong> parámetros en<strong>con</strong>trarás otro campos y un bloque <strong>de</strong>nominado Documentos<br />

en PDF. más a<strong>de</strong>lante veremos para que valen, pero por el momento po<strong>de</strong>mos generar un<br />

resultado completo únicamente <strong>con</strong> los parámetros comentados.<br />

Ejecutar el módulo genera una nueva capa <strong>de</strong> líneas en la cual se <strong>con</strong>tienen las secciones<br />

transversales, cada una <strong>de</strong> ellas situada en el punto medio <strong>de</strong> cada segmento <strong>de</strong>finido por dos<br />

puntos sucesivos <strong>de</strong> la capa <strong>de</strong> la ruta. En la siguiente imagen pue<strong>de</strong>s ver la capa <strong>de</strong> la ruta<br />

sobre el MDT (en el lado izquierdo), y las dos anteriores junto a la capa generada <strong>de</strong> secciones<br />

(a la <strong>de</strong>recha).<br />

<strong>La</strong> parte más interesante <strong>de</strong> los resultados es, no obstante, la tabla <strong>de</strong> atributos <strong>de</strong> esta<br />

última capa, que <strong>con</strong>tiene las secciones en sí <strong>de</strong>finidas por las elevaciones <strong>de</strong> los puntos tomados<br />

<strong>de</strong>ntro <strong>de</strong> las mismas.


10.21. PERFILES 189<br />

Para cada registro (que representa a una única sección), en<strong>con</strong>trarás un número <strong>de</strong> campos<br />

que <strong>de</strong>pen<strong>de</strong> <strong>de</strong>l número <strong>de</strong> puntos seleccionado como parámetro <strong>de</strong> partida. Si un punto cae<br />

fuera <strong>de</strong>l MDT, el valor asociado al mismo en la tabla será el valor <strong>de</strong> sin datos <strong>de</strong>l MDT (en<br />

este caso, el valor por <strong>de</strong>fecto: -99999);<br />

Un uso típico <strong>de</strong> este módulo <strong>con</strong>siste en calcular en primer lugar un perfil según una línea<br />

<strong>de</strong> flujo (usando el módulo correspondiente), y <strong>de</strong>spués emplear la capa vectorial resultante (la<br />

<strong>de</strong> líneas), como entrada para el módulo <strong>de</strong> secciones transversales. Sin embargo, haciéndolo<br />

<strong>de</strong> este modo, el perfil <strong>con</strong>tendrá muchos puntos y, por tanto, el módulo generará una cantidad<br />

enorme <strong>de</strong> secciones transversales, muy juntas entre sí, en ocasiones incluso superponiéndose<br />

unas a otras. Este hecho también se pue<strong>de</strong> dar si las secciones son muy anchas, como se pue<strong>de</strong><br />

apreciar en la siguiente figura.<br />

Para evitar esto, hay un parámetro <strong>de</strong>nominado n, que <strong>de</strong>fine la frecuencia <strong>de</strong> secciones<br />

transversales a lo largo <strong>de</strong> la ruta. Un valor <strong>de</strong> 1 (el establecido por <strong>de</strong>fecto), genera una<br />

sección para cada uno <strong>de</strong> los segmentos <strong>de</strong>finidos en la ruta (igual al número <strong>de</strong> puntos <strong>de</strong> la<br />

línea menos uno). Un valor <strong>de</strong>, por ejemplo, 10, hace que el módulo genere una única sección<br />

cada diez puntos, reduciendo así el número <strong>de</strong> las mismas.<br />

Veremos en breve un módulo que permite ✭✭simplificar✮✮ una capa <strong>de</strong> líneas, reduciendo<br />

el número <strong>de</strong> puntos que <strong>con</strong>tiene. De esta forma, se tiene una <strong>de</strong>finición menos precisa <strong>de</strong><br />

esas líneas, la cual pue<strong>de</strong> ser utilizada para procesos tales como interpolar a partir <strong>de</strong> dichas<br />

líneas una capa raster (veremos que no siempre un número mayor <strong>de</strong> puntos implica un mejor<br />

resultado en la interpolación), y también para obtener secciones transversales sin que el número


190 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

<strong>de</strong> éstas sea <strong>de</strong>sbordante. Sin embargo, simplificar líneas pue<strong>de</strong> tener algunas <strong>con</strong>secuencias no<br />

<strong>de</strong>seadas. Por ejemplo, en el caso <strong>de</strong> trabajar <strong>con</strong> una línea <strong>de</strong> flujo, puesto que las secciones<br />

se calculan en el punto medio <strong>de</strong> cada segmento, pue<strong>de</strong> ser que dicho punto caiga fuera <strong>de</strong>l<br />

trazado natural <strong>de</strong>l cauce, especialmente en el caso <strong>de</strong> haber aplicado a la capa <strong>de</strong> líneas una<br />

modificación importante.<br />

<strong>La</strong> sección transversal en dicho punto no es una sección que podamos utilizar para la mo<strong>de</strong>lización<br />

hidrológica <strong>de</strong>l cauce, así que si tienes intención <strong>de</strong> darle este uso <strong>de</strong>bes comprobar<br />

<strong>con</strong> cuidado que esto no suceda o, mejor aún, utilizar un valor más elevado <strong>de</strong>l parámetro n<br />

en lugar <strong>de</strong> emplear la capa simplificada.<br />

Después <strong>de</strong> lo anterior, y <strong>de</strong> haber visto las capacida<strong>de</strong>s básicas <strong>de</strong>l módulo, veamos ahora<br />

otras posibilida<strong>de</strong>s que el mismo nos brinda, entre las cuales se encuentran algunas <strong>de</strong> las más<br />

interesantes. Si recuerdas, hay un grupo <strong>de</strong> parámetros <strong>de</strong>nominado Documentos en PDF<br />

<strong>de</strong>l cual habíamos prescindido en su momento. Si <strong>de</strong>seas calcular secciones transversales para<br />

luego estudiar movimientos <strong>de</strong> tierra en el diseño <strong>de</strong> una vía, el módulo pue<strong>de</strong> no sólo darnos<br />

los valores <strong>de</strong> esas secciones, sino también calcular volúmenes y perfiles óptimos <strong>de</strong> la vía y<br />

darle formato para generar un documento PDF listo para usar. Y todo ello <strong>con</strong> apenas un<br />

puñado <strong>de</strong> parámetros más. ¿Sorpren<strong>de</strong>nte, verdad?<br />

Esta capacidad es una <strong>de</strong> las más <strong>de</strong>stacadas <strong>de</strong> <strong>SEXTANTE</strong>, y una <strong>de</strong> las que le diferencia<br />

<strong>de</strong> otros SIGs. Ya <strong>con</strong>ocemos la generación <strong>de</strong> PDFs como parte integrante <strong>de</strong>l núcleo <strong>de</strong><br />

<strong>SEXTANTE</strong>, puesto que la vimos a la hora <strong>de</strong> generar familias <strong>de</strong> planos, algunos capítulos<br />

atrás. Lejos <strong>de</strong> ser tan solo una funcionalidad puntual, la generación <strong>de</strong> documentos en PDF<br />

(<strong>con</strong>tengan estos texto, gráficos o mapas) esta implementada <strong>de</strong> forma accesible en el núcleo<br />

<strong>de</strong> la aplicación y pue<strong>de</strong> ser aprovechada <strong>de</strong> forma muy sencilla por los <strong>de</strong>sarrolladores para<br />

añadirla a sus módulos, como suce<strong>de</strong> en este caso. El motor <strong>de</strong> documentación <strong>de</strong> <strong>SEXTANTE</strong><br />

se explica <strong>con</strong> <strong>de</strong>talle en el capítulo <strong>de</strong>dicado a la programación <strong>de</strong> módulos, para todo aquel<br />

que esté interesado.<br />

Antes <strong>de</strong> analizar la manera <strong>de</strong> <strong>con</strong>figurar la salida en PDF, veamos cómo es, en líneas<br />

generales, el documento generado. He aquí algunas <strong>de</strong> sus páginas.<br />

Como pue<strong>de</strong>s ver en ellas, hay un perfil longitudinal, un <strong>con</strong>junto <strong>de</strong> secciones transversales<br />

y una tabla <strong>de</strong> volúmenes al final.<br />

Al crear este documento el módulo realiza asimismo algunas operaciones adicionales como,<br />

por ejemplo, calcular la elevación óptima <strong>de</strong> la vía o añadir cunetas a los lados <strong>de</strong> la misma<br />

cuando esto es necesario.


10.22. CÁLCULO DE VOLÚMENES 191<br />

Ajustar los parámetros necesarios para <strong>con</strong>figurar a<strong>de</strong>cuadamente estos documentos es<br />

bien sencillo. Simplemente selecciona una carpeta para el fichero <strong>de</strong> salida (<strong>con</strong> el nombre <strong>de</strong><br />

secciones.pdf), introduce el ancho <strong>de</strong> la calzada y selecciona el campo Crear Documentos en<br />

PDF. Para <strong>con</strong>figurar cómo se calcula el perfil óptimo, modifica el umbral en el campo Umbral<br />

<strong>de</strong> altura. Ésta será la máxima diferencia admisible entre la elevación <strong>de</strong>l terreno actual y la<br />

<strong>de</strong> la vía una vez se efectúen los movimientos <strong>de</strong> tierra pertinentes.<br />

Éste ha sido tu primer <strong>con</strong>tacto <strong>con</strong> el motor <strong>de</strong> documentación <strong>de</strong> <strong>SEXTANTE</strong> implementado<br />

en un módulo. Veremos otros módulos que hacen uso <strong>de</strong> él en posteriores capítulos<br />

<strong>de</strong> este libro.<br />

10.22. Cálculo <strong>de</strong> volúmenes<br />

El cálculo <strong>de</strong> volúmenes <strong>de</strong> tierra es una <strong>de</strong> las tareas más sencillas y útiles a realizar<br />

<strong>con</strong> un MDT. Como hemos visto, la información <strong>de</strong> elevaciones <strong>con</strong>tenida en el MDT pue<strong>de</strong><br />

servir para calcular volúmenes <strong>de</strong> <strong>de</strong>smonte y terraplén, tal y como sucedía en el último módulo<br />

analizado. Con una similar filosofía, pue<strong>de</strong>n calcularse volúmenes globales para toda una capa,<br />

utilizando para ello el módulo Volumen.<br />

Éste es otro <strong>de</strong> esos cálculos que pue<strong>de</strong>n llevarse a cabo haciendo uso <strong>de</strong> la calculadora<br />

<strong>de</strong> mapas (probablemente el módulo más versátil y útil <strong>de</strong> cuantos se <strong>con</strong>tienen en SEX-<br />

TANTE), pero que resultan mucho más cómodos <strong>de</strong> realizar a través <strong>de</strong> un módulo diseñado<br />

especialmente a tal efecto.<br />

Seleccionando el MDT como única capa <strong>de</strong> entrada y una altura base, existen cuatro<br />

alternativas para evaluar el volumen total, en función <strong>de</strong> cómo se <strong>con</strong>tabilicen los volúmenes<br />

por encima y por <strong>de</strong>bajo <strong>de</strong> dicha altura base.<br />

Sólo volúmenes sobre la línea base. Sólo se suman al total los volúmenes superiores. Los<br />

inferiores se ignoran.<br />

Sólo volúmenes bajo la línea base. Sólo se suman al total los volúmenes inferiores. Los<br />

superiores se ignoran.<br />

Restar volúmenes bajo la línea base. Se <strong>con</strong>tabilizan los volúmenes superiores y se <strong>de</strong>scuentan<br />

los inferiores.<br />

Sumar volúmenes bajo la línea base. Se <strong>con</strong>tabilizan tanto los volúmenes superiores como<br />

los inferiores, ambos <strong>con</strong> signo positivo.<br />

Te sorpren<strong>de</strong>rá que este módulo no tiene en su ventana <strong>de</strong> parámetros ningún campo <strong>de</strong><br />

salida. Ello es <strong>de</strong>bido a que su único resultado es un valor sencillo <strong>de</strong> volumen, expresado<br />

en las mismas unida<strong>de</strong>s que el tamaño <strong>de</strong> celda (por supuesto, al cubo), y dicho resultado<br />

se muestra al final <strong>de</strong> la ejecución <strong>de</strong>l módulo en un pequeño cuadro <strong>de</strong> diálogo como el<br />

siguiente.


192 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

Este valor queda también en la ventana <strong>de</strong> información, para posteriores <strong>con</strong>sultas.<br />

10.23. Análisis completo<br />

Muchos son los módulos que hemos visto hasta el momento relativos al <strong>análisis</strong> <strong>de</strong>l terreno,<br />

una gran parte <strong>de</strong> los cuales basan su trabajo solamente en el MDT como fuente básica <strong>de</strong><br />

información. En un estudio habitual en el que se incluya una parte <strong>de</strong> <strong>análisis</strong> <strong>de</strong>l terreno,<br />

las capas <strong>de</strong> información necesarias no se crean <strong>con</strong> uno solo <strong>de</strong> estos módulos, sino que su<br />

generación pue<strong>de</strong> implicar el empleo <strong>de</strong> varios. Este empleo, a<strong>de</strong>más, pue<strong>de</strong> ser secuencial, <strong>de</strong><br />

tal modo que los resultados <strong>de</strong> un módulo sirvan para alimentar a otro, como ya hemos visto.<br />

Para automatizar en cierta medida este proceso y reunir en una sola tarea la obtención <strong>de</strong><br />

un número <strong>de</strong> capas más que suficiente para completar la mayoría <strong>de</strong> los estudios, existe un<br />

modulo <strong>de</strong>nominado Análisis Completo.


10.24. ANÁLISIS DEL TERRENO CON TINS 193<br />

Como pue<strong>de</strong>s ver, la única capa <strong>de</strong> entrada es el MDT, mientras que las capas <strong>de</strong> salida son<br />

muy numerosas. Lo que hace el módulo es tomar el MDT y llamar a los módulos implicados<br />

en crear las capas resultado, accediendo a ellos <strong>de</strong> modo interno sin que el usuario <strong>de</strong>ba<br />

preocuparse por ello 1 . Puesto que todos los parámetros y salidas son las <strong>de</strong> esos módulos<br />

a los que llama, no necesitan explicación. Existe, no obstante, un parámetro nuevo que no<br />

aparece en dichos módulos, <strong>de</strong>nominado Densidad. Para <strong>de</strong>finir la red <strong>de</strong> drenaje, en lugar <strong>de</strong><br />

un umbral, simplemente señala la <strong>de</strong>nsidad final <strong>de</strong> dicha red y el módulo hará el resto.<br />

Probablemente eches en falta otros parámetros. En lugar <strong>de</strong> recoger todas las posibles<br />

variables <strong>de</strong> ajuste aquí, muchos <strong>de</strong> ellos se asignan por <strong>de</strong>fecto a sus valores más habituales,<br />

simplificando así todavía más la generación <strong>de</strong> toda esta batería <strong>de</strong> capas <strong>de</strong> <strong>análisis</strong> <strong>de</strong>l<br />

terreno. Si <strong>de</strong>seas ajustar <strong>de</strong> otro modo alguno <strong>de</strong> estos parámetros, simplemente ve al módulo<br />

correspondiente y ejecútalo <strong>de</strong> forma in<strong>de</strong>pendiente.<br />

10.24. Análisis <strong>de</strong>l terreno <strong>con</strong> TINs<br />

Como ya vimos algunos capítulos atrás, <strong>SEXTANTE</strong> incluye un tipo <strong>de</strong> datos distinto <strong>de</strong><br />

las capas raster y las vectoriales: los TINs o re<strong>de</strong>s <strong>de</strong> triángulos irregulares. Ya se dijo que<br />

los TINs son utilizados principalmente como alternativas a los MDTs raster, ya que su uso<br />

primordial es para el <strong>análisis</strong> <strong>de</strong>l terreno. Por ello, la <strong>de</strong>scripción <strong>de</strong> los módulos que trabajan<br />

<strong>con</strong> TINs al final <strong>de</strong> este capítulo está más que justificada.<br />

El uso más interesante <strong>de</strong> los TINs se da en el <strong>análisis</strong> y representación <strong>de</strong> terrenos,<br />

especialmente en áreas gran<strong>de</strong>s o <strong>con</strong> abundantes zonas llanas. ¿Por qué? Bueno, los TINs son<br />

irregulares (<strong>de</strong> ahí su nombre), lo que significa que el número <strong>de</strong> puntos necesarios para <strong>de</strong>finir<br />

un terreno <strong>de</strong>pen<strong>de</strong> <strong>de</strong> sus propias características. <strong>La</strong>s zonas planas requieren menor número <strong>de</strong><br />

1 Si estás interesado en programar módulos para <strong>SEXTANTE</strong>, éste es el ejemplo i<strong>de</strong>al <strong>de</strong> como ✭✭reutilizar✮✮<br />

módulos ya existentes llamándolos <strong>de</strong>s<strong>de</strong> otros. Mira su código si <strong>de</strong>seas ver cómo se hace esto.


194 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

puntos representativos, mientras que para <strong>de</strong>scribir un área montañosa son necesarios muchos<br />

más, <strong>con</strong> objeto <strong>de</strong> preservar la complejidad <strong>de</strong>l relieve <strong>de</strong> las mismas.<br />

Al trabajar <strong>con</strong> zonas <strong>de</strong> gran extensión, el uso <strong>de</strong> una estructura regular como una malla<br />

raster necesita una gran cantidad <strong>de</strong> memoria. Pue<strong>de</strong>s aumentar el tamaño <strong>de</strong> celda, pero<br />

pier<strong>de</strong>s <strong>de</strong>talle, y a<strong>de</strong>más éste se pier<strong>de</strong> por igual en toda la extensión <strong>de</strong> la capa, sea llano el<br />

terreno o no. En este caso, un TIN pue<strong>de</strong> ser una interesante alternativa.<br />

El uso <strong>de</strong> TINs también <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la finalidad que se le pretenda dar. Si se necesitan<br />

resultados precisos <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista hidrológico, un MDT es la opción a elegir, y la<br />

que particularmente recomiendo en todos los casos. Si, por ejemplo, se necesita la información<br />

<strong>de</strong> elevación para crear una escena 3D, un TIN pue<strong>de</strong> suponer una alternativa más rápida y<br />

manejable.<br />

En esta sección no solo veremos cómo extraer parámetros morfométricos e hidrológicos a<br />

partir <strong>de</strong> un TIN, sino también cómo crearlo a partir <strong>de</strong> otros tipos <strong>de</strong> datos. A pesar <strong>de</strong> que no<br />

son tan numerosos como los módulos para el <strong>análisis</strong> a partir <strong>de</strong> un MDT raster, los módulos<br />

relacionados <strong>con</strong> los TINs que se incluyen en <strong>SEXTANTE</strong> tienen también unas capacida<strong>de</strong>s<br />

muy interesantes, y utilizados en <strong>con</strong>junto <strong>con</strong> otros pue<strong>de</strong>n proporcionar soluciones válidas y<br />

prácticas a un buen numero <strong>de</strong> problemas.<br />

10.24.1. Crear un TIN a partir <strong>de</strong> una capa raster<br />

Tenemos dos opciones para crear un TIN a partir <strong>de</strong> la información <strong>con</strong>tenida en una capa<br />

raster. Una <strong>de</strong> ellas es más compleja pero da lugar a mejores resultados, puesto que aprovecha<br />

la irregularidad inherente a los TINS. Veamos lo que esto significa <strong>con</strong> más <strong>de</strong>talle.<br />

Antes <strong>de</strong> empezar a utilizar cualquiera <strong>de</strong> los módulos <strong>de</strong> esta sección, es interesante que<br />

crees una versión más ✭✭manejable✮✮ <strong>de</strong> nuestro MDT habitual. Algunos <strong>de</strong> los módulos que<br />

trabajan <strong>con</strong> TINs son lentos, especialmente los que crean TINs a partir <strong>de</strong> otros tipos <strong>de</strong><br />

datos, por lo que manejar una capa raster más reducida pue<strong>de</strong> ser una ventaja a la hora <strong>de</strong><br />

probar y ensayar según sigues los pasos <strong>de</strong> este manual. Para crear esta capa pue<strong>de</strong>s utilizar<br />

el módulo Remuestrear para reducir la resolución, o bien recortar una parte <strong>de</strong>l MDT <strong>con</strong> el<br />

módulo Cortar Grid. Te recomiendo que recortes una zona <strong>con</strong> áreas montañosas y planas, ya<br />

que esto será más instructivo a los hora <strong>de</strong> realizar los ejemplos que siguen (pronto enten<strong>de</strong>rás<br />

el porqué).<br />

Con esta nueva capa, ejecuta el módulo Convertir grid en T.I.N. (puntos específicos)<br />

El primer campo que <strong>de</strong>bes seleccionar es la capa raster a utilizar como capa base en el<br />

campo Grid.<br />

Puesto que los TINs tienen una estructura similar a las capas vectoriales, también poseen<br />

una tabla <strong>de</strong> atributos asociada. A la hora <strong>de</strong> crear un TIN, pue<strong>de</strong>s elegir qué capas se utilizarán<br />

para obtener la información <strong>con</strong> la que rellenar dicha tabla <strong>de</strong> atributos. Haz clic en el campo


10.24. ANÁLISIS DEL TERRENO CON TINS 195<br />

Valores y selecciona las otras capas raster a usar en la ventana <strong>de</strong> selección múltiple que verás.<br />

No es necesario que selecciones la capa <strong>de</strong>l campo Grid, ya que la información <strong>de</strong> ésta se aña<strong>de</strong><br />

<strong>de</strong> forma automática.<br />

Cinco son los métodos implementados en este módulo para seleccionar los puntos que van<br />

a <strong>con</strong>stituir el TIN:<br />

Señalar vecino superior<br />

Vecinos opuestos<br />

Dirección <strong>de</strong> flujo<br />

Dirección <strong>de</strong> flujo (arriba y abajo)<br />

Peuker & Douglas<br />

Algunos <strong>de</strong> éstos tienen sus propios parámetros <strong>de</strong> ajuste. No es en absoluto sencillo explicar<br />

el significado <strong>de</strong> estos parámetros o <strong>de</strong>finir las diferencias entre los resultados obtenidos<br />

<strong>con</strong> cada metodología sin entrar en <strong>de</strong>talles muy técnicos. Igualmente, no existe realmente un<br />

método para afirmar que un TIN es ✭✭mejor✮✮ que otro, por lo que no puedo <strong>de</strong>s<strong>de</strong> aquí dar<br />

ninguna recomendación al respecto.<br />

Como en otras ocasiones, prueba y <strong>de</strong>ci<strong>de</strong> por ti mismo...<br />

El resultado, <strong>de</strong> cualquier forma, <strong>de</strong>be tener un aspecto como el siguiente.<br />

<strong>La</strong> figura anterior representa un TIN creado a partir <strong>de</strong> un recorte <strong>de</strong>l MDT <strong>de</strong> ejemplo.<br />

10.24.2. Convertir un TIN en una capa vectorial<br />

Convertir un TIN en una capa vectorial es algo prácticamente inmediato. Simplemente<br />

abre el módulo Convertir TIN en capa vectorial


196 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS<br />

A partir <strong>de</strong>l TIN se genera no una, sino una serie <strong>de</strong> capas vectoriales, cada una <strong>con</strong>teniendo<br />

una parte distinta <strong>de</strong> la información <strong>de</strong>l propio TIN. Dependiendo <strong>de</strong>l uso que le quieras dar<br />

posteriormente, podrás utilizar una u otra.<br />

10.24.3. Gradiente<br />

Habiendo visto algunos módulos básicos para el manejo <strong>de</strong> TINs, pero sin haber entrado<br />

aún en el <strong>análisis</strong> propiamente dicho, veamos ya algunos módulos <strong>de</strong> cálculo a partir <strong>de</strong> un<br />

TIN previamente generado. El más básico <strong>de</strong> todos ellos es el <strong>de</strong>nominado Gradiente.<br />

Selecciona en la ventana <strong>de</strong> parámetros el TIN a analizar, y <strong>de</strong> entre los campos <strong>de</strong> su<br />

tabla <strong>de</strong> atributos escoge aquel que <strong>con</strong>tiene la información <strong>de</strong> elevaciones <strong>de</strong> cada triángulo<br />

El resultado <strong>de</strong>l módulo no es un nuevo TIN, sino una capa vectorial que se asemeja al<br />

TIN y que <strong>con</strong>tiene en su tabla <strong>de</strong> atributos tres campos <strong>con</strong> el área <strong>de</strong> cada triángulo, su<br />

pendiente, y su orientación.<br />

<strong>La</strong> unidad en que estos dos últimos valores son calculados pue<strong>de</strong> seleccionarse en el campo<br />

Unida<strong>de</strong>s <strong>de</strong> resultado.<br />

10.24.4. Acumulación <strong>de</strong> flujo<br />

Puesto que cada triángulo <strong>de</strong>l TIN tiene una elevación (<strong>de</strong>finida por la <strong>de</strong> los tres vértices<br />

que lo <strong>con</strong>stituyen), y existe relación <strong>de</strong> adyacencia entre ellos, los algoritmos <strong>de</strong> flujo pue<strong>de</strong>n<br />

aplicarse sobre el TIN <strong>de</strong> una manera más o menos similar a como lo hacen sobre el MDT.<br />

Del mismo modo que entonces en<strong>con</strong>trábamos diversas formulaciones, también en este<br />

caso po<strong>de</strong>mos elegir entre varias metodologías. Esa es la razón por la que en<strong>con</strong>trarás dos<br />

menús similares: Acumulación <strong>de</strong> Flujo (procesado paralelo) y Acumulación <strong>de</strong> Flujo (trazado<br />

<strong>de</strong> flujo). Con las explicaciones dadas para el caso <strong>de</strong>l cálculo <strong>de</strong> este parámetro sobre un<br />

MDT, no te será difícil compren<strong>de</strong>r las diferencias entre ellos.<br />

Ambos módulos presentan ventanas <strong>de</strong> parámetros bastante simples, como pue<strong>de</strong>s ver a<br />

<strong>con</strong>tinuación.


10.24. ANÁLISIS DEL TERRENO CON TINS 197<br />

El módulo Acumulación <strong>de</strong> Flujo (procesado paralelo) tiene un parámetro extra que pue<strong>de</strong><br />

usarse para seleccionar entre un algoritmo <strong>de</strong> flujo unidimensional o bidimensional. Estos<br />

<strong>con</strong>ceptos ya <strong>de</strong>bieran resultarte familiares, por lo que no es necesaria una explicación más<br />

<strong>de</strong>tallada.<br />

Ejecuta cualquiera <strong>de</strong> estos módulos y obtendrás un nuevo TIN <strong>con</strong> una tabla <strong>de</strong> atributos<br />

distinta a la original, <strong>con</strong>teniendo la información <strong>de</strong>l flujo acumulado.


198 CAPÍTULO 10. ANÁLISIS DEL TERRENO, HIDROLOGÍA Y MÁS


Módulos para capas vectoriales<br />

11.1. Introducción<br />

Capítulo 11<br />

Aunque no tan numerosos y potentes como los módulos <strong>de</strong> <strong>análisis</strong> raster, los <strong>de</strong>dicados<br />

al trabajo <strong>con</strong> capas vectoriales incluyen también una buena colección <strong>de</strong> funcionalida<strong>de</strong>s <strong>de</strong><br />

gran utilidad. Entre ellos, algunos trabajan exclusivamente <strong>con</strong> capas vectoriales, mientras<br />

que otros combinan tanto capas raster como vectoriales.<br />

Los módulos <strong>de</strong> este último grupo son probablemente los más interesantes, puesto que<br />

permiten utilizar <strong>de</strong> forma fluida ambos tipos <strong>de</strong> capas, <strong>con</strong>ectándolas y estableciendo un<br />

nexo entre ellas que incrementa la potencia <strong>de</strong> los módulos que hemos visto hasta el momento.<br />

Empleando los módulos <strong>de</strong>l capítulo 8 junto <strong>con</strong> los que a <strong>con</strong>tinuación se presentarán, pue<strong>de</strong><br />

prepararse prácticamente cualquier tipo <strong>de</strong> dato para su <strong>análisis</strong>, al mismo tiempo que pue<strong>de</strong>n<br />

extraerse <strong>de</strong> igual modo una larga serie <strong>de</strong> resultados básicos <strong>de</strong> <strong>análisis</strong><br />

Al final <strong>de</strong> este capítulo verás cómo las capacida<strong>de</strong>s vectoriales <strong>de</strong> <strong>SEXTANTE</strong>, si bien no<br />

tan impresionantes como las <strong>de</strong> <strong>análisis</strong> raster, pue<strong>de</strong>n resultar increíblemente útiles gracias a<br />

estos módulos.<br />

11.2. Combinando capas raster y vectoriales<br />

Comenzaremos este recorrido analizando aquellos módulos diseñados para simplificar y<br />

potenciar el trabajo simultáneo <strong>con</strong> capas raster y vectoriales. Apren<strong>de</strong>r a usar estos módulos<br />

te permitirá, por ejemplo, <strong>con</strong>vertir datos entre tipos diferentes o enriquecer la información<br />

<strong>de</strong> un capa a partir <strong>de</strong> la <strong>con</strong>tenida en otra almacenadaen un formato <strong>de</strong> datos distinto.<br />

No todos los módulos que trabajan <strong>de</strong> forma <strong>con</strong>junta <strong>con</strong> capas raster y vectoriales se<br />

incluyen en esta sección. Por mantener una coherencia <strong>de</strong> <strong>con</strong>tenidos, los módulos <strong>de</strong> interpolación<br />

se <strong>de</strong>scriben en un capítulo aparte pese a que comparten numerosos aspectos en común<br />

<strong>con</strong> los siguientes.<br />

11.2.1. Curvas <strong>de</strong> nivel a partir <strong>de</strong> una capa raster<br />

Empecemos por el primer módulo. Selecciona el menú Curvas <strong>de</strong> Nivel<br />

199


200 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

Antes <strong>de</strong> la aparición <strong>de</strong> los Mo<strong>de</strong>los Digitales <strong>de</strong>l Terreno, la elevación <strong>de</strong> un terreno<br />

se presentaba mediante el empleo <strong>de</strong> isolíneas, esto es, líneas a lo largo <strong>de</strong> las cuales dicha<br />

elevación tenía un valor <strong>con</strong>stante. Hoy en día estas isolíneas se siguen empleando no sólo<br />

para representar elevaciones, sino también muchos otros parámetros tales como precipitación,<br />

temperatura, etc. Y por supuesto, aunque ése no sea el objetivo principal <strong>de</strong> <strong>SEXTANTE</strong>,<br />

también se emplean para <strong>de</strong>scribir superficies matemáticas y otros <strong>con</strong>ceptos matemáticos<br />

diversos.<br />

El módulo Curvas <strong>de</strong> Nivel crea una capa vectorial <strong>con</strong> isolíneas correspondientes a una<br />

capa raster dada. Por supuesto, dicha capa <strong>de</strong>be <strong>con</strong>tener una variable <strong>de</strong> tipo <strong>con</strong>tinuo, no<br />

información discreta codificada.<br />

Selecciona la capa raster <strong>de</strong> entrada y la vectorial <strong>de</strong> salida en sus campos correspondientes.<br />

Selecciona el rango <strong>de</strong> valores a <strong>con</strong>si<strong>de</strong>rar para crear las isolíneas y la equidistancia entre éstas<br />

en el campo <strong>de</strong>l mismo nombre. Cuanto menor sea la equidistancia, mayor el número <strong>de</strong> líneas<br />

que la capa resultante <strong>con</strong>tendrá.<br />

He aquí el resultado para el MDT <strong>de</strong> ejemplo y una equidistancia <strong>de</strong> 250 metros.<br />

El proceso inverso, la obtención <strong>de</strong> una capa raster a partir <strong>de</strong> las curvas <strong>de</strong> nivel, se lleva<br />

a cabo empleando <strong>con</strong>juntamente dos módulos, uno <strong>de</strong> los cuales lo veremos más a<strong>de</strong>lante<br />

<strong>de</strong>ntro <strong>de</strong> este mismo capítulo.<br />

11.2.2. Vectorizar una capa raster<br />

Uno <strong>de</strong> los módulos más útiles en lo que a relación raster–vectorial respecta es el <strong>de</strong>nominado<br />

Vectorizar Grid


11.2. COMBINANDO CAPAS RASTER Y VECTORIALES 201<br />

Si recuerdas el capítulo previo <strong>de</strong> <strong>análisis</strong> <strong>de</strong> terreno, el módulo Red <strong>de</strong> Drenaje generaba<br />

resultados tanto en formato raster como en vectorial, mientras que si <strong>de</strong>seábamos crear una<br />

capa <strong>de</strong> cuencas a partir <strong>de</strong> dicha red <strong>de</strong> drenaje y empleando el módulo Cuencas Vertientes,<br />

únicamente obteníamos un resultado en formato raster. Ahora veremos como obtener una capa<br />

vectorial a partir <strong>de</strong> dicha capa raster, pudiendo así tener el resultado en ambos formatos<br />

Selecciona la capa <strong>de</strong> cuencas en el campo Entrada y escoge Polígonos en Tipo <strong>de</strong> Resultado.<br />

Al presionar Aceptar y ejecutar el módulo, <strong>SEXTANTE</strong> tomará todas aquellas celdas <strong>con</strong> el<br />

mismo valor y creará una entidad (un polígono en este caso) <strong>con</strong>teniéndolas. Por la propia<br />

naturaleza <strong>de</strong>l módulo, su uso únicamente tiene sentido para capas <strong>con</strong> información discreta.<br />

Pue<strong>de</strong>s aplicarla sobre una capa <strong>con</strong> información <strong>con</strong>tinua, pero el resultado carecerá <strong>de</strong> todo<br />

sentido. Ello no quiere <strong>de</strong>cir que no puedas crear una capa vectorial basada en información<br />

<strong>de</strong> alturas. Reclasifica los valores <strong>de</strong>l MDT en grupos y <strong>de</strong>spués proce<strong>de</strong> a la vectorización <strong>de</strong>l<br />

resultado. <strong>La</strong> capa vectorial que obtendrás sí que tendrá en este caso un significado claro y<br />

perfectamente <strong>de</strong>finido.<br />

Echemos un vistazo a la tabla <strong>de</strong> atributos <strong>de</strong> la capa <strong>de</strong> cuencas que acabamos <strong>de</strong> crear.<br />

El valor común que comparten todas las celdas <strong>de</strong>ntro <strong>de</strong> cada polígono se aña<strong>de</strong> a una<br />

columna <strong>con</strong> el mismo nombre que la capa <strong>de</strong> origen.<br />

No cierres esta capa vectorial, la utilizaremos más a<strong>de</strong>lante para un nuevo ejemplo.<br />

11.2.3. Convertir una capa vectorial en una raster<br />

El proceso inverso al que acabamos <strong>de</strong> ver, <strong>con</strong>vertir una capa vectorial en una raster, es<br />

también sencillo <strong>de</strong> llevar a cabo mediante un nuevo módulo <strong>de</strong> <strong>SEXTANTE</strong>.<br />

Selecciona el menú Rasterizar Capa Vectorial


202 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

Selecciona la capa vectorial a <strong>con</strong>vertir en el campo Capa. Puesto que en una capa raster<br />

solo pue<strong>de</strong> <strong>con</strong>tenerse un único valor para cada celda, <strong>de</strong>bes elegir cuál <strong>de</strong> los campos <strong>de</strong> la<br />

tabla <strong>de</strong> atributos <strong>de</strong>seas utilizar para tomar la información necesaria. Hazlo en el campo<br />

Campo. Por supuesto, éste <strong>de</strong>be ser un campo numérico, no uno <strong>con</strong> ca<strong>de</strong>nas <strong>de</strong> texto.<br />

<strong>La</strong>s alternativas habituales para seleccionar el tamaño <strong>de</strong> la capa <strong>de</strong> salida se encuentran<br />

en el campo Dimensiones <strong>de</strong>l grid resultante. <strong>La</strong> opción Definido por usuario, no obstante, te<br />

llevará a una nueva ventana <strong>de</strong> parámetros.<br />

Debes <strong>de</strong>finir el tamaño <strong>de</strong> celda en el campo correspondiente, y el valor <strong>de</strong>be expresarse<br />

en las mismas unida<strong>de</strong>s que las empleadas para la capa vectorial.<br />

Para <strong>de</strong>finir la extensión <strong>de</strong> grid, pue<strong>de</strong>s especificar sus límites en los cuatro campos que<br />

en<strong>con</strong>trarás como opciones. Dos <strong>de</strong> estos campos <strong>de</strong>finen la extensión en X y los dos restantes<br />

la extensión en Y.<br />

Si seleccionas el campo Ajustar Extensión, los límites se establecen automáticamente a la<br />

mínima extensión necesaria para <strong>con</strong>tener el espacio ocupado por la capa vectorial.<br />

Por último, <strong>de</strong>bes elegir el formato <strong>de</strong> almacenamiento para la nueva capa. En<strong>con</strong>trarás<br />

este campo en todas las ventanas <strong>de</strong> parámetros, <strong>con</strong> in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> cómo <strong>de</strong>finas las<br />

dimensiones <strong>de</strong> la capa.<br />

Veamos un ejemplo. Convirtamos <strong>de</strong> nuevo la capa <strong>de</strong> cuencas en una capa raster, utilizando<br />

el campo ID. Obtendrás lo siguiente.<br />

Es, lógicamente, la misma capa, pero. ..¿por qué esa distribución diferente <strong>de</strong> colores?<br />

Cuando se <strong>con</strong>vierten las cuencas <strong>de</strong> raster a vectorial, el algoritmo se ejecuta <strong>de</strong>s<strong>de</strong> la parte<br />

inferior a la superior <strong>de</strong> la capa, por lo que las inferiores tienen un valor más bajo en sus<br />

i<strong>de</strong>ntificadores. Si quieres una representación algo menos regular, crea una nueva rampa <strong>de</strong><br />

color, por ejemplo una aleatoria, o bien utiliza el campo <strong>con</strong> el número <strong>de</strong> cuenca en lugar <strong>de</strong>l<br />

i<strong>de</strong>ntificador.<br />

El tamaño <strong>de</strong> celda <strong>de</strong> la capa representada es <strong>de</strong> 25 metros, el mismo que el MDT original<br />

a partir <strong>de</strong>l cual se crearon las cuencas. Utilizando una resolución menor da lugar a una peor<br />

calidad <strong>de</strong> la capa resultante, como se ve a <strong>con</strong>tinuación.


11.2. COMBINANDO CAPAS RASTER Y VECTORIALES 203<br />

Al <strong>con</strong>vertir una capa vectorial en una raster siempre se pier<strong>de</strong> la precisión inherente <strong>de</strong><br />

la misma. Asegúrate <strong>de</strong> emplear un tamaño <strong>de</strong> celda que <strong>con</strong>serve toda la información que te<br />

sea necesaria, evitando generar mallas <strong>de</strong> datos <strong>de</strong> un tamaño excesivo. Como en otros casos,<br />

en el término medio está la virtud.<br />

A<strong>de</strong>más <strong>de</strong> lo que ya hemos visto, <strong>con</strong>vertir una capa vectorial en una raster pue<strong>de</strong> servir<br />

para mejorar la apariencia <strong>de</strong> otra capa raster in<strong>de</strong>pendiente. Hace algunas páginas vimos<br />

como utilizar máscaras para ✭✭ocultar✮✮ ciertas partes <strong>de</strong> una capa. Si necesitas una capa <strong>con</strong><br />

una forma más compleja que un sencillo círculo (como usamos entonces), pue<strong>de</strong>s usar las<br />

capacida<strong>de</strong>s <strong>de</strong> edición vectorial <strong>de</strong> <strong>SEXTANTE</strong> para crear esa forma, y <strong>de</strong>spués <strong>con</strong>vertirla<br />

en una capa raster.<br />

El siguiente es un buen ejemplo <strong>de</strong> lo que se pue<strong>de</strong> hacer <strong>con</strong> esta técnica.<br />

Para un ejemplo más serio, piensa en lo que pue<strong>de</strong>s hacer <strong>con</strong> un polígono ya creado, tal<br />

y como la frontera <strong>de</strong> un país o cualquier otra entidad administrativa. ¿Interesante, verdad?<br />

11.2.4. Usando información raster para enriquecer una capa vectorial<br />

<strong>La</strong> información <strong>con</strong>tenida en la tabla <strong>de</strong> atributos <strong>de</strong> una capa vectorial pue<strong>de</strong> ser extendida<br />

añadiendo más datos proce<strong>de</strong>ntes <strong>de</strong> una o más capas raster que representen el mismo área<br />

geográfica. <strong>SEXTANTE</strong> dispone <strong>de</strong> varios módulos para hacer esto, los cuales se <strong>de</strong>scriben en<br />

esta sección.


204 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

El el caso <strong>de</strong> una capa <strong>de</strong> polígonos, lo primero que po<strong>de</strong>mos hacer es calcular valores<br />

medios. Por ejemplo, es interesante combinar la capa <strong>de</strong> cuencas vectoriales que acabamos<br />

<strong>de</strong> crear <strong>con</strong> la capa raster <strong>de</strong> otros valores como el Numero <strong>de</strong> Curva, para saber el valor<br />

medio <strong>de</strong> éstos en cada una <strong>de</strong> las unida<strong>de</strong>s hidrológicas <strong>de</strong>finidas. De este modo, po<strong>de</strong>mos<br />

luego utilizar esa información para calcular valores <strong>de</strong> escorrentía in<strong>de</strong>pendientemente para<br />

cada subcuenca y luego estimar el valor global para la cuenca sumando éstos. Esto <strong>con</strong>stituye<br />

un mo<strong>de</strong>lo hidrológico más preciso que utilizar un único valor medio para toda la cuenca en<br />

su <strong>con</strong>junto.<br />

Selecciona el menú Estadísticas <strong>de</strong> Grid en Polígonos<br />

Simplemente selecciona la capa raster <strong>con</strong> la información a añadir y la vectorial <strong>con</strong> polígonos.<br />

Obtendrás una nueva capa <strong>de</strong> polígonos idéntica a la capa <strong>de</strong> cuencas utilizada, pero en<br />

este caso <strong>con</strong> campos adicionales en su tabla <strong>de</strong> atributos.<br />

El número <strong>de</strong> celdas situadas <strong>de</strong>ntro <strong>de</strong> cada polígono, su valor medio y su varianza han<br />

sido incluidas en la tabla.<br />

Recuerda que pue<strong>de</strong>s seleccionar como capa <strong>de</strong> salida la misma capa vectorial <strong>de</strong> entrada,<br />

en cuyo caso simplemente se exten<strong>de</strong>rá la tabla <strong>de</strong> ésta.<br />

Hay otras maneras <strong>de</strong> añadir nueva información a una capa vectorial usando una (o varias)<br />

capas raster. Si en lugar <strong>de</strong> un <strong>con</strong>junto <strong>de</strong> polígonos tenemos un grupo <strong>de</strong> puntos, po<strong>de</strong>mos<br />

emplear el módulo Ampliar Capa <strong>de</strong> Puntos Mediante Grids.


11.2. COMBINANDO CAPAS RASTER Y VECTORIALES 205<br />

<strong>SEXTANTE</strong> toma las coor<strong>de</strong>nadas <strong>de</strong> cada punto <strong>de</strong> la capa <strong>de</strong> entrada y calcula el valor<br />

en esa localización para una serie <strong>de</strong> capas rasters. Haz clic en el campo Valores para acce<strong>de</strong>r<br />

a un cuadro <strong>de</strong> diálogo <strong>de</strong> selección múltiple y seleccionar estas capas.<br />

El resultado <strong>de</strong>l módulo es un nueva capa igual a la original <strong>de</strong> entrada, <strong>con</strong> tantos campos<br />

nuevos como capas adicionales se seleccionaron en Valores.<br />

<strong>La</strong>s coor<strong>de</strong>nadas <strong>de</strong> un punto pue<strong>de</strong>n caer exactamente en el centro <strong>de</strong> una celda (raramente)<br />

o bien en un lugar distinto <strong>de</strong>ntro <strong>de</strong> la misma (lo habitual). En este último caso, se<br />

emplea un método <strong>de</strong> interpolación para calcular el valor exacto que correspon<strong>de</strong> al punto, y<br />

éste pue<strong>de</strong> escogerse <strong>de</strong> entre los <strong>con</strong>tenidos en el campo Método <strong>de</strong> Interpolación<br />

Si el punto cae fuera <strong>de</strong> la capa, se le asigna un valor <strong>de</strong> sin datos (el correspondiente a<br />

dicha capa)<br />

Para tener una capa <strong>de</strong> puntos <strong>con</strong> la información <strong>de</strong> un grid no es siempre necesario<br />

disponer <strong>de</strong> dichos puntos ya <strong>de</strong>finidos. Mediante el módulo Grid a Tabla <strong>de</strong> Puntos se pue<strong>de</strong><br />

crear una tabla <strong>con</strong> las coor<strong>de</strong>nadas <strong>de</strong> cada una <strong>de</strong> las celdas y los valores asociados a las<br />

mismas. Esta tabla pue<strong>de</strong> utilizarse ella misma <strong>de</strong> modo in<strong>de</strong>pendiente o, como veremos más<br />

a<strong>de</strong>lante, usarse para generar un tema <strong>de</strong> puntos empleando otro módulo <strong>de</strong> <strong>SEXTANTE</strong>.<br />

Pronto veremos que esta tabla pue<strong>de</strong> utilizarse para generar una capa <strong>de</strong> puntos.<br />

En lugar <strong>de</strong> utilizarse todas las celdas <strong>de</strong> la malla, únicamente son empleadas aquellas<br />

que se sitúan <strong>de</strong>ntro <strong>de</strong> una capa <strong>de</strong> polígonos seleccionada. En este caso, se utiliza una capa<br />

vectorial a modo <strong>de</strong> máscara. Dicha capa <strong>de</strong>be establecerse en el campo Polígonos. Para un<br />

ejemplo práctico, pue<strong>de</strong>s probar <strong>con</strong> la capa <strong>de</strong> cuencas que hemos creado y el MDT habitual.<br />

Ejecuta el módulo haciendo clic en Aceptar y tendrás una nueva tabla como la siguiente<br />

en la ventana <strong>de</strong> datos.<br />

Si trabajas <strong>con</strong> capas raster <strong>de</strong> gran tamaño o <strong>con</strong> máscaras no muy ✭✭restrictivas✮✮ (que<br />

cubran gran parte <strong>de</strong> las mismas), este módulo pue<strong>de</strong> dar lugar a tablas sumamente gran<strong>de</strong>s,<br />

por lo que no te sorprendas si el tiempo <strong>de</strong> ejecución <strong>de</strong>l módulo (así como el <strong>de</strong> manejo <strong>de</strong> la<br />

propia tabla resultante) es largo.


206 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

11.3. Creación <strong>de</strong> una nueva capa vectorial<br />

Una vez vistos los módulos que permiten relacionar las capas vectoriales y las raster, el<br />

primer módulo que <strong>de</strong>bemos tratar es el diseñado para crear una nueva capa vectorial <strong>de</strong>s<strong>de</strong><br />

cero, tanto por su importancia como por el papel que juega <strong>de</strong>ntro <strong>de</strong>l manejo <strong>de</strong> capas<br />

vectoriales en <strong>SEXTANTE</strong>. Si recuerdas, ésta es una tarea que tenemos pendiente <strong>de</strong>s<strong>de</strong> el<br />

capítulo <strong>de</strong>dicado al trabajo <strong>con</strong> capas vectoriales, ya que entonces comentamos que esta tarea,<br />

a fin <strong>de</strong> mantener la coherencia modular <strong>de</strong>l programa, se situaba en un módulo en lugar <strong>de</strong><br />

en la propia interfaz <strong>de</strong>l núcleo <strong>de</strong> <strong>SEXTANTE</strong>. Ha llegado el momento <strong>de</strong> ver ese módulo.<br />

Selecciona Vectorial/Herramientas/Crear Nueva Capa Vectorial<br />

Tres son los parámetros que <strong>de</strong>bes <strong>de</strong>finir para crear una nueva capa: el tipo <strong>de</strong> capa<br />

(puntos, multipuntos, líneas o polígonos), el nombre a asignarle, y las características <strong>de</strong> su tabla<br />

<strong>de</strong> atributos. También en<strong>con</strong>trarás en la ventana <strong>de</strong> parámetros un campo <strong>de</strong> salida, aunque lo<br />

habitual es que <strong>de</strong>sees crear una capa nueva y no utilizar una ya existente, sobreescribiéndola.<br />

<strong>La</strong> <strong>de</strong>finición <strong>de</strong> la tabla <strong>de</strong> atributos es la parte más compleja, así que veámosla <strong>con</strong> más<br />

<strong>de</strong>talle. Haz clic en el botón al lado <strong>de</strong>recho <strong>de</strong>l campo Atributos. Se abrirá un nuevo cuadro<br />

<strong>de</strong> diálogo <strong>con</strong> una tabla como la siguiente.<br />

En ella <strong>de</strong>bes añadir tantos registros (filas) como campos <strong>de</strong>sees que tenga la tabla <strong>de</strong> la<br />

capa a crear. Para cada uno <strong>de</strong> estos registros <strong>de</strong>bes añadir dos valores: el nombre que <strong>de</strong>seas<br />

dar al campo (una ca<strong>de</strong>na <strong>de</strong> texto), y el tipo <strong>de</strong> dato que <strong>con</strong>tendrá dicho campo (un valor<br />

numérico). Los tipos <strong>de</strong> datos que pue<strong>de</strong>s seleccionar se especifican mediante números enteros,<br />

y aquí tienes la correspon<strong>de</strong>ncia <strong>de</strong> los mismos.<br />

0. Texto<br />

1. Entero <strong>de</strong> 1 bit<br />

2. Entero <strong>de</strong> 2 bits<br />

3. Entero <strong>de</strong> 4 bits


11.4. SELECCIÓN DE ENTIDADES 207<br />

4. Coma flotante <strong>de</strong> 4 bits<br />

5. Coma flotante <strong>de</strong> 8 bits<br />

6. Color RGB.<br />

Para compren<strong>de</strong>r mejor este esquema <strong>de</strong> funcionamiento, lo i<strong>de</strong>al es un poco <strong>de</strong> práctica. A<br />

<strong>con</strong>tinuación tienes dos tablas en las que pue<strong>de</strong>s observar como la tabla inicial (la introducida<br />

en el módulo) se <strong>con</strong>vierte en la tabla <strong>de</strong> atributos <strong>de</strong> la nueva capa. Viéndolas, a buen seguro<br />

que enten<strong>de</strong>rás rápidamente el funcionamiento <strong>de</strong> lo anterior.<br />

11.4. Selección <strong>de</strong> entida<strong>de</strong>s<br />

Como ya vimos en el capítulo <strong>de</strong>dicado al manejo básico <strong>de</strong> capas vectoriales al principio <strong>de</strong><br />

este libro, pue<strong>de</strong>s seleccionar ciertas entida<strong>de</strong>s <strong>de</strong>ntro <strong>de</strong> una capa para posteriormente efectuar<br />

operaciones únicamente <strong>con</strong> ellas y no <strong>con</strong> el total <strong>de</strong> las <strong>con</strong>tenidas en la misma. Algunos <strong>de</strong><br />

los módulos que vamos a ver durante este capítulo funcionan <strong>de</strong> ese modo, es <strong>de</strong>cir, tan sólo<br />

procesan las entida<strong>de</strong>s seleccionadas en caso <strong>de</strong> que exista alguna selección activa sobre la capa<br />

vectorial <strong>de</strong> entrada. Por esta razón, es <strong>con</strong>veniente presentar en primer lugar algunos módulos<br />

<strong>de</strong>dicados a facilitar la selección <strong>de</strong> entida<strong>de</strong>s, que ofrecen una herramienta más po<strong>de</strong>rosa y<br />

en gran número <strong>de</strong> ocasiones mucho más práctica que la mera selección <strong>con</strong> el ratón sobre el<br />

mapa.<br />

Hay dos tipos <strong>de</strong> información que pue<strong>de</strong>n usarse para realizar una selección. <strong>La</strong> posición<br />

espacial <strong>de</strong> las entida<strong>de</strong>s y la información <strong>de</strong> cada una <strong>de</strong> ellas <strong>con</strong>tenida en la tabla <strong>de</strong><br />

atributos. Como era <strong>de</strong> esperar, existen módulos que utilizan ambas, <strong>de</strong> tal modo que son<br />

muchas las opciones <strong>de</strong> que vamos a disponer en este sentido.<br />

Para seleccionar entida<strong>de</strong>s en función <strong>de</strong> sus atributos, abre el módulo Consulta.


208 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

En la ventana <strong>de</strong> parámetros <strong>de</strong>l módulo tan sólo tienes que seleccionar la capa en la cual<br />

<strong>de</strong>seas realizar la selección (pue<strong>de</strong> ser <strong>de</strong> puntos, líneas o polígonos indistintamente), junto<br />

<strong>con</strong> una expresión matemática que será la que, al evaluarse sobre los valores <strong>de</strong> la tabla <strong>de</strong><br />

atributos, <strong>de</strong>cida si ha <strong>de</strong> seleccionarse o no cada entidad.<br />

<strong>La</strong> sintaxis <strong>de</strong> dicha expresión es similar a la que ya veíamos en la calculadora <strong>de</strong> mapas.<br />

Los distintos campos se codifican mediante variables en or<strong>de</strong>n alfabético (entonces eran las<br />

capas raster <strong>de</strong> una lista las que <strong>de</strong> este modo se codificaban), esto es: a = primer campo, b<br />

= segundo campo, etc. Si el resultado <strong>de</strong> la expresión es cero, no se selecciona la entidad. En<br />

caso <strong>con</strong>trario, sí.<br />

A diferencia <strong>de</strong> la calculadora <strong>de</strong> mapas, en este caso son más interesantes los operadores<br />

lógicos que los matemáticos.<br />

He aquí un ejemplo <strong>de</strong> expresión válida: lt(a,10) * gt(a,5). Con esta expresión se seleccionan<br />

las entida<strong>de</strong>s que en su primer campo <strong>con</strong>tienen un valor x tal que 5 ≤ x ≤ 10.<br />

Si al ejecutar el módulo ya existe una selección previa, ello pue<strong>de</strong> afectar a la forma en<br />

que la nueva selección se realiza. Hay tres opciones al respecto, que pue<strong>de</strong>n seleccionarse en el<br />

campo Método:<br />

Crear una nueva selección. El módulo funciona tal y como hasta ahora se ha explicado,<br />

seleccionando sólo aquellas entida<strong>de</strong>s que cumplen el requisito <strong>de</strong>finido por la expresión<br />

introducida. Antes <strong>de</strong> comenzar el <strong>análisis</strong>, la selección previa se elimina, y todas las<br />

entida<strong>de</strong>s se encuentran sin seleccionar.<br />

Añadir a la selección actual. Igual que el anterior, pero la selección previa no se elimina<br />

al inicio.<br />

Seleccionar <strong>de</strong> la selección actual. Una entidad queda seleccionada sólo si la expresión<br />

<strong>de</strong>vuelve un valor distinto <strong>de</strong> cero y a<strong>de</strong>más ya se en<strong>con</strong>traba previamente seleccionada.<br />

Utilizando el método Añadir a la selección actual pue<strong>de</strong>s seleccionar empleando una serie<br />

<strong>de</strong> criterios simples en lugar <strong>de</strong> uno más complejo, simplificando así la expresión a introducir.<br />

<strong>La</strong> experiencia indica que usar largas expresiones es una práctica propensa a la aparición <strong>de</strong><br />

errores, y es mejor disgregar estas en expresiones mínimas. Ya se sabe: divi<strong>de</strong> y vencerás.<br />

Con este módulo pue<strong>de</strong>s seleccionar utilizando el <strong>con</strong>tenido <strong>de</strong> los campos numéricos, pero<br />

no el <strong>de</strong> los campos <strong>de</strong> texto, ya que <strong>con</strong> éstos no pue<strong>de</strong>s aplicar expresión matemática alguna.<br />

Si <strong>de</strong>seas hacer una selección en función <strong>de</strong> ca<strong>de</strong>nas <strong>de</strong> texto, <strong>de</strong>bes emplear el módulo Buscar<br />

en Tabla <strong>de</strong> Atributos.<br />

En este caso, el campo Expresión <strong>de</strong>be <strong>con</strong>tener una ca<strong>de</strong>na <strong>de</strong> texto. El módulo buscará en<br />

las columnas <strong>de</strong> la tabla y todos aquellos registros (es <strong>de</strong>cir, entida<strong>de</strong>s) que <strong>con</strong>tengan dicha<br />

ca<strong>de</strong>na serán seleccionados. Por lo <strong>de</strong>más, el comportamiento <strong>de</strong>l módulo es idéntico al <strong>de</strong>l<br />

anterior.<br />

Si en lugar <strong>de</strong> seleccionar en función <strong>de</strong> sus atributos <strong>de</strong>seas seleccionar en base a la posición<br />

<strong>de</strong> las entida<strong>de</strong>s, abre el módulo Seleccionar Usando Capa.


11.5. CREAR UNA NUEVA CAPA CON LAS ENTIDADES SELECCIONADAS 209<br />

Se necesitan dos capas para realizar esta operación. <strong>La</strong> primera (Capa 1) es aquella sobre<br />

la que se <strong>de</strong>sea hacer la selección. <strong>La</strong> segunda (Capa 2) se emplea como capa <strong>de</strong> apoyo para<br />

<strong>de</strong>cidir qué entida<strong>de</strong>s <strong>de</strong> la primera <strong>de</strong>ben seleccionarse. Todas las entida<strong>de</strong>s <strong>de</strong> la primera<br />

capa que cumplan un criterio espacial dado <strong>con</strong> respecto a las que ya se hallen seleccionadas<br />

en la segunda serán a su vez seleccionadas. Recuerda, sólo las entida<strong>de</strong>s seleccionadas <strong>de</strong> la<br />

segunda se utilizan para aplicar el criterio.<br />

Éste pue<strong>de</strong> ajustarse en el campo Condición, entre las siguientes opciones:<br />

Intersecan<br />

Están completamente <strong>con</strong>tenidos<br />

Contienen completamente<br />

Contienen el centro <strong>de</strong><br />

Tienen su centro en<br />

Para ver exactamente lo que cada una <strong>de</strong> estas <strong>con</strong>diciones significa, te recomiendo coger<br />

una capa como la capa <strong>de</strong> cuencas <strong>de</strong> ejemplo y crear una nueva <strong>con</strong> algunas entida<strong>de</strong>s sencillas<br />

que se solapen <strong>con</strong> las <strong>de</strong> la anterior. Después haz una selección en esta última y prueba las<br />

distintas opciones tratando <strong>de</strong> compren<strong>de</strong>r por qué son seleccionadas unas entida<strong>de</strong>s y otras<br />

no en cada caso.<br />

Al igual que en los casos anteriores, tienes tres métodos diferentes <strong>de</strong> usar la selección<br />

realizada: crear una nueva, añadirlo a la ya existente, o seleccionar sólo entre aquellas entida<strong>de</strong>s<br />

que ya se en<strong>con</strong>traran previamente seleccionadas. Este aspecto pue<strong>de</strong> ajustarse en el campo<br />

Método.<br />

11.5. Crear una nueva capa <strong>con</strong> las entida<strong>de</strong>s seleccionadas<br />

Una vez que has seleccionado un <strong>con</strong>junto <strong>de</strong> entida<strong>de</strong>s, pue<strong>de</strong> resultar interesante aislarlas.<br />

Si, por ejemplo, estás trabajando <strong>con</strong> una capa vectorial que <strong>con</strong>tiene los límites <strong>de</strong> todos los<br />

países <strong>de</strong> Europa, pero únicamente necesitas el <strong>de</strong> España, no tiene mucho sentido emplear la<br />

capa al completo.<br />

<strong>SEXTANTE</strong> incluye un módulo que crea una nueva capa <strong>con</strong>teniendo únicamente aquellas<br />

entida<strong>de</strong>s que estén seleccionadas en otra dada. Usando cualquiera <strong>de</strong> los módulos anteriores,<br />

o bien una mera selección a golpe <strong>de</strong> ratón, pue<strong>de</strong>s escoger las entida<strong>de</strong>s que te interesan, para<br />

<strong>de</strong>spués crear una capa tan sólo <strong>con</strong> ellas. Al hacer esto, las entida<strong>de</strong>s no <strong>de</strong>saparecen <strong>de</strong> la<br />

capa original, es <strong>de</strong>cir, que no se ✭✭mueven✮✮ sino que se copian.<br />

Para ver como funciona esto, abre el módulo Nueva Capa <strong>con</strong> Entida<strong>de</strong>s Seleccionadas<br />

Ahora, simplemente selecciona la capa original (la selección ya <strong>de</strong>be haberse realizado, por<br />

supuesto), y pulsa Aceptar<br />

Se añadirá una nueva capa a la ventana <strong>de</strong> datos <strong>con</strong> el sub<strong>con</strong>junto <strong>de</strong> entida<strong>de</strong>s escogido.


210 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

11.6. Crear una capa <strong>de</strong> puntos a partir <strong>de</strong> una tabla<br />

Ya sabes cómo crear una capa <strong>de</strong> puntos o cualquier otro tipo <strong>de</strong> capa vectorial utilizando<br />

las capacida<strong>de</strong>s <strong>de</strong> edición vectorial implementadas en <strong>SEXTANTE</strong>. A<strong>de</strong>más <strong>de</strong> eso, las capas<br />

<strong>de</strong> puntos pue<strong>de</strong>n crearse a partir <strong>de</strong> información puramente numérica <strong>con</strong>tenida en una tabla,<br />

sin necesidad <strong>de</strong> utilizar una representación <strong>de</strong> mapa en absoluto.<br />

¿Qué ventajas tiene crear una capa <strong>de</strong> esta forma? En primer lugar, te permite aprovechar<br />

las tablas obtenidas <strong>de</strong> módulos como Grid a Tabla <strong>de</strong> Puntos y <strong>con</strong>vertirlas en capas vectoriales.<br />

En segundo, pue<strong>de</strong>s crear tus propias tablas en <strong>SEXTANTE</strong> y <strong>de</strong>spués <strong>con</strong>vertirlas. Y en<br />

tercero, si necesitas una estructura <strong>de</strong> capa más compleja (aunque regular en cierta medida),<br />

pue<strong>de</strong>s crearla <strong>con</strong> una hoja <strong>de</strong> cálculo, guardarla en un fichero, importarla en <strong>SEXTANTE</strong> y<br />

<strong>con</strong> ella crear una capa.<br />

Selecciona el menú Crear Capa <strong>de</strong> Puntos a Partir <strong>de</strong> una Tabla.<br />

En el campo Tabla selecciona la tabla don<strong>de</strong> se encuentran almacenadas las coor<strong>de</strong>nadas<br />

<strong>de</strong> los puntos. Al seleccionarla, las listas <strong>de</strong> los campos X e Y se llenarán. Elige en ellas las<br />

columnas <strong>de</strong> la tabla que <strong>con</strong>tengan las coor<strong>de</strong>nadas en cada eje.<br />

Selecciona Aceptar y tendrás una nueva capa <strong>de</strong> puntos cuya tabla <strong>de</strong> atributos es exactamente<br />

igual a la <strong>de</strong> origen, incluyendo incluso los campos <strong>con</strong> las coor<strong>de</strong>nadas. Esto es muy<br />

similar a importar un fichero en formato XYZ, como ya vimos en el capítulo <strong>de</strong>dicado a los<br />

módulos <strong>de</strong> entrada/salida <strong>de</strong> <strong>SEXTANTE</strong>.<br />

Prueba a crear una nueva capa <strong>con</strong> la tabla <strong>de</strong> ejemplo que se muestra a <strong>con</strong>tinuación.<br />

Ahí tienes un ejercicio en el que no sólo usarás este módulo, sino también el <strong>de</strong>dicado a la<br />

creación <strong>de</strong> nuevas tablas.<br />

<strong>La</strong> capa resultante <strong>de</strong>be tener un aspecto como el siguiente.


11.7. UNIÓN DE CAPAS VECTORIALES 211<br />

Más tar<strong>de</strong> utilizaremos esta capa para generar una capa raster <strong>con</strong> los módulos <strong>de</strong> interpolación,<br />

así que déjala abierta hasta entonces.<br />

11.7. Unión <strong>de</strong> capas vectoriales<br />

Una <strong>de</strong> las funcionalida<strong>de</strong>s más interesante <strong>de</strong> las capas vectoriales es que pue<strong>de</strong>n unirse<br />

(por supuesto,siempre que <strong>con</strong>tengan el mismo tipo <strong>de</strong> datos) y crear una única que <strong>con</strong>tenga<br />

toda su información. Esto no es interesante tan sólo porque permita un manejo y un almacenamiento<br />

más compacto y práctico, sino porque en algunas circunstancias pue<strong>de</strong> incluso ser<br />

obligado.<br />

Por ejemplo, imagina que tienes un <strong>con</strong>junto <strong>de</strong> capas <strong>con</strong> países <strong>de</strong>finidos como polígonos,<br />

uno por cada <strong>con</strong>tinente, y quieres preparar un bonito mapa <strong>con</strong> ellas en el que se incluyan<br />

todas las naciones <strong>de</strong>l mundo. Para colorearlas, utilizarás el campo Población que todas ellas<br />

<strong>con</strong>tienen.<br />

Si usas la misma rampa <strong>de</strong> colores para todas ellas, el país más poblado <strong>de</strong> cada <strong>con</strong>tinente<br />

tendrá el mismo color, y China y Alemania aparecerán iguales en el mapa a pesar <strong>de</strong> que<br />

la población <strong>de</strong> el primero es unas 15 veces la <strong>de</strong>l segundo. Tienes que emplear la misma<br />

rampa <strong>de</strong> colores, y también los mismos valores <strong>de</strong> máximo y mínimo, lo cual pue<strong>de</strong> resultar<br />

sumamente tedioso, especialmente si el <strong>con</strong>junto <strong>de</strong> países se haya fragmentado en numerosas<br />

capas. Es mucho más práctico colocarlos todos en una capa global.<br />

Incluso si dos capas tienen el mismo tipo <strong>de</strong> datos (por ejemplo, líneas), pue<strong>de</strong> ser que<br />

unirlas no tenga sentido alguno. Por ejemplo, el resultado <strong>de</strong> unir una capa <strong>de</strong> cauces <strong>con</strong> una<br />

<strong>de</strong> carreteras es una nueva capa falta <strong>de</strong> coherencia que no será muy útil, especialmente en lo<br />

que a su tabla <strong>de</strong> atributos se refiere. Une tan sólo capas que representen el mismo tipo <strong>de</strong><br />

información.<br />

Para unir una serie <strong>de</strong> capas, utiliza el módulo Unir capas<br />

Hay dos campos <strong>de</strong> entrada: Capa Principal y Capas Adicionales. <strong>La</strong> capa que selecciones<br />

en el primero <strong>de</strong> ellos <strong>de</strong>finirá la estructura <strong>de</strong> la tabla <strong>de</strong> atributos <strong>de</strong> la capa resultante.<br />

Todos los campos <strong>de</strong> su tabla aparecerán en los <strong>de</strong> la capa <strong>de</strong> salida, mientras que aquellos<br />

<strong>de</strong> las capas restantes que no se encuentren en ella serán sencillamente ignorados. Si la capa


212 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

principal <strong>con</strong>tiene un campo no presente en una <strong>de</strong> las capas adicionales, las entida<strong>de</strong>s provenientes<br />

<strong>de</strong> esta última no tendrán información asociada en ese campo (la celda correspondiente<br />

estará vacía en caso <strong>de</strong> ser <strong>de</strong> texto o <strong>con</strong>tendrá valor cero en caso <strong>de</strong> ser numérica)<br />

Una vez seleccionada la capa principal, haz clic en Capas Adicionales y llegarás a un cuadro<br />

<strong>de</strong> diálogo don<strong>de</strong> podrás seleccionar múltiples capas a unir <strong>con</strong> ella.<br />

Haz clic en Aceptar y tendrás una nueva capa <strong>de</strong>nominada Unión.<br />

11.8. Unión <strong>de</strong> tablas<br />

<strong>La</strong> tabla <strong>de</strong> atributos <strong>de</strong> una capa vectorial pue<strong>de</strong> exten<strong>de</strong>rse utilizando información almacenada<br />

en una tabla distinta (no <strong>de</strong> atributos, sino in<strong>de</strong>pendiente). Si ambas tablas comparten<br />

un campo en común, las coinci<strong>de</strong>ncias entre los valores en el mismo pue<strong>de</strong> utilizarse para pasar<br />

información <strong>de</strong> una a otra y ampliarla.<br />

También pue<strong>de</strong>, en lugar <strong>de</strong> añadir más información, asignarse una nueva tabla <strong>de</strong> atributos<br />

a una capa, haciendo que esos valores coinci<strong>de</strong>ntes en el campo común sirvan para <strong>con</strong>ocer<br />

qué registro asociar a cada entidad <strong>de</strong> la capa.<br />

Echa un vistazo a las siguientes tablas.<br />

ID Nombre<br />

1 Madrid<br />

2 Barcelona<br />

3 Sevilla<br />

4 Zaragoza<br />

5 Alicante<br />

Nombre Población<br />

Madrid 5086635<br />

Barcelona 3765994<br />

Sevilla 1180197<br />

Zaragoza 638535<br />

Alicante 380357<br />

Usando el módulo Asignar Tabla a Capa Vectorial podrías añadir datos <strong>de</strong> población (<strong>de</strong><br />

la tabla <strong>de</strong> la <strong>de</strong>recha) a una capa <strong>de</strong> puntos que <strong>con</strong>tuviera una serie <strong>de</strong> ciuda<strong>de</strong>s (la tabla<br />

<strong>de</strong> la izquierda), empleando el campo común Nombre<br />

<strong>La</strong> nueva tabla <strong>de</strong> atributos <strong>de</strong> la capa sería como la siguiente.<br />

ID Nombre Población<br />

1 Madrid 5086635<br />

2 Barcelona 3765994<br />

3 Sevilla 1180197<br />

4 Zaragoza 638535<br />

5 Alicante 380357<br />

En<strong>con</strong>trarás estos datos en los ficheros ciuda<strong>de</strong>s.shp y poblacion.txt. Ábrelos y utilízalos<br />

para unir las tablas tal y como a <strong>con</strong>tinuación veremos. Una vez hecho esto, podrás prescindir<br />

<strong>de</strong> la tabla in<strong>de</strong>pendiente, ya que toda su información habrá pasado a formar parte <strong>de</strong> la capa,<br />

y <strong>con</strong> mantener abierta ésta podrás en todo momento saber los habitantes <strong>de</strong> cada ciudad.<br />

Selecciona el menú Asignar Tabla a Capa Vectorial.


11.9. CALCULANDO NUEVOS CAMPOS EN UNA CAPA VECTORIAL 213<br />

Selecciona la tabla y la capa en los campos correspondientes, y en ambos casos establece<br />

en I<strong>de</strong>ntificador el campo que hará <strong>de</strong> nexo entre las tablas, en este caso el que <strong>con</strong>tiene<br />

los nombres <strong>de</strong> las ciuda<strong>de</strong>s. Con los ficheros <strong>de</strong> ejemplo propuestos, ambos campos tienen<br />

el mismo nombre, pero esto no es un requisito necesario. Mientras <strong>con</strong>tengan la información<br />

necesaria y exista <strong>con</strong>cordancia entre sus <strong>con</strong>tenidos, el módulo pue<strong>de</strong> usar cualquier par <strong>de</strong><br />

campos indistintamente <strong>de</strong> su <strong>de</strong>nominación.<br />

Elige el método Añadir atributos. De este modo, la tabla <strong>de</strong> atributos se enriquece <strong>con</strong> la<br />

tabla accesoria tal y como <strong>de</strong>seamos. Si escoges el método Reemplazar atributos, los atributos<br />

<strong>de</strong> la capa se eliminan, y la nueva tabla <strong>de</strong> atributos solo <strong>con</strong>tiene los campos <strong>de</strong> la tabla<br />

adicional.<br />

En caso <strong>de</strong> que para un registro dado no se encuentre coinci<strong>de</strong>ncia, los nuevos datos que<br />

<strong>de</strong>bían añadirse a la tabla quedarán en blanco.<br />

Este módulo es particularmente útil para el caso <strong>de</strong> información codificada en clases, como<br />

por ejemplo el Mapa Forestal Español. En él, cada polígono tiene asignado un campo numérico<br />

que codifica la vegetación existente. Paralelamente, existe una tabla en la cual se indica el<br />

significado <strong>de</strong> cada valor. Uniendo estas dos tablas se pue<strong>de</strong>n incorporar los nombre <strong>de</strong> las<br />

agrupaciones vegetales <strong>de</strong>ntro <strong>de</strong> la tabla <strong>de</strong> atributo, y no únicamente el código numérico,<br />

más práctico para muchas labores pero menos inmediato <strong>de</strong> interpretar.<br />

11.9. Calculando nuevos campos en una capa vectorial<br />

Como ya sabemos, el numero <strong>de</strong> campos y registros en una capa vectorial es fijo, y no<br />

pue<strong>de</strong> exten<strong>de</strong>rse (para añadir un nuevo registro necesitas añadir una nueva entidad a través<br />

<strong>de</strong> un mapa). Sin embargo, existe un módulo que permite calcular nuevos campos, es <strong>de</strong>cir,<br />

crear campos en la tabla cuya información <strong>de</strong>rive <strong>de</strong> otros o bien <strong>con</strong> un valor fijo.<br />

<strong>La</strong> estructura y funcionalidad <strong>de</strong> este módulo es en cierta medida similar a la <strong>de</strong> la calculadora<br />

<strong>de</strong> mapas: dado un <strong>con</strong>junto <strong>de</strong> capas (aquí son campos <strong>de</strong> una tabla), se crea una<br />

nueva (aquí se crea otro campo en la misma tabla) utilizando una fórmula que las relaciona.<br />

Veámoslo <strong>con</strong> más <strong>de</strong>talle.<br />

Abre el módulo Tablas/Cálculo/Calculadora(tablas <strong>de</strong> atributos).<br />

Selecciona la capa vectorial cuya tabla <strong>de</strong>sees exten<strong>de</strong>r, y dale una etiqueta al campo<br />

a crear en Nombre <strong>de</strong> Campo. Después <strong>de</strong>bes introducir la fórmula en el campo <strong>de</strong>l mismo


214 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

nombre, haciendo referencia a los campos <strong>de</strong> la tabla <strong>de</strong> la forma que ya hemos visto para la<br />

propia calculadora <strong>de</strong> mapas o, <strong>de</strong>ntro <strong>de</strong> este mismo capítulo, para el módulo Consulta<br />

<strong>La</strong> utilidad <strong>de</strong> este módulo es gran<strong>de</strong>, ya que te permite exten<strong>de</strong>r información <strong>de</strong> la tabla<br />

y luego po<strong>de</strong>r usar ésta para otros cálculos o para la mera representación <strong>de</strong> la misma. En<br />

una capa <strong>con</strong> países y datos <strong>de</strong> población y extensión, es inmediato calcular un nuevo campo<br />

<strong>con</strong> la <strong>de</strong>nsidad poblacional, que luego pue<strong>de</strong>s utilizar para colorear cada polígono en una<br />

representación <strong>de</strong> mapa, tal y como se esquematiza en la figura siguiente.<br />

11.10. Resumen <strong>de</strong> datos <strong>de</strong> una capa vectorial<br />

En ocasiones, trabajar directamente <strong>con</strong> la tabla <strong>de</strong> atributos <strong>de</strong> una capa no es la mejor<br />

manera <strong>de</strong> obtener información útil <strong>de</strong> la misma. Agrupar los datos <strong>de</strong> las entida<strong>de</strong>s en clases<br />

o calcular estadísticas sencillas por grupos es normalmente una buena i<strong>de</strong>a. En <strong>SEXTANTE</strong>,<br />

todo ello pue<strong>de</strong> hacerse <strong>con</strong> el módulo Resumen<br />

Si eres usuario <strong>de</strong> ArcView o ArcGIS, probablemente sepas cómo utilizar este módulo. <strong>La</strong><br />

interfaz es en este caso algo distinta (todo se realiza, como es habitual, a través <strong>de</strong> la típica<br />

ventana <strong>de</strong> parámetros), pero la i<strong>de</strong>a subyacente es la misma.


11.10. RESUMEN DE DATOS DE UNA CAPA VECTORIAL 215<br />

Para crear una tabla resumen, en primer lugar <strong>de</strong>ber seleccionar la capa vectorial a utilizar<br />

y la tabla <strong>de</strong> salida. De todos los campos <strong>de</strong> la tabla <strong>de</strong> atributos <strong>de</strong> dicha capa <strong>de</strong>bes seleccionar<br />

uno, que será empleado para la <strong>de</strong>finición <strong>de</strong> las clases.<br />

Para probar este módulo, abre el fichero esp.shp que en<strong>con</strong>trarás junto <strong>con</strong> los otros ficheros<br />

<strong>de</strong> ejemplo, y que ya <strong>con</strong>oces.<br />

Aunque la mayor parte <strong>de</strong> España es europea, algunas <strong>de</strong> sus comunida<strong>de</strong>s se encuentran en<br />

África (esto, claro está <strong>de</strong>s<strong>de</strong> un punto <strong>de</strong> vista Geográfico, <strong>de</strong>jando al margen <strong>con</strong>si<strong>de</strong>raciones<br />

políticas). Vamos a intentar resumir la información <strong>de</strong> la tabla <strong>de</strong> atributos <strong>de</strong> la capa, y<br />

extraer información sobre las partes africana y europea <strong>de</strong>l país.<br />

Selecciona el campo Continente como el que <strong>de</strong>be usarse para separar las distintas clases.<br />

Ello creará dos <strong>de</strong> dichas clases, ya que tan sólo dos valores se encuentran en la tabla para<br />

dicho campo: África y España.<br />

Haz clic en Aceptar para pasar a una segunda ventana <strong>de</strong> parámetros, la cual es diferente<br />

en cada caso, pues <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la capa <strong>de</strong> entrada y no es <strong>con</strong>stante para el módulo.<br />

En esta nueva ventana pue<strong>de</strong>s seleccionar los campos que <strong>de</strong>seas incluir en la tabla resumen.<br />

No se trata <strong>de</strong> una ventana <strong>de</strong> parámetros habitual, sino que se crea a partir <strong>de</strong> la información<br />

<strong>de</strong> la capa cuando pulsas Aceptar, y no antes.<br />

Como pue<strong>de</strong>s ver, para cada campo numérico aparecen los siguientes parámetros:<br />

Suma<br />

Media<br />

Varianza<br />

Mínimo<br />

Máximo<br />

Selecciona los que <strong>de</strong>sees. Para cada uno <strong>de</strong> ellos, se creará un campo correspondiente en<br />

la tabla resumen.<br />

Un campo <strong>con</strong>teniendo el número <strong>de</strong> entida<strong>de</strong>s en cada clase (<strong>de</strong>nominado Conteo) se<br />

aña<strong>de</strong> <strong>de</strong> forma automática.<br />

He aquí la breve tabla resumen que obtendrás.


216 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

Como ya se ha dicho, todas estas funcionalida<strong>de</strong>s son similares a las que pue<strong>de</strong>s en<strong>con</strong>trar<br />

en ArcView u otros SIGs, pero <strong>SEXTANTE</strong> va más allá y aña<strong>de</strong> una interesante funcionalidad<br />

a este esquema básico, enlazando la creación <strong>de</strong>l resumen <strong>con</strong> el potente motor <strong>de</strong> documentación<br />

que ya <strong>con</strong>oces. Los resultados <strong>de</strong>l módulo se generan también como un documento<br />

estructurado en formato PDF, en el cual no se incluye unicamente la propia tabla resumen<br />

sino abundante información adicional.<br />

Para generar este documento, simplemente selecciona el campo Crear documentación en<br />

PDF y selecciona el directorio en el que quieres guardar el mismo.<br />

En las siguientes figuras pue<strong>de</strong>s ver ejemplos <strong>de</strong>l tipo <strong>de</strong> páginas que este módulo genera.<br />

Para cada clase hay una página <strong>con</strong> un mapa en el que se representan únicamente las<br />

entida<strong>de</strong>s <strong>de</strong> la propia clase, así cómo los parámetros calculados para la misma (que son los<br />

que aparecen en la fila correspondiente a la clase en la tabla resumen)<br />

Al final <strong>de</strong>l documento en<strong>con</strong>trarás gráficos representado los valores <strong>de</strong> cada parámetro<br />

escogido en el <strong>con</strong>junto <strong>de</strong> las clases <strong>de</strong>finidas.


11.11. CREANDO UN DOCUMENTO A PARTIR DE UNA CAPA VECTORIAL 217<br />

11.11. Creando un documento a partir <strong>de</strong> una capa vectorial<br />

No sólo el módulo Resumen que acabamos <strong>de</strong> ver <strong>con</strong>tiene capacida<strong>de</strong>s <strong>de</strong> generación <strong>de</strong><br />

documentos. En<strong>con</strong>trarás otro módulo <strong>de</strong>nominado Polígonos a PDF que simplemente toma<br />

una capa <strong>de</strong> polígonos y pone su información en un documento <strong>de</strong> forma accesible y práctica,<br />

sin calcular ningún parámetro adicional, sino tan sólo reflejando la propia información <strong>de</strong> la<br />

capa.<br />

<strong>La</strong> mayor parte <strong>de</strong> los parámetros son relativos al formato <strong>de</strong>l documento a producir, tales<br />

como el tamaño y orientación <strong>de</strong> papel o los colores a emplear. Prueba diferentes opciones<br />

hasta en<strong>con</strong>trar el diseño que más se ajuste a tus necesida<strong>de</strong>s o gustos.<br />

En el campo Capa <strong>de</strong>bes seleccionar la capa a documentar, y en Subtítulo el campo <strong>de</strong> la<br />

misma que quieres utilizar para <strong>de</strong>nominar cada una <strong>de</strong> las entida<strong>de</strong>s.<br />

Si no se encuentra seleccionada ninguna entidad en la capa elegida, todas sus entida<strong>de</strong>s<br />

se incluirán en el documento. Si, por el <strong>con</strong>trario, existe una selección, sólo las entida<strong>de</strong>s<br />

seleccionadas pasan a formar parte <strong>de</strong> la documentación generada.<br />

El aspecto <strong>de</strong>l documento es como el siguiente.


218 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

11.12. Intersección <strong>de</strong> polígonos<br />

Ya sabemos cómo intersecar varias capas raster para obtener una nueva <strong>con</strong> distinta información.<br />

Podíamos llevar a cabo esto <strong>con</strong> el módulo Combinar Grids, o bien directamente <strong>con</strong><br />

la calculadora <strong>de</strong> mapas y algunos ✭✭trucos✮✮ sencillos (¿recuerdas esos números primos?)<br />

Para el caso <strong>de</strong>l cálculo <strong>de</strong>l Número <strong>de</strong> Curva, si en lugar <strong>de</strong> tener capas raster <strong>de</strong> tipo <strong>de</strong><br />

suelo y uso <strong>de</strong> suelo disponemos <strong>de</strong> dicha información en forma vectorial, po<strong>de</strong>mos intersecar<br />

las capas sin necesidad <strong>de</strong> <strong>con</strong>vertirlas en raster previamente, y obtener un resultado similar<br />

(aunque, por supuesto, un resultado vectorial a su vez).<br />

Como ya probablemente hayas adivinado, la intersección vectorial sólo pue<strong>de</strong> llevarse a<br />

cabo <strong>con</strong> capas <strong>de</strong> polígonos, no <strong>con</strong> capas <strong>de</strong> puntos o líneas.<br />

El módulo <strong>de</strong> intersección <strong>de</strong> polígonos es una herramienta versátil que pue<strong>de</strong> emplearse<br />

no sólo para intersecar dos capas, sino también para realizar algunas otras operaciones distintas<br />

(aunque relacionadas). Para trabajar <strong>con</strong> todas esas funcionalida<strong>de</strong>s trabajaremos <strong>con</strong><br />

dos capas <strong>de</strong> ejemplo muy sencillas. Entre los datos <strong>de</strong> ejemplo pue<strong>de</strong>s en<strong>con</strong>trar dos ficheros<br />

<strong>de</strong>nominados intersec1.shp y intersec2.shp. Ábrelos. Cada uno <strong>de</strong> ellos <strong>con</strong>tiene un simple<br />

rectángulo, y los dos se solapan en una <strong>de</strong> sus esquinas, tal y como pue<strong>de</strong> apreciarse en la<br />

siguiente figura.<br />

Para arrancar el módulo, selecciona el menú Intersección <strong>de</strong> Polígonos.


11.12. INTERSECCIÓN DE POLÍGONOS 219<br />

<strong>La</strong>s capas a intersecar se introducen en los campos Capa A y Capa B, y la capa resultante<br />

en Resultado<br />

Después <strong>de</strong> la intersección, pue<strong>de</strong> ocurrir que los polígonos se dividan. Si quieres mantener<br />

los polígonos disjuntos en una misma entidad (una entidad <strong>con</strong> muchas partes, recuerda la<br />

jerarquía vectorial. ..), no selecciones el campo Separar Partes. Si por el <strong>con</strong>trario prefieres<br />

que cada parte se encuentre en una entidad propia, selecciónalo.<br />

Por último, el campo Método permite seleccionar la operación que se <strong>de</strong>sea realizar. Son<br />

todas ellas bastantes sencillas <strong>de</strong> compren<strong>de</strong>r, así que en lugar <strong>de</strong> tratar <strong>de</strong> explicarlas, añado a<br />

<strong>con</strong>tinuación un ejemplo <strong>de</strong> cada una <strong>de</strong> ellas. Estoy seguro <strong>de</strong> que esto es mucho más práctico.


220 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

Sabemos lo que ocurre <strong>con</strong> los polígonos como entida<strong>de</strong>s espaciales, pero. ..¿qué pasa <strong>con</strong><br />

las tablas <strong>de</strong> atributos? <strong>La</strong> tabla <strong>de</strong> atributos <strong>de</strong> la capa resultante no <strong>con</strong>tiene datos <strong>de</strong> las<br />

capas originales, sino tan sólo los siguientes tres campos:<br />

ID: Un código <strong>de</strong> i<strong>de</strong>ntificación <strong>de</strong> cada polígono creado tras la intersección<br />

ID A: El código <strong>de</strong>l polígono <strong>de</strong> la capa A a partir <strong>de</strong>l cual se genera el polígono resultante.<br />

Si ningún polígono <strong>de</strong> la capa A se solapa <strong>con</strong> el mismo, este campo presentará un<br />

valor cero.<br />

ID B: El código <strong>de</strong>l polígono <strong>de</strong> la capa B a partir <strong>de</strong>l cual se genera el polígono resultante.<br />

Si ningún polígono <strong>de</strong> la capa B se solapa <strong>con</strong> el mismo, este campo presentará un<br />

valor cero.<br />

Al usar el método Diferencia, el campo ID B no aparece en la tabla resultante.<br />

Aquí tienes, por ejemplo, una <strong>de</strong> las tablas <strong>de</strong> atributos. ¿Pue<strong>de</strong>s adivinar a qué operación<br />

correspon<strong>de</strong>?<br />

Utilizando los campos ID A e ID B, junto <strong>con</strong> una tabla <strong>de</strong> asignación, pue<strong>de</strong>s crear un<br />

nuevo campo <strong>con</strong> otros parámetros <strong>de</strong>rivado <strong>de</strong> combinar las variables recogidas en las capas<br />

originales. Veremos en breve algunos módulos adicionales para facilitar este trabajo.<br />

11.13. Añadiendo propieda<strong>de</strong>s geométricas y espaciales a una<br />

capa<br />

Tres módulos en <strong>SEXTANTE</strong> permiten obtener nueva información sobre una capa relativa<br />

a sus propieda<strong>de</strong>s espaciales, bien generando otra capa accesoria o bien añadiendo nuevos<br />

campos en su tabla <strong>de</strong> atributos. Dos <strong>de</strong> ellos están enfocados a su uso <strong>con</strong> capas <strong>de</strong> polígonos,<br />

y producen información <strong>de</strong> tipo geométrico. El tercero está orientado a un uso <strong>con</strong> temas <strong>de</strong><br />

puntos, y simplemente aña<strong>de</strong> para cada punto las coor<strong>de</strong>nadas <strong>de</strong>l mismo.<br />

Empecemos <strong>con</strong> los módulos para polígonos. Selecciona el menú Centroi<strong>de</strong>s<br />

Este módulo creará una nueva capa <strong>de</strong> puntos <strong>con</strong> los centros <strong>de</strong> gravedad <strong>de</strong> los polígonos<br />

<strong>de</strong> una capa dada.<br />

Simplemente selecciona la capa <strong>de</strong> polígonos <strong>de</strong> entrada y una capa <strong>de</strong> salida. Ejecuta el<br />

módulo y obtendrás esta última.<br />

A <strong>con</strong>tinuación pue<strong>de</strong>s ver la capa <strong>de</strong> cuencas junto <strong>con</strong> la capa que <strong>con</strong>tiene los centros<br />

<strong>de</strong> gravedad <strong>de</strong> cada una <strong>de</strong> ellas.


11.13. AÑADIENDO PROPIEDADES GEOMÉTRICAS Y ESPACIALES A UNA CAPA221<br />

El módulo Propieda<strong>de</strong>s Geométricas <strong>de</strong> Polígonos es todavía más fácil <strong>de</strong> usar. No hay que<br />

seleccionar capa <strong>de</strong> salida, ya que el resultado se aña<strong>de</strong> a la tabla <strong>de</strong> atributos <strong>de</strong> la capa <strong>de</strong><br />

entrada.<br />

Dos nuevos campos se aña<strong>de</strong>n: Área y Perímetro. Ambos se encuentran expresados en las<br />

unida<strong>de</strong>s propias <strong>de</strong> la capa.<br />

<strong>La</strong> tabla que ves sobre estas líneas correspon<strong>de</strong> a la capa <strong>con</strong> el mapa <strong>de</strong> España, que<br />

está en coor<strong>de</strong>nadas geográficas, no en ninguna proyección, <strong>de</strong> ahí esos valores.<br />

Del mismo modo que el módulo anterior funciona el <strong>de</strong>nominado Añadir Coor<strong>de</strong>nadas a<br />

Puntos, que trabaja <strong>con</strong> capas <strong>de</strong> puntos<br />

Al igual que en el caso anterior, se aña<strong>de</strong>n dos campos nuevos, <strong>con</strong> las coor<strong>de</strong>nadas X e Y<br />

<strong>de</strong> cada uno <strong>de</strong> los puntos <strong>de</strong> la capa.


222 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

11.14. Convertir entre distintos tipos <strong>de</strong> capas vectoriales<br />

Como ya sabemos, en última instancia toda capa vectorial se reduce a un <strong>con</strong>junto <strong>de</strong><br />

puntos. De igual modo, todo polígono es un <strong>con</strong>junto <strong>de</strong> líneas. ello hace que se pueda pasar<br />

sencillamente <strong>de</strong> un tipo <strong>de</strong> capa más complejo a uno menos complejo. Es <strong>de</strong>cir, <strong>de</strong> polígonos a<br />

líneas y <strong>de</strong> líneas a puntos. El proceso inverso no es tan obvio, y en el caso <strong>de</strong> líneas a polígonos<br />

requiere que el sistema soporte el manejo <strong>de</strong> topología, algo no implementado en <strong>SEXTANTE</strong>.<br />

Aún así, también se incluyen algunos módulos que hacen este tipo <strong>de</strong> <strong>con</strong>versiones <strong>de</strong> otras<br />

formas o <strong>con</strong> ciertas peculiarida<strong>de</strong>s, pudiendo ser también útiles en ciertas situaciones. Veremos<br />

en esta sección cómo hacer uso <strong>de</strong> estos módulos, muy sencillos, por otra parte, <strong>de</strong> manejar.<br />

El más simple <strong>de</strong> ellos, tanto en su manejo como en sus <strong>con</strong>ceptos, es Polígonos a Líneas<br />

Simplemente selecciona la entrada y la salida, y el módulo crea como resultado una nueva<br />

capa <strong>con</strong> las mismas líneas que los polígonos <strong>de</strong> entrada, pero sin que éstas <strong>con</strong>stituyan<br />

polígonos (es <strong>de</strong>cir, que no podrás calcular el área a pesar <strong>de</strong> que en la representación se vea<br />

la forma <strong>de</strong>l polígono).<br />

El empleo <strong>de</strong>l módulo Líneas a Polígonos es idéntico, aunque su resultado requiere algo<br />

más <strong>de</strong> explicación. Puesto que <strong>SEXTANTE</strong> carece <strong>de</strong> capacida<strong>de</strong>s <strong>de</strong> manejo <strong>de</strong> topología,<br />

el módulo no efectúa una creación <strong>de</strong> polígonos a partir <strong>de</strong> estructuras <strong>de</strong> líneas, sino que<br />

simplemente coge cada línea y la cierra añadiendo una nueva entre el primer y el último<br />

punto, y <strong>con</strong> ellas <strong>con</strong>stituye el polígono.<br />

<strong>La</strong> última <strong>con</strong>versión que nos queda ver (líneas a puntos) es algo distinta, y para ella existe<br />

un módulo que no sólo aña<strong>de</strong> a la capa <strong>de</strong> puntos los vértices <strong>de</strong> la <strong>de</strong> líneas, sino que también<br />

✭✭rellena✮✮ los espacios entre vértices creando una capa <strong>con</strong> puntos equidistantes.<br />

Como veremos en el capítulo <strong>de</strong>dicado a los módulos <strong>de</strong> interpolación, una capa raster<br />

pue<strong>de</strong> crearse a partir <strong>de</strong> una capa <strong>de</strong> puntos empleando diversas técnicas <strong>de</strong> interpolación.<br />

Sin embargo, para crear por ejemplo un MDT, la información <strong>de</strong> elevaciones raramente se<br />

encuentra en forma <strong>de</strong> puntos, sino en forma <strong>de</strong> líneas (curvas <strong>de</strong> nivel). Esas líneas no pue<strong>de</strong>n<br />

como tales utilizarse en el módulo <strong>de</strong> interpolación, sino que <strong>de</strong>ben ser <strong>con</strong>vertidas en puntos.<br />

El módulo para esto se llama Crear Capa <strong>de</strong> Puntos Equidistantes a Partir <strong>de</strong> Líneas.<br />

<strong>La</strong> ventana <strong>de</strong> parámetros es sencilla. Selecciona la capa <strong>de</strong> líneas <strong>de</strong> entrada, la <strong>de</strong> puntos<br />

<strong>de</strong> salida, y la distancia a usar para separar los puntos. Aunque se encuentren a una distancia<br />

menor que la especificada, los vértices <strong>de</strong> la capa <strong>de</strong> líneas siempre se aña<strong>de</strong>n, utilizándose<br />

dicha distancia para dividir los segmentos mayores que la misma. <strong>La</strong>s unida<strong>de</strong>s en las que<br />

viene expresada son las mismas que las <strong>de</strong> la capa <strong>de</strong> entrada<br />

Para ver cómo funciona el módulo, crea una nueva capa <strong>de</strong> líneas (el <strong>con</strong>tenido <strong>de</strong> su<br />

tabla <strong>de</strong> atributos es indiferente aquí) y aña<strong>de</strong> manualmente algunas entida<strong>de</strong>s <strong>con</strong> segmentos<br />

largos. Ejecuta el módulo variando la distancia para ver cómo esto afecta al resultado. Lo que<br />

obtendrás se parecerá a lo siguiente.


11.15. CREANDO UNA MALLA DE PUNTOS 223<br />

Cuando utilices este método para preparar datos vectoriales <strong>de</strong> cara a aplicar un módulo<br />

<strong>de</strong> interpolación, la elección <strong>de</strong> la distancia <strong>de</strong>be <strong>de</strong>pen<strong>de</strong>r <strong>de</strong> las características <strong>de</strong> las curvas<br />

<strong>de</strong> nivel (equidistancia, etc.). El número <strong>de</strong> puntos (que <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la distancia especificada),<br />

afecta al rendimiento <strong>de</strong> los algoritmos <strong>de</strong> interpolación. Cuando lleguemos al capítulo <strong>de</strong>dicado<br />

a estos últimos, tendrás una base teórica algo más sólida sobre la que efectuar una correcta<br />

elección <strong>de</strong>l parámetro distancia.<br />

11.15. Creando una malla <strong>de</strong> puntos<br />

Pese a ser muy distinto <strong>de</strong>l anterior, el módulo Crear Malla <strong>de</strong> Puntos también pue<strong>de</strong><br />

ser una herramienta muy útil a la hora <strong>de</strong> interpolar datos. Este módulo crea una capa <strong>de</strong><br />

puntos en la que los mismos se encuentran dispuestos según una malla regular, cubriendo una<br />

extensión <strong>de</strong>finida por el usuario y <strong>con</strong> una distancia fija entre ellos también <strong>con</strong>figurable.<br />

¿Para qué pue<strong>de</strong> servir una capa <strong>de</strong> puntos así? Déjame que te muestre un caso real en el<br />

que no hace mucho yo mismo emplee este módulo.<br />

El Inventario Forestal Español (IFN) es un trabajo <strong>de</strong>sarrollado sobre una malla <strong>con</strong> puntos<br />

separados dos kilómetros entre sí. En cada uno <strong>de</strong> esos puntos, se realiza una parcela <strong>de</strong><br />

inventario, tomando datos <strong>de</strong> todos los pies <strong>con</strong>tenidos en la misma. Ahora supón que tienes<br />

la información <strong>de</strong> todas las parcelas que <strong>con</strong>tienen una especie dada (en el caso particular que<br />

<strong>de</strong>scribo era alcornoque — Quercus suber —). ¿Cómo crearías una capa raster que <strong>con</strong>tuviera<br />

en cada celda el valor <strong>de</strong> <strong>de</strong>nsidad <strong>de</strong> dicha especie?<br />

<strong>La</strong> solución más inmediata parece ser simplemente tomar dichos puntos e interpolar sus<br />

valores <strong>de</strong> <strong>de</strong>nsidad, ¿verdad?. Siento <strong>de</strong>cirte que esa no es una solución válida. Imagina dos<br />

puntos separados 4 kilómetros sin ningún punto entre medias <strong>de</strong> ellos (recuerda que solo<br />

tienes las parcelas que <strong>con</strong>tienen la especie que estás estudiando). Interpolando los valores<br />

<strong>de</strong> <strong>de</strong>nsidad, la celda situada entre los dos puntos anteriores (en la que la especie no esta<br />

presente, ya que no hay datos para la parcela que <strong>de</strong>bía situarse en ese lugar) tendrá un valor<br />

aproximadamente la mitad <strong>de</strong> los valores <strong>de</strong> las parcelas <strong>con</strong>ocidas (por mera simplicidad<br />

ignoro la influencia <strong>de</strong> otras parcelas a la hora <strong>de</strong> interpolar. ..). ¿Es ése un valor correcto?<br />

¡No! ¡Esa celda <strong>de</strong>bería tener un valor nulo!<br />

Lo que suce<strong>de</strong> es que tenemos únicamente una porción <strong>de</strong> la malla <strong>de</strong> parcelas original, pero<br />

<strong>de</strong>bemos trabajar <strong>con</strong> la malla completa. De otro modo, no tenemos información suficiente para<br />

crear correctamente la capa raster <strong>de</strong> <strong>de</strong>nsidad que queremos obtener. Por tanto, <strong>de</strong>bemos crear<br />

una capa <strong>con</strong> información <strong>de</strong> ✭✭relleno✮✮ y asignarle a sus entida<strong>de</strong>s valor cero para completar<br />

la malla original. Los puntos don<strong>de</strong> la <strong>de</strong>nsidad no es cero, <strong>de</strong>ben <strong>con</strong>servarse y no aparecer


224 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

en la malla <strong>de</strong> relleno. Utilizando las funcionalida<strong>de</strong>s básicas <strong>de</strong> edición <strong>de</strong> <strong>SEXTANTE</strong> y el<br />

modulo Unir Capas, esto es relativamente sencillo <strong>de</strong> hacer.<br />

Esta falta <strong>de</strong> información no sólo tiene que ver <strong>con</strong> las características <strong>de</strong> la capa raster, sino<br />

también <strong>con</strong> la variable que se preten<strong>de</strong> interpolar. Si no estuviéramos interpolando la <strong>de</strong>nsidad<br />

<strong>de</strong> una especie, sino, por ejemplo, la altura media, no habría necesidad <strong>de</strong> crear esta malla <strong>de</strong><br />

relleno (<strong>de</strong> hecho, sería incorrecto hacerlo). Los puntos don<strong>de</strong> no se encuentran pies <strong>de</strong>berían<br />

tener una altura media aproximadamente similar a la media <strong>de</strong> los puntos circundantes. En<br />

este momento, no hay pies en esa zona, pero <strong>de</strong> haberlos es lógico pensar que sus características<br />

serán similares a las <strong>de</strong>l entorno. Por supuesto, <strong>de</strong>be comprobarse todo esto sobre el terreno<br />

y estudiar otras variables, ya que pue<strong>de</strong> ser que esa ausencia se <strong>de</strong>ba en efecto a la existencia<br />

<strong>de</strong> una zona don<strong>de</strong> la especie no pue<strong>de</strong> crecer, pero a efectos <strong>de</strong> este ejemplo, no es necesario<br />

afinar tanto.<br />

El punto clave radica en que la <strong>de</strong>nsidad no es un valor <strong>con</strong>tinuo (pue<strong>de</strong> haber una zona<br />

<strong>de</strong> bosque y <strong>de</strong> repente un erial), mientras que la altura media pue<strong>de</strong> asumirse que sí lo es<br />

(salvo esos casos <strong>de</strong> zonas don<strong>de</strong> <strong>de</strong> repente las <strong>con</strong>diciones no son óptimas para la especie, que<br />

pue<strong>de</strong>n enten<strong>de</strong>rse como excepcionales. Te invito a pensar más sobre este asunto o, mejor aún,<br />

a echar un vistazo a algunas <strong>de</strong> las referencias dadas al final <strong>de</strong>l libro y apren<strong>de</strong>r más sobre<br />

el tema. Este tipo <strong>de</strong> problemas <strong>con</strong>stituyen una <strong>de</strong> las áreas más interesantes <strong>de</strong>l <strong>análisis</strong><br />

espacial y el uso <strong>de</strong> los Sistemas <strong>de</strong> Información Geográfica).<br />

Y <strong>de</strong>spués <strong>de</strong> toda esta (algo aburrida) teoría, vamos a ver cómo crear la malla <strong>de</strong> puntos,<br />

sea cual sea el uso que <strong>de</strong>sees darle.<br />

Selecciona el menú Crear Malla <strong>de</strong> Puntos.<br />

Selecciona las coor<strong>de</strong>nadas <strong>de</strong> las esquinas <strong>de</strong> la malla a crear, y la distancia entre sus<br />

puntos. Para <strong>de</strong>finir las fronteras <strong>de</strong>l espacio ocupado pue<strong>de</strong>s usar tanto valores positivos<br />

como negativos.<br />

<strong>La</strong> nueva capa tendrá un aspecto como el siguiente.


11.16. AJUSTAR UNA MALLA DE PUNTOS DENTRO DE UN POLÍGONO 225<br />

11.16. Ajustar una malla <strong>de</strong> puntos <strong>de</strong>ntro <strong>de</strong> un polígono<br />

A veces es necesario crear una malla como la anterior, pero <strong>con</strong> algunas restricciones. Por<br />

ejemplo, que <strong>con</strong>tenga un número dado <strong>de</strong> puntos, o que dichos puntos se ajusten a la extensión<br />

<strong>de</strong> una superficie dada. Este es un caso muy habitual al diseñar un inventario forestal, en el<br />

que necesitas un número n <strong>de</strong> parcelas regularmente distribuidas <strong>de</strong>ntro <strong>de</strong> una zona.<br />

<strong>SEXTANTE</strong> incluye un módulo <strong>de</strong>nominada Ajustar N Puntos en Polígono, que toma las<br />

entida<strong>de</strong>s seleccionadas <strong>de</strong> una capa <strong>de</strong> polígonos y automáticamente sitúa en ellas n puntos<br />

regularmente distribuidos. El resto <strong>de</strong> polígonos <strong>de</strong> la capa, si existen, no son utilizados.<br />

No siempre es posible ajustar el número exacto <strong>de</strong> puntos. En tal caso, el módulo itera<br />

hasta en<strong>con</strong>trar la mejor aproximación.<br />

A <strong>con</strong>tinuación pue<strong>de</strong>s ver un ejemplo <strong>de</strong> un resultado generado por este módulo.<br />

11.17. Creando una retícula<br />

Con la misma información utilizada para crear una malla <strong>de</strong> puntos, pue<strong>de</strong>s crear una<br />

retícula. Un uso típico <strong>de</strong> dicha retícula es mejorar el aspecto y la información <strong>con</strong>tenida en una<br />

representación <strong>de</strong> mapa, mostrando las líneas que <strong>de</strong>limitan las distintas zonas UTM. También<br />

pue<strong>de</strong> utilizarse como capa <strong>de</strong> divisiones al generar una familia <strong>de</strong> planos automáticamente.<br />

Para crear una retícula, selecciona el módulo Crear Retícula


226 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

Los campos que encuentras en esta ventana <strong>de</strong> parámetros son más o menos los mismos<br />

que en el caso <strong>de</strong> crear una malla <strong>de</strong> puntos, por lo que no te será difícil enten<strong>de</strong>rlos. En este<br />

caso, sin embargo, pue<strong>de</strong> <strong>de</strong>finir un intervalo diferente para cada eje, en cuyo caso la retícula<br />

no se compondrá <strong>de</strong> cuadrados sino <strong>de</strong> rectángulos.<br />

Hay a<strong>de</strong>más un campo adicional (Tipo <strong>de</strong> resultado), que pue<strong>de</strong>s utilizar para <strong>de</strong>finir el<br />

tipo <strong>de</strong> salida que <strong>de</strong>seas, bien una capa <strong>de</strong> lineas o bien una <strong>de</strong> polígonos. Si lo que <strong>de</strong>seas<br />

es añadir la retícula como elemento visual a una representación, selecciona la salida en forma<br />

<strong>de</strong> líneas. Si quieres utilizarla como capa <strong>de</strong> divisiones, entonces <strong>de</strong>bes optar por una capa <strong>de</strong><br />

polígonos.<br />

Aquí pue<strong>de</strong>s ver una capa raster <strong>con</strong> una retícula.<br />

11.18. Recuento <strong>de</strong> puntos en polígonos<br />

Es relativamente frecuente el trabajar <strong>con</strong> una capa <strong>de</strong> puntos <strong>con</strong> parcelas <strong>de</strong> inventario<br />

y una capa auxiliar <strong>de</strong> polígonos que <strong>de</strong>fine una serie <strong>de</strong> zonas. En tal caso, resulta interesante<br />

el po<strong>de</strong>r <strong>con</strong>ocer el número <strong>de</strong> puntos que caen <strong>de</strong>ntro <strong>de</strong> cada polígono, y ello pue<strong>de</strong> hacerse<br />

<strong>de</strong> modo sencillo mediante el módulo Contar Puntos en Polígono<br />

Se necesitan, como es lógico, dos capas vectoriales, una <strong>con</strong> los puntos y otra <strong>con</strong> los<br />

polígonos.<br />

Una vez ejecutado el módulo, se añadirá un nuevo campo a la tabla <strong>de</strong> atributos <strong>de</strong> la capa<br />

<strong>de</strong> polígonos, <strong>con</strong>teniendo el recuento <strong>de</strong> puntos que se engloban en el mismo.


11.19. MOVER, ROTAR Y ESCALAR CAPAS 227<br />

Si los polígonos se solapan, un punto pue<strong>de</strong> en<strong>con</strong>trarse al mismo tiempo en varios <strong>de</strong> ellos,<br />

por lo que la suma <strong>de</strong> todos los valores <strong>de</strong> este nuevo campo pue<strong>de</strong> ser superior a la <strong>de</strong> puntos<br />

en la capa <strong>de</strong> puntos.<br />

11.19. Mover, rotar y escalar capas<br />

<strong>La</strong>s entida<strong>de</strong>s <strong>de</strong>ntro <strong>de</strong> una capa se pue<strong>de</strong>n mover, escalar y rotar usando un sencillo<br />

módulo <strong>de</strong> <strong>SEXTANTE</strong>. Pese a que éstas operaciones tal vez sean vistas como imprecisas o<br />

poco ortodoxas <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista estricto <strong>de</strong>l cartógrafo, lo cierto es que si trabajas<br />

frecuentemente <strong>con</strong> datos vectoriales probablemente te encuentres a veces en circunstancias<br />

en las que llevar a cabo alguna <strong>de</strong> estas operaciones te resulte sumamente útil.<br />

Algunos casos típicos son el cambio <strong>de</strong> escala (por ejemplo, <strong>de</strong> metros a pies), o el cambio <strong>de</strong><br />

origen <strong>de</strong> coor<strong>de</strong>nadas, aunque en muchos otros un movimiento o rotación <strong>de</strong> las capas pue<strong>de</strong><br />

ser más bien una especie <strong>de</strong> ✭✭truco✮✮ para ajustar los datos o prepararlos para un <strong>análisis</strong><br />

posterior.<br />

Con una única ventana <strong>de</strong> parámetros, pue<strong>de</strong>s realizar estas tres operaciones (o sólo algunas<br />

<strong>de</strong> ellas) mediante el módulo Transformar entida<strong>de</strong>s.<br />

Si <strong>de</strong>jas los valores por <strong>de</strong>fecto no se producirá transformación alguna, por lo que si <strong>de</strong>seas,<br />

por ejemplo, rotar una capa, simplemente no modifiques los parámetros <strong>de</strong> los grupos Mover<br />

y Escalar.<br />

Para mover las entida<strong>de</strong>s <strong>de</strong> una capa, simplemente introduce la distancia <strong>de</strong> <strong>de</strong>splazamiento<br />

en ambos ejes en los campos dX y dY.<br />

Para rotar, introduce el ángulo en grados y un punto sobre el que pivotar el giro, especificando<br />

sus coor<strong>de</strong>nadas x e y. Los ángulos se mi<strong>de</strong>n en sentido horario <strong>de</strong>s<strong>de</strong> el norte. Pue<strong>de</strong><br />

emplear ángulos negativos.


228 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

El punto fijo se usa no sólo para pivotar sino también para escalar la capa. Debes <strong>de</strong>finir<br />

el factor <strong>de</strong> escala en ambos ejes. Por ejemplo, para hacer que cada entidad sea el doble <strong>de</strong><br />

gran<strong>de</strong>, introduce un valor 2 en los campos Escala X y Escala Y.<br />

Existe un grupo <strong>de</strong> módulos <strong>de</strong>stinados a servir como guía para aquellos que <strong>de</strong>seen apren<strong>de</strong>r<br />

a programar sus propios módulos en <strong>SEXTANTE</strong>. No obstante, ello no significa que estos<br />

módulos no tengan a<strong>de</strong>más un uso real. El módulo Reproyectar una Capa Vectorial es bastante<br />

similar al que acabamos <strong>de</strong> ver, y pue<strong>de</strong> ser utilizado <strong>con</strong> el mismo fin.<br />

Su ventaja <strong>de</strong> parámetros es distinta, pero se trata simplemente <strong>de</strong> otra forma diferente <strong>de</strong><br />

solucionar un mismo problema. Cualquier cosa que puedas hacer <strong>con</strong> el otro módulo la pue<strong>de</strong>s<br />

hacer <strong>con</strong> éste, y viceversa. Simplemente elije en cada caso el que te resulte más cómodo <strong>de</strong><br />

usar. En la variedad está el gusto.<br />

11.20. Simplificar un tema <strong>de</strong> líneas<br />

Como ya se dijo en el capítulo <strong>de</strong>dicado al <strong>análisis</strong> <strong>de</strong>l terreno, en ocasiones pue<strong>de</strong> ser<br />

necesario reducir el nivel <strong>de</strong> <strong>de</strong>talle <strong>de</strong> un tema <strong>de</strong> líneas. <strong>La</strong> forma más obvia — aunque no<br />

muy precisa —, es simplemente crear una nueva capa que <strong>con</strong>tenga un sub<strong>con</strong>junto <strong>de</strong> los<br />

vértices <strong>de</strong> la capa original, toma uno <strong>de</strong> ellos cada n. Este método no da lugar a resultados<br />

<strong>de</strong> calidad, ya que <strong>de</strong>ntro <strong>de</strong> la geometría <strong>de</strong> la línea no todos los puntos tienen la misma<br />

importancia a la hora <strong>de</strong> mantener la forma global <strong>de</strong> la misma. Por ejemplo, en la siguiente<br />

figura po<strong>de</strong>mos eliminar el punto B sin per<strong>de</strong>r información sobre la forma <strong>de</strong> la línea, mientras<br />

que si quitamos el punto A el cambio que se produciría sería notable.<br />

<strong>SEXTANTE</strong> implementa un <strong>con</strong>ocido algoritmo <strong>de</strong>sarrollado por Douglas y Peucker, que<br />

garantiza que la línea resultante se asemeja lo más posible a la original (por supuesto, si se<br />

reduce drásticamente el número <strong>de</strong> puntos, la diferencia entre ambas será inevitable).


11.20. SIMPLIFICAR UN TEMA DE LÍNEAS 229<br />

¿En qué casos pue<strong>de</strong> ser necesario reducir el <strong>de</strong>talle <strong>de</strong> un tema <strong>de</strong> líneas? Veamos:<br />

Para reducir el tiempo <strong>de</strong> representación. Trazar una línea <strong>con</strong> un gran número <strong>de</strong> puntos<br />

pue<strong>de</strong> llevar un tiempo elevado.<br />

Para reducir el espacio necesario para almacenar la capa.<br />

Para mejorar el rendimiento y precisión <strong>de</strong> otras operaciones a realizar <strong>con</strong> la capa. <strong>La</strong>s<br />

operaciones basadas en una capa previamente simplificada requieren un menor tiempo <strong>de</strong><br />

ejecución y en ocasiones generan resultados más precisos, al no trabajar <strong>con</strong> información<br />

superflua.<br />

Para simplificar un tema <strong>de</strong> líneas, abre el módulo Simplificar Líneas.<br />

Hay tres métodos diferentes, a seleccionar en el campo Método.<br />

Tolerancia. Con la tolerancia establecida en el campo <strong>de</strong>l mismo nombre, se eliminan<br />

los puntos fuera <strong>de</strong>l rango <strong>de</strong> la misma.<br />

Porcentaje <strong>de</strong> puntos iniciales. Selecciona el porcentaje <strong>de</strong> puntos que <strong>de</strong>seas mantener<br />

en la capa, un error posible, y el módulo automáticamente ajusta la tolerancia<br />

para ello.<br />

Número <strong>de</strong> puntos. Como el caso anterior, pero aquí se especifica directamente el<br />

número absoluto <strong>de</strong> puntos <strong>de</strong> la capa final.<br />

Date cuenta que el error posible se utiliza en los dos últimos métodos pero únicamente<br />

existe un campo, por lo que éste <strong>con</strong>tendrá un tipo diferente <strong>de</strong> información según el caso.<br />

En el primero es un porcentaje (pue<strong>de</strong> ser un numero real), mientras que en el segundo es un<br />

numero <strong>de</strong> puntos dado (<strong>de</strong>be ser un entero, en caso <strong>con</strong>trario se redon<strong>de</strong>a).<br />

A <strong>con</strong>tinuación pue<strong>de</strong>s ver el efecto <strong>de</strong> este módulo sobre un perfil según la línea <strong>de</strong> flujo,<br />

empleando el método Porcentaje <strong>de</strong> puntos iniciales, un porcentaje <strong>de</strong>l 10 % y un 5 % <strong>de</strong> error<br />

(es <strong>de</strong>cir, que las líneas resultantes <strong>con</strong>tienen 10 % ±5 % <strong>de</strong> los puntos <strong>de</strong> las líneas originales).


230 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES<br />

11.21. Diagramas <strong>de</strong> barras y sectores<br />

Crear un diagrama <strong>de</strong> barras a partir <strong>de</strong> los datos <strong>de</strong> una entidad dada no es algo difícil,<br />

pero más interesante que hacerlo <strong>de</strong> forma aislada es unirlo <strong>con</strong> la propia representación <strong>de</strong><br />

dicha entidad en un mapa, para <strong>de</strong> este modo po<strong>de</strong>r ampliar la información que se obtiene <strong>de</strong><br />

la misma.<br />

Por ejemplo, po<strong>de</strong>mos representar una capa <strong>de</strong> polígonos <strong>con</strong> divisiones administrativas<br />

en función <strong>de</strong> su población (dividida ésta a su vez en grupos) empleando un diagrama <strong>de</strong><br />

sectores. <strong>La</strong> población total se usa para dimensionar el tamaño <strong>de</strong> cada ✭✭tarta✮✮, mientras<br />

que los sectores en la misma nos muestran la distribución <strong>de</strong>ntro <strong>de</strong> las distintas clases (por<br />

ejemplo pue<strong>de</strong>n ser grupos <strong>de</strong> edad, raciales, etc.). Como ves, mucha más información en un<br />

solo vistazo que la <strong>de</strong> la simple capa.<br />

En <strong>SEXTANTE</strong>, para llevar esto a cabo, lo que se hace es generar una nueva capa vectorial<br />

que <strong>con</strong>tiene el gráfico (<strong>de</strong> sectores en el ejemplo anterior, aunque también pue<strong>de</strong> ser <strong>de</strong> barras),<br />

y pue<strong>de</strong>s añadir esta nueva capa a la representación según te <strong>con</strong>venga, así como varías la forma<br />

en que se dibuja sin más que modificar sus propieda<strong>de</strong>s <strong>de</strong> representación como lo harías <strong>con</strong><br />

cualquier otra capa.<br />

Veamos como crear estos gráficos. Abre el módulo Crear capa <strong>de</strong> gráficos (sectores/barras)<br />

El primer campo que <strong>de</strong>bes seleccionar es la capa vectorial que <strong>con</strong>tiene la información<br />

necesaria para crear el gráfico, en el campoCapa Vectorial.<br />

A <strong>con</strong>tinuación, <strong>de</strong>bes especificar <strong>de</strong> entre los campos <strong>de</strong> la tabla cuál emplear para dimensionar<br />

el gráfico, y <strong>de</strong>limitar el tamaño máximo y mínimo <strong>de</strong>l mismo. El tamaño mínimo<br />

será para la entidad <strong>con</strong> el mínimo valor para el campo especificado, y <strong>de</strong> igual modo para el<br />

máximo. Los tamaños para las restantes serán proporcionales a su valor en dicho campo. Tanto<br />

el valor <strong>de</strong> mínimo tamaño como el <strong>de</strong> máximo vienen expresados en las unida<strong>de</strong>s mismas <strong>de</strong><br />

la capa (no olvi<strong>de</strong>s que vamos a crear una nueva capa que tendrá que coexistir <strong>con</strong> la original<br />

en una representación <strong>de</strong> mapa <strong>con</strong> un único sistema <strong>de</strong> coor<strong>de</strong>nadas).<br />

En el campo Tipo <strong>de</strong> Gráfico selecciona si <strong>de</strong>seas un gráfico <strong>de</strong> barras o <strong>de</strong> sectores.<br />

Una vez hecho esto, haz clic en aceptar para pasar a una segunda ventana <strong>de</strong> parámetros.<br />

Al igual que en el caso <strong>de</strong> crear un resumen, esta pantalla <strong>de</strong> parámetros no es siempre como<br />

la que ves en la figura anterior, sino que <strong>de</strong>pen<strong>de</strong> <strong>de</strong> los campos <strong>de</strong> la tabla <strong>de</strong> atributos <strong>de</strong><br />

la capa seleccionada. En este caso, tienes los campos como tales (no una variable <strong>de</strong>rivada<br />

<strong>de</strong> los valores <strong>de</strong> los mismos), y pue<strong>de</strong>s seleccionar todos los que <strong>de</strong>sees. Cada uno <strong>de</strong> ellos<br />

<strong>con</strong>stituirá una ✭✭porción✮✮ <strong>de</strong> la tarta.<br />

Cierra esta segunda ventana <strong>de</strong> parámetros haciendo clic en Aceptar y la nueva capa<br />

pasará a incorporarse a la pestaña <strong>de</strong> datos.<br />

Aquí pue<strong>de</strong>s ver un posible resultado en forma <strong>de</strong> sectores.


11.21. DIAGRAMAS DE BARRAS Y SECTORES 231


232 CAPÍTULO 11. MÓDULOS PARA CAPAS VECTORIALES


Módulos para tablas<br />

12.1. Introducción<br />

Capítulo 12<br />

Comparativamente <strong>con</strong> el número <strong>de</strong> módulos para capas raster y vectorial que hemos visto<br />

(¡y los que aún nos quedan por ver!), los <strong>de</strong> tablas son muy reducidos, aunque no obstante<br />

también cumplen una función importante para el manejo <strong>de</strong> este tipo <strong>de</strong> datos.<br />

De cualquier modo, no <strong>de</strong>bes olvidar que <strong>SEXTANTE</strong> lee los formatos más populares para<br />

tablas y bases <strong>de</strong> datos (tales como los ficheros dBase asociados al formato shapefile), lo cual<br />

te permite crear y editar tablas <strong>con</strong> otros programas. Por ejemplo, una hoja <strong>de</strong> cálculo es<br />

siempre una herramienta muy útil, ya sea para trabajos relacionados <strong>con</strong> SIG o no.<br />

El manejo potente <strong>de</strong> bases <strong>de</strong> datos es una <strong>de</strong> las asignaturas pendientes <strong>de</strong> <strong>SEXTANTE</strong><br />

(no olvi<strong>de</strong>s que se trata <strong>de</strong> un SIG principalmente <strong>de</strong> <strong>análisis</strong>, y es ahí don<strong>de</strong> resi<strong>de</strong> su potencia<br />

frente a otras soluciones), así que, aunque a la hora <strong>de</strong> trabajar <strong>con</strong> MDTs es muy difícil que<br />

las capacida<strong>de</strong>s <strong>de</strong>l programa se que<strong>de</strong>n cortas, a la hora <strong>de</strong> realizar complejas operaciones<br />

<strong>con</strong> las bases <strong>de</strong> datos asociadas a una capa vectorial, o bien <strong>con</strong> tablas aisladas, tal vez no<br />

sea mala i<strong>de</strong>a apoyarse en algún otro software.<br />

Veamos ahora esos mo<strong>de</strong>stos (aunque muy útiles) módulos para tablas incluidos en SEX-<br />

TANTE.<br />

12.2. Ajuste <strong>de</strong> funciones a los datos <strong>de</strong> una tabla<br />

A diferencia <strong>de</strong> otros módulos para tablas, el modulo Ajustar Función es un módulo <strong>de</strong><br />

<strong>análisis</strong> en su sentido estricto. Utilizándolo pue<strong>de</strong>s ajustar una expresión a los datos <strong>con</strong>tenidos<br />

en la tabla, y obtener los valores <strong>de</strong> dicha expresión en los puntos que <strong>de</strong>finen los diferentes<br />

registros <strong>de</strong> la misma. Ejecútalo y llegarás a la siguiente ventana <strong>de</strong> parámetros.<br />

233


234 CAPÍTULO 12. MÓDULOS PARA TABLAS<br />

En primer lugar, selecciona la tabla don<strong>de</strong> se encuentran los datos en el campo Tabla.<br />

Para este ejemplo utilizaremos la tabla <strong>de</strong>l fichero TablaAjuste.dbf, incluida entre los datos <strong>de</strong><br />

ejemplo <strong>de</strong>l programa. Ábrela para <strong>con</strong>tinuar trabajando. Esta tabla es el resultado <strong>de</strong> aplicar<br />

el módulo Dimensión Fractal <strong>de</strong> un Grid (que veremos más a<strong>de</strong>lante) sobre nuestro <strong>con</strong>ocido<br />

MDT.<br />

Selecciona la columna <strong>con</strong> los valores y en el campo Y. Si los puntos se encuentran equiespaciados,<br />

como en este caso, no es necesario emplear un campo x. Pue<strong>de</strong>s ajustar esto <strong>de</strong>seleccionando<br />

el campo Utilizar Valores x. Si resulta necesario utilizarlos, selecciona la columna en<br />

la que se encuentren en el campo x.<br />

En el campo Fórmula <strong>de</strong>bes <strong>de</strong>finir el tipo <strong>de</strong> curva que <strong>de</strong>seas ajustar. Se trata <strong>de</strong> un<br />

campo muy flexible, en el estilo <strong>de</strong> los ya vistos para la calculadora <strong>de</strong> mapas y otros módulos<br />

<strong>de</strong> similares prestaciones, aunque <strong>con</strong> alguna funcionalidad adicional.<br />

Pue<strong>de</strong>s usar operadores tales como suma(+) o resta(-), junto <strong>con</strong> funciones <strong>de</strong>l tipo cos(),<br />

sin() y otras que ya fueron explicadas en su momento <strong>con</strong> la calculadora <strong>de</strong> mapas. <strong>La</strong> variable x<br />

<strong>de</strong>be aparecer, y junto a ella pue<strong>de</strong>s emplear <strong>con</strong>stantes expresadas <strong>con</strong> caracteres (a,b, c, d...)<br />

A<strong>de</strong>más, pue<strong>de</strong>s efectuar ajuste <strong>de</strong> variogramas aplicando las siguientes funciones.<br />

SPH(x): Mo<strong>de</strong>lo esférico.<br />

NUG(x,a): Nugget<br />

LIN(x,a): Regressión lineal<br />

EXP(x,a): Regresión exponencial<br />

Ajusta la ecuación según tus necesida<strong>de</strong>s y <strong>de</strong>spués rellena los campos Iteraciones y <strong>La</strong>mbda.<br />

Éstos <strong>con</strong>trolan la forma en que el proceso iterativo <strong>de</strong> ajuste se lleva a cabo y cuándo se<br />

<strong>de</strong>tiene, por lo que pue<strong>de</strong>s modificarlos para <strong>con</strong>seguir un ajuste más preciso <strong>de</strong>l algoritmo.<br />

Una vez que todos los campos han sido ajustados, haz clic en Aceptar. Verás una ventana<br />

<strong>de</strong> parámetros similar a la siguiente.<br />

Puesto que el proceso <strong>de</strong> ajuste se basa en un esquema iterativo, <strong>de</strong>bes proporcionar valores<br />

iniciales para todas las <strong>con</strong>stantes <strong>con</strong>tenidas en la fórmula especificada.<br />

Vuelve a hacer clic en Aceptar para ejecutar finalmente el módulo.<br />

El resultado obtenido no es una nueva capa o tabla, sino simplemente un nuevo campo en<br />

la tabla elegida, <strong>con</strong> los valores que se <strong>de</strong>rivan <strong>de</strong> la fórmula ajustada.<br />

Ajustando una función lineal como la que aparece por <strong>de</strong>fecto, y empleando el campo<br />

Dim02 para los valores en y, <strong>de</strong>berías obtener unos nuevos valores como los siguientes.


12.2. AJUSTE DE FUNCIONES A LOS DATOS DE UNA TABLA 235<br />

Es una buena i<strong>de</strong>a representar los valores ajustados junto <strong>con</strong> los originales para tener una<br />

percepción visual <strong>de</strong> la bondad <strong>de</strong> ajuste <strong>de</strong> los primeros.<br />

Supongo que ya sabrás cómo hacerlo sin necesidad <strong>de</strong> más explicaciones, ¿no?<br />

He aquí un pequeño truco acerca <strong>de</strong> las tablas y los diagramas. El diagrama se crea a<br />

partir <strong>de</strong> los datos <strong>de</strong> la tabla en el or<strong>de</strong>n en el que éstos se encuentran, y cambia cuando éste<br />

se altera o cuando se modifica alguno <strong>de</strong> los valores individuales. Para que los cambios tengan<br />

efecto <strong>de</strong>bes generar <strong>de</strong> nuevo el gráfico (basta para ello abrir la ventana Propieda<strong>de</strong>s <strong>de</strong> la<br />

tabla y hacer clic en Aceptar)<br />

El gráfico anterior generado <strong>con</strong> la tabla or<strong>de</strong>nada según el campo dim02 tiene el siguiente<br />

aspecto.


236 CAPÍTULO 12. MÓDULOS PARA TABLAS<br />

12.3. Enumerar un atributo en una tabla<br />

En muchas ocasiones, por ejemplo para crear una tabla <strong>de</strong> asignación, pue<strong>de</strong> ser útil asignar<br />

a cada registro <strong>de</strong> una tabla un valor entero i<strong>de</strong>ntificativo <strong>de</strong> acuerdo <strong>con</strong> el valor en otro <strong>de</strong><br />

sus campos, numerando los registros <strong>de</strong> forma correlativa.<br />

Para llevar esto a cabo, el módulo Enumerar Atributo es sencillo <strong>de</strong> utilizar y muy práctico.<br />

Selecciona la tabla y el atributo a utilizar, y obtendrás una nueva <strong>con</strong> un campo don<strong>de</strong> se<br />

recoge el i<strong>de</strong>ntificador asociado a cada registro.<br />

Es fácil darse cuenta <strong>de</strong> que esto es muy similar a lo que vimos en el caso <strong>de</strong> la función<br />

Crear Tabla <strong>de</strong> Asignación <strong>de</strong> una capa vectorial, sólo que en este caso para tablas aisladas.<br />

12.4. Calculando nuevos campos en una tabla<br />

Si recuerdas <strong>de</strong>l capítulo anterior, el modulo Calculadora(tablas <strong>de</strong> atributos) permitía<br />

añadir nuevos campos calculados en función <strong>de</strong> otros a la tabla <strong>de</strong> atributos <strong>de</strong> una capa.<br />

El módulo Calculadora(tablas in<strong>de</strong>pendientes) realiza la misma función pero trabajando <strong>con</strong><br />

tablas que no se encuentran asociadas a ninguna capa.<br />

Por lo <strong>de</strong>más, su funcionamiento es idéntico, así que no es necesario explicar su manejo.<br />

12.5. Desvinculando una tabla <strong>de</strong> su capa asociada<br />

El punto anterior pone <strong>de</strong> manifiesto que <strong>SEXTANTE</strong> trata las tablas <strong>de</strong> modo distinto si<br />

éstas se hallan asociadas a una capa o bien se encuentran ✭✭libres✮✮. A veces pue<strong>de</strong> ser interesante<br />

trabajar <strong>con</strong> una tabla <strong>de</strong> atributos <strong>de</strong> forma in<strong>de</strong>pendiente, ✭✭sacándola✮✮ <strong>de</strong> la capa.


12.6. ROTACIÓN DE UNA TABLA 237<br />

Para llevar esto a cabo, no existe módulo alguno, pero pue<strong>de</strong>s recurrir a una solución<br />

muy sencilla. En el directorio don<strong>de</strong> se encuentre la capa, abre su fichero dbf asociado. Ello<br />

creará una nueva tabla <strong>con</strong> su información. A la hora <strong>de</strong> guardarla (si la has modificado y no<br />

<strong>de</strong>seas que esos cambios pasen a la capa), no olvi<strong>de</strong>s hacerlo <strong>con</strong> un nombre distinto. Mientras<br />

la tabla está cargada, si la modificas en <strong>SEXTANTE</strong> los cambios no pasan al fichero hasta<br />

que no se guardan, así que pue<strong>de</strong>s hacerlo <strong>con</strong> tranquilidad sin riesgo <strong>de</strong> que existan <strong>con</strong>flictos<br />

<strong>de</strong> datos entre las dos ✭✭versiones✮✮ <strong>de</strong> la tabla que tienes abiertas.<br />

12.6. Rotación <strong>de</strong> una tabla<br />

El módulo Rotar Tabla ya no es un módulo <strong>de</strong> <strong>análisis</strong> propiamente dicho, pero trabaja<br />

directamente <strong>con</strong> tablas. Empléalo cuando necesites rotar una tabla, es <strong>de</strong>cir, poner sus filas<br />

como columnas y sus columnas como filas.<br />

Su ventana <strong>de</strong> parámetros es sumamente sencilla.<br />

Simplemente selecciona una tabla <strong>de</strong> entrada y otra <strong>de</strong> salida (que pue<strong>de</strong> ser la misma),<br />

y...¡ya está!


238 CAPÍTULO 12. MÓDULOS PARA TABLAS


Interpolación. Geoestadística<br />

13.1. Introducción<br />

Capítulo 13<br />

Una gran parte <strong>de</strong> los datos <strong>con</strong> los que trabajarás en el día a día no van a en<strong>con</strong>trarse<br />

en formato raster. Empezando por la información <strong>de</strong> elevaciones, que como ya vimos se<br />

presenta habitualmente en forma <strong>de</strong> curvas <strong>de</strong> nivel, muchas variables se almacenan en capas<br />

vectoriales. Puesto que la mayoría <strong>de</strong> módulos <strong>de</strong> <strong>análisis</strong> están <strong>de</strong>sarrollados sobre una base<br />

raster, <strong>con</strong>vertir la información <strong>de</strong> un formato a otro es una operación que se <strong>de</strong>be <strong>con</strong>ocer<br />

para po<strong>de</strong>r utilizarla cuando sea necesario, para <strong>de</strong> este modo sacar el máximo partido a toda<br />

la información espacial <strong>de</strong> la que dispongas.<br />

Apren<strong>de</strong>r a <strong>con</strong>vertir datos <strong>de</strong> vectorial a raster no es simplemente apren<strong>de</strong>r a manejar un<br />

<strong>con</strong>junto <strong>de</strong> módulos. Ya hemos visto cómo crear capas raster a partir <strong>de</strong> vectoriales <strong>con</strong> el<br />

módulo Rasterizar Capa Vectorial, pero en este capítulo estudiaremos algunos módulos más<br />

complejos que no crean simplemente un ✭✭clon✮✮ <strong>de</strong> la capa original, sino que la ✭✭mejoran✮✮<br />

empleando algoritmos <strong>de</strong> interpolación. Esto requiere algo <strong>de</strong> <strong>con</strong>ocimiento adicional para<br />

saber cómo ajustar dichos algoritmos, a fin <strong>de</strong> evitar un uso erróneo o poco preciso <strong>de</strong> los<br />

mismos.<br />

Cuando se interpola sobre una capa vectorial, se crean nuevos datos, y la calidad <strong>de</strong> éstos<br />

<strong>de</strong>be ser tenida en cuenta para darles un uso posterior correcto. Un par <strong>de</strong> i<strong>de</strong>as básicas al<br />

respecto te ayudarán a crear nueva información <strong>de</strong> calidad suficiente (siempre que esto sea<br />

posible) o, al menos, a darte cuenta <strong>de</strong> que la información vectorial <strong>de</strong> partida es, por <strong>de</strong>sgracia,<br />

insuficiente para ello.<br />

A lo largo <strong>de</strong> este capítulo trabajaremos exclusivamente <strong>con</strong> capas <strong>de</strong> puntos, <strong>de</strong>jando por el<br />

momento las capas <strong>de</strong> líneas y polígonos a un lado. Para darte una i<strong>de</strong>a inicial <strong>de</strong>l <strong>con</strong>tenido <strong>de</strong>l<br />

capítulo, imagina que <strong>con</strong>viertes una capa <strong>de</strong> puntos en una malla raster empleando el módulo<br />

Rasterizar Capa Vectorial. Sin duda, lo más probable es que la capa resultante <strong>con</strong>tenga muchas<br />

celdas sin datos. Con los módulos <strong>de</strong> este capítulo podrás generar directamente una capa<br />

raster ✭✭completa✮✮, incluso si la capa vectorial <strong>de</strong> partida <strong>con</strong>tiene un único punto. Enten<strong>de</strong>rás<br />

mejor esta diferencia cuando empecemos a trabajar <strong>con</strong> más <strong>de</strong>talle <strong>con</strong> los algoritmos <strong>de</strong><br />

interpolación.<br />

Junto <strong>con</strong> los propios módulos <strong>de</strong> interpolación, se incluyen por mera coherencia <strong>de</strong> <strong>con</strong>tenidos<br />

en este capítulo algunos que no generan capas raster a partir <strong>de</strong> vectoriales, pero que<br />

guardan una relación <strong>con</strong> los anteriores en cuanto a sus fundamentos <strong>con</strong>ceptuales. Todos ellos<br />

<strong>con</strong>forman lo que po<strong>de</strong>mos <strong>de</strong>nominar el <strong>con</strong>junto <strong>de</strong> módulos <strong>de</strong> <strong>SEXTANTE</strong> <strong>de</strong>dicados a la<br />

Geoestadística.<br />

239


240 CAPÍTULO 13. INTERPOLACIÓN. GEOESTADÍSTICA<br />

13.2. Interpolación <strong>de</strong> datos por distancia inversa (IDW)<br />

El más sencillo <strong>de</strong> los módulos <strong>de</strong> interpolación es el <strong>de</strong>nominado Distancia Inversa (pue<strong>de</strong>s<br />

en<strong>con</strong>trar estos módulos en el menú Grid/Raster–Vectorial/Interpolación <strong>de</strong>s<strong>de</strong> Puntos)<br />

Selecciona la capa <strong>de</strong> puntos que <strong>de</strong>seas interpolar y en Campo escoge cuál <strong>de</strong> sus campos<br />

<strong>de</strong> atributos <strong>con</strong>tiene la variable a utilizar (sólo pue<strong>de</strong>s interpolar una variable, ya que sólo se<br />

creará una única capa raster). Por supuesto, el campo escogido tiene que ser <strong>de</strong> tipo numérico.<br />

En el grupo Opciones en<strong>con</strong>trarás cuatro campos. Uno <strong>de</strong> ellos es el <strong>con</strong>ocido Dimensiones<br />

<strong>de</strong>l grid resultante, <strong>con</strong> el que ya hemos trabajado y que no requiere mayor explicación, así como<br />

los parámetros <strong>de</strong> las sucesivas ventanas <strong>de</strong> parámetros que se hayan relacionadas <strong>con</strong> el mismo.<br />

Los tres campos restantes <strong>con</strong>trolan el comportamiento <strong>de</strong>l algoritmo <strong>de</strong> interpolación. Para<br />

cada celda <strong>de</strong> la capa resultante, un área <strong>de</strong> radio fijo es ✭✭rastreada✮✮ alre<strong>de</strong>dor <strong>de</strong> la misma en<br />

busca <strong>de</strong> puntos <strong>con</strong> valores. Pue<strong>de</strong>s ajustar dicho radio (en las unida<strong>de</strong>s propias <strong>de</strong> la capa),<br />

introduciendo su valor en el campo Radio <strong>de</strong> búsqueda. Trata <strong>de</strong> utilizar el radio mínimo que<br />

asegure que alre<strong>de</strong>dor <strong>de</strong> todas las celdas se encuentra un número suficiente <strong>de</strong> puntos. Sólo<br />

los puntos <strong>de</strong>ntro <strong>de</strong>l radio <strong>de</strong> búsqueda se utilizan, por lo que, si éste es insuficiente, pue<strong>de</strong><br />

darse el caso <strong>de</strong> que ningún punto caiga <strong>de</strong>ntro y la interpolación no se pueda realizar, dando<br />

como resultado una celda sin datos.<br />

Valores muy elevados <strong>de</strong>l radio <strong>de</strong> búsqueda hacen que el módulo requiera un mayor tiempo<br />

<strong>de</strong> ejecución (y en ocasiones pue<strong>de</strong>n no aumentar la precisión <strong>de</strong>l cálculo, sino todo lo <strong>con</strong>trario),<br />

por que <strong>de</strong>bes en<strong>con</strong>trar un equilibrio a<strong>de</strong>cuado. Prueba diversos ajustes hasta en<strong>con</strong>trar<br />

uno correcto.<br />

En el campo Número Máximo <strong>de</strong> Puntos pue<strong>de</strong>s introducir la cantidad máxima <strong>de</strong> puntos<br />

que <strong>de</strong>seas utilizar. si <strong>de</strong>ntro <strong>de</strong>l radio <strong>de</strong> búsqueda hay más puntos <strong>de</strong> los especificados (sea<br />

n), entonces únicamente los n más cercanos serán utilizados por el algoritmo <strong>de</strong> interpolación.<br />

Para explicar el significado <strong>de</strong>l último término es necesario algo <strong>de</strong> matemática. Si se toman<br />

n puntos alre<strong>de</strong>dor <strong>de</strong> una celda para proce<strong>de</strong>r a la interpolación, el valor asignado a dicha<br />

celda mediante el método <strong>de</strong> distancia inversa es el resultante <strong>de</strong> la siguiente expresión.<br />

z =<br />

n<br />

i=1 zid k i<br />

n<br />

i=1 dk i<br />

(13.1)<br />

don<strong>de</strong> zi es el valor <strong>de</strong>l punto y di la distancia <strong>de</strong>s<strong>de</strong> ese punto hasta la celda interpolada<br />

El valor <strong>de</strong> k se pue<strong>de</strong> ajustar en el campo Exponente. 1 y 2 son valores típicos que sirven<br />

para la mayor parte <strong>de</strong> los casos.<br />

Interpolando la capa <strong>de</strong> puntos creada a partir <strong>de</strong> una tabla <strong>de</strong> coor<strong>de</strong>nadas (si no lo<br />

recuerdas, vuelve a 11.6 para ver cómo lo hicimos) se obtiene el siguiente resultado (he utilizado<br />

un tamaño <strong>de</strong> celda <strong>de</strong> 0.1 y he añadido unas curvas <strong>de</strong> nivel para que puedas interpretar más<br />

claramente el ✭✭relieve✮✮ en la representación <strong>de</strong> mapa).


13.3. POLÍGONOS DE THIESSEN 241<br />

13.3. Polígonos <strong>de</strong> Thiessen<br />

El módulo Distancia Inversa que acabamos <strong>de</strong> ver, así como otros que veremos en breve,<br />

siempre generan una capa <strong>con</strong>tinua (esto es, se supone que la variable interpolada es <strong>con</strong>tinua).<br />

Para la mayor parte <strong>de</strong> los casos, es preferible una malla <strong>de</strong> valores <strong>con</strong>tinuos, pero una capa<br />

raster discreta también tiene interés en ciertas ocasiones.<br />

Probablemente habrás oído hablar <strong>de</strong> los polígonos <strong>de</strong> Thiessen anteriormente. Dado un<br />

<strong>con</strong>junto <strong>de</strong> puntos, cada uno <strong>de</strong> ellos tiene asociado un polígono <strong>de</strong>ntro <strong>de</strong>l cual se incluyen<br />

que representa el lugar geométrico <strong>de</strong> los puntos que se encuentran más cercanos a dicho punto<br />

que a cualquiera <strong>de</strong> los restantes <strong>de</strong>l <strong>con</strong>junto. En la literatura matemática es más frecuente<br />

referirse a los polígonos <strong>de</strong> Thiessen como teselación <strong>de</strong> Voronoi.<br />

¿Cuándo utilizar polígonos <strong>de</strong> Thiessen? Supón que tienes una capa <strong>de</strong> puntos que representan<br />

estaciones <strong>de</strong> Metro, cada una <strong>de</strong> ellas <strong>con</strong> un distinto código i<strong>de</strong>ntificativo (que se<br />

encuentra almacenado en su capa <strong>de</strong> atributos en uno <strong>de</strong> sus campos). Calculando los polígonos<br />

<strong>de</strong> Thiessen asociados a cada uno <strong>de</strong> estos puntos pue<strong>de</strong>s saber qué zonas tienen a cada<br />

uno <strong>de</strong> ellos como su punto más cercano. Es probable que la gente que viva en dichas zonas<br />

utilice preferentemente la estación <strong>de</strong> Metro asociada. De esta forma po<strong>de</strong>mos calcular, por<br />

ejemplo, la cantidad <strong>de</strong> gente que utilizará cada estación.<br />

Como pue<strong>de</strong>s intuir, interpolar los valores <strong>de</strong> ese campo <strong>de</strong> i<strong>de</strong>ntificación utilizando distancia<br />

inversa carece por completo <strong>de</strong> sentido.<br />

Los polígonos <strong>de</strong> Thiessen son un resultado principalmente <strong>de</strong> tipo vectorial, aunque también<br />

pue<strong>de</strong>n calcularse según un plantemiento raster. Para ello basta utilizar un algoritmo <strong>de</strong><br />

interpolación <strong>de</strong> vecino más cercano, que simplemente asocia a cada celda el valor <strong>de</strong>l punto<br />

a menor distancia <strong>de</strong> la misma.<br />

Para ejecutar el módulo correspondiente en <strong>SEXTANTE</strong>, selecciona Por Vecindad.


242 CAPÍTULO 13. INTERPOLACIÓN. GEOESTADÍSTICA<br />

<strong>La</strong> ventana <strong>de</strong> parámetros es aún más sencilla, ya que no es necesario ajustar parámetros<br />

adicionales para el algoritmo. Supongo que los restantes sabrás ya utilizarlos.<br />

Utilizando la misma capa que en la sección anterior, el resultado obtenido <strong>con</strong> este módulo<br />

es el siguiente (aquí no tiene mucho sentido añadir curvas <strong>de</strong> nivel. ..).<br />

13.4. Kriging<br />

El kriging es una compleja técnica geoestadística utilizada para crear mallas regulares <strong>de</strong><br />

datos a partir <strong>de</strong> datos puntuales distribuidos irregularmente. Al <strong>con</strong>trario que el IDW, el<br />

cual requiere ajustar tan sólo unos pocos parámetros, el kriging es más complejo <strong>de</strong> utilizar,<br />

como pue<strong>de</strong> verse en la siguiente ventana <strong>de</strong> parámetros, correspondiente al módulo Kriging<br />

Ordinario.<br />

El propósito <strong>de</strong> este libro no es presentar <strong>de</strong> forma <strong>de</strong>tallada las complejas i<strong>de</strong>as sobre las<br />

que se fundamentan los algoritmos <strong>de</strong>l kriging (llevaría unas cuantas páginas y <strong>con</strong> seguridad<br />

no sería tan buena la explicación como la que pue<strong>de</strong>s en<strong>con</strong>trar en cualquier libro <strong>de</strong>dicado<br />

a este tema), así que únicamente se incluirá la información relativa al propio manejo <strong>de</strong>l


13.4. KRIGING 243<br />

módulo, así como <strong>con</strong>sejos sobre su utilización <strong>de</strong>s<strong>de</strong> un punto <strong>de</strong> vista práctico. Recomiendo<br />

profundizar en el tema a través <strong>de</strong> algunas <strong>de</strong> las referencias proporcionadas al final <strong>de</strong>l libro,<br />

en especial si necesitas hacer un uso más intenso <strong>de</strong> estos módulos.<br />

<strong>SEXTANTE</strong> incluye cuatro alternativas para aplicar kriging.<br />

Kriging ordinario<br />

Kriging ordinario (global)<br />

Kriging universal<br />

Kriging universal (Global)<br />

Los módulos calificados <strong>con</strong> (Global) son iguales a los otros, pero algo más simples, ya que<br />

no se emplea un radio máximo <strong>de</strong> búsqueda y la matriz <strong>de</strong> pon<strong>de</strong>ración se genera únicamente<br />

una vez y <strong>de</strong> forma global (<strong>de</strong> ahí el nombre) para todos los puntos. Como <strong>con</strong>secuencia, no<br />

en<strong>con</strong>trarás el campo Min./Max. Número <strong>de</strong> puntos en la ventana <strong>de</strong> parámetros <strong>de</strong> dichos<br />

módulos.<br />

El kriging universal, que <strong>de</strong>be utilizarse si existe una ten<strong>de</strong>ncia gradual en los datos, es<br />

algo diferente. No en<strong>con</strong>trarás en él ninguna <strong>de</strong> las formas usuales <strong>de</strong> <strong>de</strong>finir las dimensiones<br />

<strong>de</strong> la capa resultante. En su lugar, las dimensiones se <strong>de</strong>finen utilizando la extensión <strong>de</strong> grid<br />

<strong>de</strong> las capas en el campo Grids, una entrada obligatoria para la aplicación <strong>de</strong> este tipo <strong>de</strong><br />

interpolación.<br />

En el caso <strong>de</strong>l kriging ordinario, se generan siempre dos capas: una <strong>con</strong> los valores interpolados<br />

y otra <strong>con</strong> la varianza. En el caso <strong>de</strong>l kriging universal pue<strong>de</strong>s escoger cuáles <strong>de</strong> dichas<br />

capas quieres que se generen.<br />

Y ahora para ver un ejemplo <strong>de</strong> todo lo anterior, prueba lo siguiente:<br />

Coge el MDT <strong>de</strong> ejemplo y crea unas curvas <strong>de</strong> nivel <strong>con</strong> una equidistancia <strong>de</strong> 500 metros<br />

a partir <strong>de</strong> él(este valor es elevado, pero está bien a efectos <strong>de</strong> ejemplo).<br />

Convierte las líneas en un tema <strong>de</strong> puntos equidistantes, <strong>con</strong> distancia <strong>de</strong> 100 metros.<br />

Interpola esos puntos empleando el método <strong>de</strong> distancia inversa.<br />

Usando los parámetros por <strong>de</strong>fecto (excepto el radio <strong>de</strong> búsqueda, que <strong>de</strong>bes aumentarlo<br />

para no obtener celdas sin datos), <strong>de</strong>berías obtener un resultado como el siguiente.


244 CAPÍTULO 13. INTERPOLACIÓN. GEOESTADÍSTICA<br />

No parece muy similar al MDT original, ¿verdad? A<strong>de</strong>más, no es difícil darse cuenta<br />

<strong>de</strong> que no es una representación muy fiel <strong>de</strong>l relieve. ¿Por qué? Bueno, en primer lugar la<br />

distancia sugerida es a<strong>de</strong>cuada para practicar (y no tener que esperar mucho a que los módulos<br />

<strong>con</strong>cluyan su trabajo, aunque aun así habrás visto que ejecutar el módulo <strong>de</strong> interpolación<br />

lleva su tiempo), pero no para obtener un resultado aceptable en cuanto a calidad. Un valor <strong>de</strong><br />

20 metros sería mucho más exacto, aunque el número <strong>de</strong> puntos a manejar es también mucho<br />

mayor.<br />

De cualquier forma, las curvas <strong>de</strong> nivel, aunque muy separadas entre sí, son precisas y<br />

<strong>con</strong>tienen un número suficiente <strong>de</strong> puntos, in<strong>de</strong>pendientemente <strong>de</strong> la distancia utilizada al<br />

<strong>con</strong>vertir estas en un tema <strong>de</strong> puntos. De hecho, los puntos <strong>de</strong> una misma línea están muy<br />

juntos entre sí (comparativamente <strong>con</strong> la distancia entre puntos <strong>de</strong> distintas curvas <strong>de</strong> nivel)<br />

y ello significa que en muchas celdas se alcanza el número máximo <strong>de</strong> puntos solo <strong>con</strong> los<br />

<strong>con</strong>tenidos en una misma isolínea (todos ellos <strong>con</strong> un mismo valor). Esa es la razón principal<br />

por la que aparecen zonas planas, y también por la cual en las zonas más montañosas (allí don<strong>de</strong><br />

las curvas <strong>de</strong> nivel están más próximas), la representación <strong>de</strong>l relieve es más correcta.<br />

El objetivo <strong>de</strong> trabajar en este punto no es el <strong>de</strong> obtener un MDT muy preciso (para eso<br />

ya tenemos el MDT original), sino mostrar la forma <strong>de</strong> aprovechar al máximo la información<br />

<strong>de</strong> la que disponemos. No sólo es necesario tener buenos datos <strong>de</strong> partida, sino también saber<br />

✭✭exprimirlos✮✮ para sacar lo mejor <strong>de</strong> ellos (o en las sabias palabras <strong>de</strong> Ronald Coase: ✭✭Si<br />

torturas a los datos lo suficiente, <strong>con</strong>fesarán✮✮). Así que ahora es tu turno para experimentar<br />

<strong>con</strong> distintos valores <strong>de</strong> los parámetros para apren<strong>de</strong>r a ver don<strong>de</strong> resi<strong>de</strong>n las diferencias<br />

principales entre utilizar unos u otros valores, y cómo ello afecta al resultado obtenido.<br />

Si verda<strong>de</strong>ramente tienes ganas <strong>de</strong> practicar, prueba también a utilizar los módulos <strong>de</strong><br />

kriging, y compara todos los resultados <strong>con</strong> el MDT original haciendo uso <strong>de</strong> la larga batería<br />

<strong>de</strong> módulos que ya <strong>con</strong>oces.<br />

Usar éstos módulos <strong>de</strong> interpolación no es la única manera <strong>de</strong> crear un MDT a partir <strong>de</strong><br />

una capa vectorial <strong>con</strong> curvas <strong>de</strong> nivel. Recuerda que ya hemos visto muchos otros módulos, y<br />

<strong>con</strong> ellos es posible en<strong>con</strong>trar algunas alternativas interesantes. Por ejemplo, pue<strong>de</strong>s <strong>con</strong>vertir<br />

la capa <strong>de</strong> líneas en una capa raster (rasterizarla), y <strong>de</strong>spués, puesto que quedarán celdas sin<br />

datos, rellenarlas <strong>con</strong> los módulos <strong>de</strong>dicados a ello. Esto pue<strong>de</strong> ser interesante en el caso <strong>de</strong><br />

tener, por ejemplo, una capa <strong>con</strong> muchos puntos juntos, ya que todos esos puntos caerán sobre<br />

pocas celdas y el proceso <strong>de</strong> interpolación no será tan largo, al no usarse individualmente.<br />

Prueba a interpolar los datos anteriores <strong>de</strong> esta manera y compárala <strong>con</strong> los otros resultados<br />

que ya has obtenido y <strong>con</strong> el MDT.<br />

13.5. Semivarianzas<br />

Como se dijo al principio <strong>de</strong> este capítulo, las librerías <strong>de</strong> geoestadística en las que se<br />

incluyen los módulos <strong>de</strong> kriging también incluyen algunos otros módulos que, pese a no estar<br />

<strong>de</strong>stinados a la creación <strong>de</strong> mallas regulares a partir <strong>de</strong> puntos aislados, guardan una relación<br />

directa <strong>con</strong> una buena parte <strong>de</strong> los <strong>con</strong>ceptos que sustentan algunos <strong>de</strong> los módulos ya <strong>de</strong>scritos,<br />

y por ello serán <strong>de</strong>scritos <strong>de</strong>ntro <strong>de</strong> este mismo capítulo.<br />

El primero <strong>de</strong> tales módulos es el <strong>de</strong>nominado Semivarianzas.


13.6. ANÁLISIS RESIDUAL 245<br />

Como entrada, únicamente requiere una capa <strong>de</strong> puntos, para la cual, como resulta habitual,<br />

<strong>de</strong>bes seleccionar uno <strong>de</strong> sus campos, aquel en el que resida la información sobre la que<br />

se <strong>de</strong>see trabajar.<br />

Hay dos campos más que pue<strong>de</strong>s ajustar para variar el rendimiento <strong>de</strong>l módulo. Por una<br />

parte, Intervalo <strong>de</strong> Distancia indica el intervalo entre las distintas distancias para las cuales<br />

se calcula la semivarianza para cada punto. Por otra, Intervalo <strong>de</strong> Entida<strong>de</strong>s regula los puntos<br />

que se analizan en el cálculo <strong>de</strong> diferencias. Con un valor <strong>de</strong> 1, se analizan todos. Con valores<br />

mayores, el algoritmo ✭✭salta✮✮ cada n puntos, teniendo esto como <strong>con</strong>secuencia una mayor<br />

velocidad <strong>de</strong> ejecución <strong>de</strong>l módulo.<br />

<strong>La</strong> salida <strong>de</strong>l módulo es una nueva tabla bajo el nombre [nombre <strong>de</strong> la capa <strong>de</strong> puntos]:<br />

Semivarianzas.<br />

13.6. Análisis residual<br />

Junto <strong>con</strong> el módulo anterior, el cual partía <strong>de</strong> una información vectorial y daba lugar a<br />

una tabla, tres módulos se encuentran <strong>de</strong>ntro <strong>de</strong> este mismo grupo <strong>de</strong> <strong>análisis</strong> geoestadístico,<br />

pero basando su trabajo en información raster y generando a su vez nuevas capas en este<br />

formato.<br />

Probablemente, el más útil <strong>de</strong> ellos sea el <strong>de</strong>nominado Análisis Residual para Grids, el<br />

cual general una importante serie <strong>de</strong> nuevas capas <strong>con</strong> parámetros estadísticos sencillos que<br />

pue<strong>de</strong>n ser utilizados para multitud <strong>de</strong> funciones.<br />

Como pue<strong>de</strong>s ver, la mayor parte <strong>de</strong> los campos <strong>de</strong> la ventana <strong>de</strong> parámetros están relacionados<br />

<strong>con</strong> las capas <strong>de</strong> salida, mientras que los <strong>de</strong> entrada son relativamente reducidos.


246 CAPÍTULO 13. INTERPOLACIÓN. GEOESTADÍSTICA<br />

Para todas estas variables <strong>de</strong> salida la forma <strong>de</strong> cálculo es similar. Para cada celda, se<br />

toma un número fijo <strong>de</strong> otras celdas alre<strong>de</strong>dor <strong>de</strong> la misma y <strong>con</strong> los valores <strong>de</strong> las mismas se<br />

evalúa el parámetro estadístico.<br />

El número <strong>de</strong> celdas pue<strong>de</strong> ajustarse, como es habitual, mediante un radio <strong>de</strong> búsqueda<br />

que <strong>de</strong>fine la ventana <strong>de</strong> <strong>análisis</strong>. Recuerda que cuanto mayor sea el radio especificado, mayor<br />

número <strong>de</strong> operaciones serán necesarias para el cálculo <strong>de</strong> cada parámetro, y <strong>con</strong>secuentemente<br />

aumentará el tiempo necesario para ejecutar el módulo.<br />

A <strong>con</strong>tinuación pue<strong>de</strong>s ver las capas resultantes. Se aña<strong>de</strong> junto a cada parámetro su expresión<br />

matemática cuando esto es necesario. A fin <strong>de</strong> ahorrar espacio y no incluir información<br />

superflua, sólo se incluyen algunas figuras mostrando el aspecto <strong>de</strong> dichas capas.<br />

Valor medio: <strong>La</strong> capa resultante tiene el mismo aspecto más o menos que si pasaras un<br />

filtro <strong>de</strong> suavizado. Cuanto mayor sea el radio <strong>de</strong> búsqueda, más aspecto ✭✭<strong>de</strong>senfocado✮✮<br />

tendrá esta capa.<br />

Diferencia <strong>con</strong> le valor medio: Igual al valor <strong>de</strong> la celda menos menos el valor medio<br />

calculado para la capa anterior.<br />

Desviación típica:<br />

Rango: Diferencia entre los valores máximo y mínimo <strong>de</strong> los presentes en la ventana <strong>de</strong><br />

<strong>análisis</strong>.<br />

Si se trabaja <strong>con</strong> un MDT, se pue<strong>de</strong> asignar una interpretación morfométrica <strong>de</strong> algunos<br />

<strong>de</strong> estos parámetros. Por ejemplo, este rango guarda una relación clara <strong>con</strong> la pendiente<br />

en cada celda. Echa un vistazo a la capa y advierte su gran similitud <strong>con</strong> la <strong>de</strong> pendientes.<br />

Para una comparación más precisa, prueba a realizar un <strong>análisis</strong> <strong>de</strong> regresión. Utiliza un<br />

radio <strong>de</strong> búsqueda pequeño, ya que los algoritmos <strong>de</strong> <strong>análisis</strong> morfométrico utilizan en<br />

su mayoría una ventana 3 × 3.<br />

Desviación <strong>de</strong> la media:<br />

z − z<br />

D =<br />

S<br />

don<strong>de</strong> z es el valor <strong>de</strong> la celda,<br />

z es la media <strong>de</strong> valores en la ventana <strong>de</strong> <strong>análisis</strong><br />

y S es la <strong>de</strong>sviación típica.<br />

(13.2)


13.7. ESTADÍSTICAS PARA UNA SERIE DE CAPAS RASTER 247<br />

Percentil:<br />

P = 100Nl<br />

N − 1<br />

(13.3)<br />

don<strong>de</strong> Nl es el número <strong>de</strong> celdas <strong>de</strong> la ventana <strong>de</strong> <strong>análisis</strong> <strong>con</strong> valores inferiores al <strong>de</strong> la<br />

celda central<br />

y N es el total <strong>de</strong> celdas empleadas.<br />

Intenta adivinar <strong>con</strong> que parámetro morfométrico pue<strong>de</strong> asociarse esta variable. ..<br />

13.7. Estadísticas para una serie <strong>de</strong> capas raster<br />

Dada una serie <strong>de</strong> capas raster, es una tarea relativamente habitual y sumamente útil el<br />

<strong>con</strong>ocer <strong>de</strong> todo el <strong>con</strong>junto una serie <strong>de</strong> parámetros básicos estadísticos. Si en el caso anterior<br />

trabajábamos <strong>con</strong> una sola capa, el módulo que veremos a <strong>con</strong>tinuación representa una especie<br />

equivalente <strong>de</strong>l mismo <strong>con</strong> múltiples capas <strong>de</strong> entrada, calculando <strong>de</strong> una sola vez una pequeña<br />

serie <strong>de</strong> simples pero valiosas variables estadísticas.<br />

Abre el módulo Estadísticas para Grids<br />

El manejo <strong>de</strong>l módulo es sumamente sencillo. Simplemente has <strong>de</strong> introducir la serie <strong>de</strong><br />

mallas <strong>de</strong> entrada en la ventana <strong>de</strong> selección múltiple habitual <strong>de</strong>l campo Grids.<br />

Los parámetros estadísticos calculados, para cada uno <strong>de</strong> los cuales se genera una nueva<br />

capa, son los siguientes.<br />

Media<br />

Mínimo


248 CAPÍTULO 13. INTERPOLACIÓN. GEOESTADÍSTICA<br />

Máximo<br />

Varianza<br />

Desviación típica<br />

Media menos <strong>de</strong>sviación típica<br />

Media más <strong>de</strong>sviación típica<br />

13.8. Estadísticas zonales<br />

En el caso anterior, las estadísticas se calculaban para toda la extensión <strong>de</strong> la capa, y<br />

a<strong>de</strong>más los valores <strong>de</strong> las distintas capas <strong>de</strong> entrada <strong>de</strong>bían ser referentes a la misma variables,<br />

ya que se opera <strong>con</strong> ellos en <strong>con</strong>junto para calcular esas medias, <strong>de</strong>sviaciones típicas, etc. En<br />

este caso, y aunque también po<strong>de</strong>mos usar una entrada múltiple <strong>de</strong> capas, éstas se analizan<br />

in<strong>de</strong>pendientemente y no para el <strong>con</strong>junto <strong>de</strong> la capa, sino por zonas <strong>de</strong>finidas en otra capa<br />

adicional.<br />

El módulo Estadísticas Zonales es una herramienta útil para <strong>con</strong>ocer algunos <strong>de</strong>scriptores<br />

estadísticos sencillos <strong>de</strong> las distintas zonas en las que se halle dividida un área <strong>de</strong> estudio,<br />

siendo, al igual que los anteriores módulos que hemos visto, muy sencillo <strong>de</strong> usar.<br />

Ésta que ves a <strong>con</strong>tinuación es su ventana <strong>de</strong> parámetros.<br />

<strong>La</strong>s capas <strong>de</strong> entrada, como ya supondrás, van en el campo Grids. <strong>La</strong>s divisiones van en<br />

los campos Zonas y Categorías. De todos estos parámetros, únicamente es obligatorio el <strong>de</strong>l<br />

campo Zonas, y en función <strong>de</strong> cuáles <strong>de</strong> los restantes se encuentren completos o no, el módulo<br />

produce un tipo <strong>de</strong> resultado u otro. Veamos cuáles son las opciones posibles, cuatro en total.<br />

En primer lugar, si sólo se selecciona una capa <strong>de</strong> zonas, el resultado es una simple tabla<br />

mínima <strong>con</strong> el recuento <strong>de</strong> celdas en cada zona.<br />

Para <strong>de</strong>finir la capa <strong>de</strong> zonas, se <strong>de</strong>be asignar a cada zona un valor numérico distinto,<br />

mientras que a las zonas que se <strong>de</strong>seen excluir se les asigna valor <strong>de</strong> sin datos. Es <strong>de</strong>cir, que<br />

la capa a<strong>de</strong>más <strong>de</strong> distinguir las diferentes zonas, sirve a su vez como una máscara.<br />

<strong>La</strong>s capas <strong>de</strong> Categorías siguen el mismo funcionamiento, y simplemente <strong>con</strong>stituyen cada<br />

una <strong>de</strong> ellas una nueva capa <strong>de</strong> divisiones al igual que la anterior. Pue<strong>de</strong>s utilizarlas en caso<br />

<strong>de</strong> que quieras estudiar los valores <strong>de</strong> un área <strong>de</strong> estudio en función <strong>de</strong> dos o más <strong>de</strong> sus


13.9. ESTADÍSTICAS DE PUNTOS EN POLÍGONOS 249<br />

características. Por ejemplo, pue<strong>de</strong>s utilizar una división en subcuencas en el campo Zonas y<br />

<strong>de</strong>spués una división administrativa en Categorías.<br />

En caso <strong>de</strong> emplear los dos campos <strong>de</strong> división, el módulo cruza los mismos y saca una<br />

serie <strong>de</strong> unida<strong>de</strong>s, para cada una <strong>de</strong> las cuales existe un registro en la tabla resultante, y en el<br />

cual se <strong>con</strong>tienen, al igual que antes, el número <strong>de</strong> celdas <strong>de</strong> cada unidad.<br />

Si aña<strong>de</strong>s capas <strong>de</strong> valores en Grids, la tabla se amplía <strong>con</strong> 5 nuevos campos por cada capa<br />

extra, <strong>con</strong> los siguientes valores estadísticos para la misma:<br />

Media<br />

Máximo<br />

Mínimo<br />

Desviación típica<br />

Suma<br />

Aquí tienes un ejemplo.<br />

Pue<strong>de</strong>s utilizar también las capas adicionales y una sola <strong>de</strong> las <strong>de</strong> división (que tiene que<br />

ser obligatoriamente la <strong>de</strong>l campoZonas)<br />

13.9. Estadísticas <strong>de</strong> puntos en polígonos<br />

Vimos hace algunos capítulos cómo calcular estadísticas <strong>de</strong> una capa raster <strong>de</strong>ntro <strong>de</strong> unos<br />

polígonos dados, generando nuevos campos en la tabla <strong>de</strong> atributos <strong>de</strong> una capa <strong>de</strong> polígonos,<br />

los cuales <strong>con</strong>tenían estadísticos básicos relativos a una serie <strong>de</strong> capas raster. También vimos<br />

cómo, en lugar <strong>de</strong> usar capas raster, podíamos usar puntos y efectuar un recuento <strong>de</strong> ellos<br />

<strong>de</strong>ntro <strong>de</strong> los polígonos <strong>de</strong>finidos.<br />

Si queremos un <strong>análisis</strong> estadístico <strong>de</strong> esos puntos, <strong>SEXTANTE</strong> incluye un módulo <strong>de</strong>nominado<br />

Estadísticas <strong>de</strong> Puntos en Polígonos que nos servirá para este fin.


250 CAPÍTULO 13. INTERPOLACIÓN. GEOESTADÍSTICA<br />

Este tipo <strong>de</strong> <strong>análisis</strong> es útil, por ejemplo, si tenemos una serie <strong>de</strong> parcelas <strong>de</strong> muestreo y<br />

estratos <strong>de</strong>finidos en una capa <strong>de</strong> polígonos. Situaciones como esa se presentan habitualmente<br />

en dasometría e inventario forestal, entro otras muchas disciplinas.<br />

El módulo no podía ser más sencillo <strong>de</strong> manejar, ya que simplemente requiere como entrada<br />

las dos capas, una <strong>de</strong> puntos y otra <strong>de</strong> polígonos. De entre todos los campos numéricos <strong>de</strong><br />

la capa <strong>de</strong> puntos, pue<strong>de</strong>s elegir cuáles <strong>de</strong> ellos <strong>de</strong>seas emplear para el estudio estadístico,<br />

y qué variables <strong>de</strong>seas calcular <strong>de</strong> entre las disponibles (media, máximo, mínimo, <strong>de</strong>sviación<br />

típica y suma). <strong>SEXTANTE</strong> te mostrará para ello una nueva ventana <strong>de</strong> parámetros similar<br />

a la que ya vimos en el caso <strong>de</strong>l módulo Resumen<br />

El resultado se aña<strong>de</strong> a la capa <strong>de</strong> polígonos, creándose nuevos campos en su tabla <strong>de</strong><br />

atributos <strong>con</strong> los valores seleccionados.<br />

13.10. Representatividad<br />

Al <strong>con</strong>trario que el módulo anterior, el módulo Representatividad genera tan sólo una nueva<br />

capa, en la cual se <strong>con</strong>tienen valores <strong>de</strong> varianza calculados <strong>de</strong>ntro <strong>de</strong> un radio <strong>de</strong> búsqueda<br />

dado.<br />

Como es habitual, el radio se expresa en celdas en el campo <strong>de</strong>l mismo nombre, y tiene el<br />

mismo significado que en módulos anteriores.<br />

Con nuestro MDT y un radio <strong>de</strong> 5 celdas, el resultado tiene un aspecto como el siguiente.


13.11. RADIO DE VARIANZA 251<br />

<strong>La</strong> interpretación <strong>de</strong> este resultado admite variantes, por lo que, a efectos prácticos, no es<br />

probable que lo uses tan frecuentemente como el anterior.<br />

13.11. Radio <strong>de</strong> varianza<br />

Relacionado <strong>con</strong> la varianza, el radio <strong>de</strong> varianza pue<strong>de</strong> calcularse en <strong>SEXTANTE</strong> <strong>con</strong> el<br />

módulo <strong>de</strong>l mismo nombre.<br />

Este módulo evalúa la varianza en el entrono <strong>de</strong> una celda empleando radio <strong>de</strong> búsqueda<br />

crecientes. El menor radio necesario para alcanzar una varianza dada es el radio <strong>de</strong> varianza<br />

<strong>de</strong> la celda para dicho valor <strong>de</strong> varianza.<br />

Éste último, que ejerce una función <strong>de</strong> umbral, se introduce en el campo Varianza. Para<br />

evitar que, en zonas homogéneas, se utilicen radios excesivamente gran<strong>de</strong>s, pue<strong>de</strong> especificarse<br />

un valor límite en el campo Radio. Si al alcanzar este límite la varianza todavía es menor que<br />

el umbral establecido, se asigna a la celda el radio límite y se pasa a analizar otra distinta.<br />

El radio pue<strong>de</strong> estar expresado en celdas o en las unida<strong>de</strong>s <strong>de</strong> la propia capa analizada.<br />

Pue<strong>de</strong>s seleccionar entre las mismas en el campo Tipo <strong>de</strong> Resultado.<br />

Bajo estas líneas pue<strong>de</strong>s ver un ejemplo <strong>de</strong> como quedaría la capa resultante a partir <strong>de</strong>l<br />

MDT habitual.


252 CAPÍTULO 13. INTERPOLACIÓN. GEOESTADÍSTICA<br />

13.12. Análisis <strong>de</strong> regresión <strong>con</strong> puntos y capas raster<br />

Una pareja <strong>de</strong> módulos sumamente útiles son los <strong>de</strong>dicados al <strong>análisis</strong> <strong>de</strong> regresión. Pue<strong>de</strong>s<br />

en<strong>con</strong>trar dos <strong>de</strong> ellos: Regresión y Regresión Múltiple<br />

Empecemos <strong>con</strong> el último <strong>de</strong> ellos.<br />

En el campo Capas, selecciona aquellas capas raster que <strong>de</strong>seas utilizar para la regresión<br />

frente a los puntos. En el campo Puntos selecciona estos últimos, especificando como es<br />

habitual el atributo que <strong>con</strong>tiene el valor a emplear.<br />

Al ejecutar el módulo, en la ventana <strong>de</strong> información en<strong>con</strong>trarás la ecuación utilizada para<br />

crear la nueva capa resultante como una combinación lineal <strong>de</strong> las <strong>de</strong> entrada.<br />

Bajo esta información, pue<strong>de</strong>s ver el or<strong>de</strong>n <strong>de</strong> importancia <strong>de</strong> cada parámetro y la varianza<br />

explicada a medida que se van añadiendo nuevos entre ellos.<br />

Una información similar se encuentra asimismo en la tabla resultante.


13.12. ANÁLISIS DE REGRESIÓN CON PUNTOS Y CAPAS RASTER 253<br />

Respecto al primer módulo, aquí pue<strong>de</strong>s ver su ventana <strong>de</strong> parámetros.<br />

En lugar <strong>de</strong> varias capas, únicamente pue<strong>de</strong>s seleccionar una única. Por lo <strong>de</strong>más, su<br />

funcionamiento y resultados son similares a los <strong>de</strong>l anterior, y no te será difícil enten<strong>de</strong>rlos.


254 CAPÍTULO 13. INTERPOLACIÓN. GEOESTADÍSTICA


Análisis <strong>de</strong> costes. Incendios<br />

14.1. Introducción<br />

Capítulo 14<br />

Otra <strong>de</strong> las capacida<strong>de</strong>s ✭✭fuertes✮✮ <strong>de</strong> los SIG raster es el <strong>análisis</strong> <strong>de</strong> costes y la <strong>de</strong>finición<br />

<strong>de</strong> rutas óptimas a través <strong>de</strong> superficies <strong>de</strong> coste. En este capítulo estudiaremos un par <strong>de</strong><br />

módulos que pue<strong>de</strong>s emplear para realizar dos tipos distintos <strong>de</strong> <strong>análisis</strong> <strong>de</strong> coste, según sean<br />

tus necesida<strong>de</strong>s o las circunstancias <strong>de</strong> la situación a mo<strong>de</strong>lizar.<br />

Sin embargo, antes <strong>de</strong> ponernos a estudiar <strong>con</strong> <strong>de</strong>talle estos módulos veamos unos ejemplos<br />

sencillos que te ayudarán a compren<strong>de</strong>r mejor la finalidad <strong>de</strong> los mismos y las diferencias<br />

existentes entre ellos.<br />

Para el primero <strong>de</strong> ellos hay un fichero en el directorio <strong>de</strong> datos <strong>de</strong> ejemplo <strong>de</strong>nominado<br />

vias.dgm. Contiene un <strong>con</strong>junto <strong>de</strong> vías, y en cada una <strong>de</strong> las celdas se halla un valor que<br />

representa el tiempo medio necesario para atravesar la misma (el cual es función <strong>de</strong> las características<br />

<strong>de</strong> la vía que la atraviesa). <strong>La</strong>s celdas por las que no pasa ninguna vía tiene valor <strong>de</strong><br />

sin datos. A <strong>con</strong>tinuación pue<strong>de</strong>s ver la capa sobre el MDT.<br />

A veces pue<strong>de</strong>s en<strong>con</strong>trar capas que <strong>con</strong>tienen velocida<strong>de</strong>s medias en lugar <strong>de</strong> tiempos.<br />

Pue<strong>de</strong>s cambiarlas a capas <strong>de</strong> tiempo sin más que <strong>con</strong>ocer el tamaño <strong>de</strong> celda y utilizar la<br />

calculadora <strong>de</strong> mapas.<br />

Ahora la pregunta es: <strong>de</strong>s<strong>de</strong> una celda <strong>de</strong> vía dada, ¿cuál es la ruta más rápida para llegar<br />

hasta otra?. <strong>La</strong> ruta más rápida es lo que <strong>de</strong>nominamos ruta <strong>de</strong> mínimo coste. El coste en<br />

255


256 CAPÍTULO 14. ANÁLISIS DE COSTES. INCENDIOS<br />

este caso se expresa en términos <strong>de</strong> tiempo: ¿Qué ruta lleva el menor tiempo para ir <strong>de</strong>s<strong>de</strong><br />

aquí hasta allí?<br />

Este tipo <strong>de</strong> problemas pue<strong>de</strong> ser resueltos también <strong>de</strong>s<strong>de</strong> un enfoque vectorial (<strong>de</strong> hecho,<br />

<strong>con</strong> más ✭✭elegancia✮✮ y precisión, al no <strong>de</strong>pen<strong>de</strong>r la representación <strong>de</strong> las vías <strong>de</strong>l tamaño <strong>de</strong><br />

celda sino ser puras entida<strong>de</strong>s geométricas), pero hay otro tipo <strong>de</strong> problemas que son puramente<br />

raster, como veremos a <strong>con</strong>tinuación.<br />

Para el segundo ejemplo, imagina que estas en nuestro bien <strong>con</strong>ocido MDT y en un punto<br />

dado <strong>de</strong>l mismo alejado <strong>de</strong> don<strong>de</strong> estás hay una casa. Quieres llegar hasta allí pero, por<br />

supuesto, lo quieres hacer por el camino más sencillo. A diferencia <strong>de</strong>l caso anterior, en este<br />

caso el coste se expresa en términos <strong>de</strong> esfuerzo, y no se trata <strong>de</strong> en<strong>con</strong>trar la ruta más rápida,<br />

sino aquella que requiere menor esfuerzo recorrer. Asimismo, también <strong>de</strong> modo distinto al caso<br />

<strong>de</strong> las vías, don<strong>de</strong> podíamos suponer que la velocidad era idéntica <strong>con</strong> in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> la<br />

dirección en la que atravesásemos la celda, en este caso el esfuerzo es mayor si ascen<strong>de</strong>mos que<br />

si <strong>de</strong>scen<strong>de</strong>mos, y, aun ascendiendo, <strong>de</strong>pen<strong>de</strong> <strong>de</strong>l ángulo en el que lo hagamos <strong>con</strong> respecto a<br />

la orientación <strong>de</strong>l terreno.<br />

En términos más técnicos, el primer ejemplo nos presenta una superficie isotrópica (mismo<br />

coste en todas direcciones), mientras que el segundo se basa en una anisotrópica (el coste<br />

<strong>de</strong>pen<strong>de</strong> <strong>de</strong> la dirección)<br />

Para los dos casos anteriores, el cálculo <strong>de</strong> una ruta <strong>de</strong> mínimo coste implica las siguientes<br />

etapas.<br />

Preparar una superficie <strong>de</strong> coste por celda. Si ésta es anisotrópica, es necesario también<br />

preparar una capa <strong>de</strong> dirección <strong>de</strong> máximo coste<br />

Preparar una capa <strong>con</strong> celdas <strong>de</strong> <strong>de</strong>stino. Éstas <strong>de</strong>ben <strong>con</strong>tener un valor válido cualquiera.<br />

<strong>La</strong>s restantes, valor <strong>de</strong> sin datos.<br />

Crear una superficie <strong>de</strong> coste acumulado. Ésta <strong>con</strong>tiene no el coste a través <strong>de</strong> cada<br />

celda, sino <strong>de</strong>s<strong>de</strong> cada celda hasta el punto <strong>de</strong> <strong>de</strong>stino más cercano<br />

Seleccionar una celda <strong>de</strong> origen sobre la superficie <strong>de</strong> coste acumulado, y <strong>SEXTANTE</strong><br />

trazará la ruta óptima en base a los datos <strong>de</strong> la misma, <strong>de</strong> modo similar a como se<br />

calcula un perfil siguiendo una linea <strong>de</strong> flujo en base a un MDT.<br />

Veamos cómo <strong>de</strong>sarrollar completos los ejemplos propuestos.<br />

14.2. Creando una superficie <strong>de</strong> coste acumulado (isotrópica)<br />

Empezaremos <strong>con</strong> el caso más sencillo. <strong>La</strong> capa que hemos cargado <strong>de</strong>l fichero vias.dgm es<br />

ya <strong>de</strong> por sí una superficie <strong>de</strong> coste en toda regla, así que no necesitamos ninguna preparación<br />

accesoria <strong>de</strong> la misma. Po<strong>de</strong>mos meterla directamente en en módulo <strong>de</strong> superficie <strong>de</strong> coste<br />

acumulado, <strong>con</strong>juntamente <strong>con</strong> una capa <strong>de</strong> celdas <strong>de</strong> <strong>de</strong>stino.<br />

En<strong>con</strong>trarás esta última en el directorio <strong>de</strong> datos <strong>de</strong> ejemplo, bajo el nombre ptos <strong>de</strong>st.dgm.<br />

Por supuesto, los puntos <strong>de</strong>ben caer sobre celdas <strong>con</strong> un valor <strong>de</strong> coste válido (en este caso,<br />

celdas sobre una vía). De no ser así, son sencillamente ignorados.<br />

Una vez las capas están cargadas, selecciona el menú Análisis <strong>de</strong> Coste/Coste Acumulado(isotrópico).


14.2. CREANDO UNA SUPERFICIE DE COSTE ACUMULADO (ISOTRÓPICA) 257<br />

<strong>La</strong> capas <strong>de</strong> entrada <strong>de</strong> la ventana <strong>de</strong> parámetros no requieren mucha explicación. Selecciona<br />

cada capa en su campo correspondiente, haz clic en Aceptar y obtendrás la siguiente<br />

nueva capa.<br />

Por supuesto, todas las celdas sin datos en la capa <strong>de</strong> coste permanecen como tales en la<br />

<strong>de</strong> coste acumulado. Estas celdas son ignoradas, por lo que la ruta <strong>de</strong> mínimo coste no pue<strong>de</strong><br />

pasar por ellas. Esto quiere <strong>de</strong>cir que, empleando la capa <strong>de</strong> vías, solo las celdas situadas sobre<br />

algún tipo <strong>de</strong> vía son <strong>con</strong>si<strong>de</strong>radas.<br />

Se pue<strong>de</strong> <strong>con</strong>seguir un efecto similar a esta ✭✭exclusión✮✮ <strong>de</strong> celdas asignando valores muy<br />

altos (y cuando digo altos quiero <strong>de</strong>cir muy altos, <strong>de</strong> tal modo que pasar por esas celdas sea<br />

por completo inviable) en lugar <strong>de</strong> valores <strong>de</strong> sin datos. Esta práctica, sin embargo, tiene muchas<br />

<strong>de</strong>sventajas, como compren<strong>de</strong>rás mejor al ver el uso <strong>de</strong> superficies <strong>de</strong> coste anisotrópico.<br />

A<strong>de</strong>más, las celdas <strong>con</strong> valores muy elevados se procesan como las <strong>de</strong>más, mientras que no<br />

suce<strong>de</strong> así <strong>con</strong> las <strong>de</strong> sin datos, que son ignoradas, teniendo esto como resultado un tiempo <strong>de</strong><br />

proceso menor si se usan estas últimas.<br />

Cuando vimos cómo usar el módulo Por Vecindad para interpolar, dijimos que el resultado<br />

se <strong>con</strong>ocía como polígonos <strong>de</strong> Thiessen. Para un <strong>con</strong>junto <strong>de</strong> puntos S, el polígono asociado a<br />

cada punto s ∈ S <strong>con</strong>tenía las celdas cuyo punto más cercano <strong>de</strong> los <strong>de</strong> S era s. Por supuesto,<br />

cuando <strong>de</strong>cíamos más cercano nos referíamos a distancia euclí<strong>de</strong>a, pero, ¿qué pasa si queremos<br />

<strong>con</strong>si<strong>de</strong>rar otro tipo <strong>de</strong> distancia? ¿Qué pasa si nuestros movimientos están restringidos a un<br />

<strong>con</strong>junto <strong>de</strong> vías y fuera <strong>de</strong> estas no po<strong>de</strong>mos circular? En este caso, el módulo no sólo genera<br />

una superficie <strong>de</strong> coste acumulado, sino también una capa que nos indica cuál <strong>de</strong> los puntos<br />

<strong>de</strong> <strong>de</strong>stino es el más cercano en cada caso (en este caso todas las celdas <strong>con</strong>tienen el mismo<br />

valor).


258 CAPÍTULO 14. ANÁLISIS DE COSTES. INCENDIOS<br />

Po<strong>de</strong>mos <strong>con</strong>si<strong>de</strong>rar esto como una especie <strong>de</strong> versión ✭✭extendida✮✮ <strong>de</strong> los polígonos <strong>de</strong><br />

Thiessen.<br />

Si miras <strong>con</strong> <strong>de</strong>talle la capa <strong>de</strong> puntos <strong>de</strong> <strong>de</strong>stino, verás que <strong>con</strong>tiene dos puntos, pero los<br />

valores en la capa <strong>de</strong> punto más cercano hemos visto que son todos iguales a 1 (o bien sin<br />

datos). ¿Quiere esto <strong>de</strong>cir que todas las celdas están más cerca <strong>de</strong>l punto <strong>de</strong> <strong>de</strong>stino 1 que <strong>de</strong>l<br />

2? No exactamente. Si miras <strong>con</strong> más atención verás que uno <strong>de</strong> los puntos está fuera <strong>de</strong> la red<br />

<strong>de</strong> vías, por lo que no existe forma <strong>de</strong> alcanzarlo y por tanto no se emplea para los cálculos<br />

(más <strong>con</strong>cretamente, lo que <strong>de</strong> hecho suce<strong>de</strong> es que el algoritmo no pue<strong>de</strong> ✭✭salir✮✮ <strong>de</strong> la celda,<br />

así que prescin<strong>de</strong> <strong>de</strong> ella en la primera iteración).<br />

Si quieres ver la relación entre la capa <strong>de</strong> punto más cercano y los polígonos <strong>de</strong> Thiessen,<br />

ejecuta este módulo <strong>con</strong> una capa <strong>de</strong> coste <strong>con</strong>stante. Esto pue<strong>de</strong> ser útil si quieres calcular<br />

unos polígonos <strong>de</strong> Thiessen pero la información <strong>de</strong> puntos <strong>de</strong> <strong>de</strong>stino no está en formato<br />

vectorial, sino raster. De cualquier forma, hay otra forma <strong>de</strong> hacerlo en este caso sin recurrir<br />

a los módulos <strong>de</strong> coste. ¿Se te ocurre cuál? Piénsalo como ejercicio.<br />

Un último apunte acerca <strong>de</strong>l parámetro que resta por explicar. Al evaluar el coste hasta<br />

una celda, pue<strong>de</strong>n en<strong>con</strong>trarse recorridos <strong>de</strong> menor coste, en cuyo caso el módulo recalcula <strong>de</strong><br />

nuevo a partir <strong>de</strong> <strong>de</strong> dicha celda. Para evitar tiempos <strong>de</strong> proceso muy largos que en ocasiones<br />

se producen por este hecho, pue<strong>de</strong>s ganar algo <strong>de</strong> rendimiento en <strong>de</strong>trimento <strong>de</strong> la precisión,<br />

si supones que un recorrido A es mejor que otro B sólo si la diferencia es sustancial. El campo<br />

Umbral para Diferenciación <strong>de</strong> Rutas sirve para marcar el valor mínimo <strong>de</strong> dicha diferencia<br />

que obliga a recalcular. Si tiene valor 0, tal y como suce<strong>de</strong> por <strong>de</strong>fecto, la precisión es máxima,<br />

así como el tiempo <strong>de</strong> proceso.<br />

No cierres las capas que hemos calculado. <strong>La</strong>s usaremos para un ejemplo posterior.<br />

14.3. Creando una superficie <strong>de</strong> coste acumulado (anisotrópica)<br />

Para el segundo <strong>de</strong> los ejemplo propuestos, la cosa ya no es tan simple (tranquilo, más<br />

que complicada resulta laboriosa, pero en absoluto difícil). En primer lugar, necesitamos una<br />

superficie <strong>de</strong> coste, y no la tenemos. Tenemos el MDT <strong>de</strong> la zona, pero no existe relación<br />

alguna entre la altura sobre el nivel <strong>de</strong>l mar y el esfuerzo que <strong>con</strong>lleva atravesar una celda<br />

(prescindiendo <strong>de</strong>l efecto <strong>de</strong> la posible falta <strong>de</strong> oxígeno en las alturas...). ¿Se te ocurre alguna<br />

opción mejor? Acertaste, una capa <strong>de</strong> pendientes es una buena solución. Cuanto más empinada<br />

la celda, más costará atravesarla.


14.3. CREANDO UNA SUPERFICIE DE COSTE ACUMULADO (ANISOTRÓPICA) 259<br />

Para una mayor simplicidad, usaremos la capa <strong>de</strong> pendientes tal y como sale <strong>de</strong>l módulo<br />

correspondiente, pero podríamos modificarla para tener un resultado más preciso. Por ejemplo,<br />

podríamos establecer un umbral a partir <strong>de</strong>l cual las celdas se <strong>con</strong>si<strong>de</strong>ren imposibles <strong>de</strong><br />

transitar. Una buena i<strong>de</strong>a es <strong>de</strong>limitar un rango <strong>de</strong> valores sin datos a partir <strong>de</strong> dicho umbral,<br />

<strong>de</strong> tal modo que todas las celdas <strong>con</strong> una pendiente superior sean inaccesibles. Aquí no <strong>de</strong>ben<br />

usarse valores muy elevados, ya que, al ser una superficie anisotrópica, no representarán un<br />

coste elevado en dirección <strong>de</strong>scen<strong>de</strong>nte y serán perfectamente transitables. Si bien el coste<br />

como tal no es elevado, a efectos prácticos las celdas sí que son intransitables, pues pue<strong>de</strong><br />

incluso resultar peligroso <strong>de</strong>scen<strong>de</strong>r a través <strong>de</strong> ellas <strong>de</strong>bido a su pendiente. Para <strong>de</strong>scartar<br />

por completo estas celdas, sigue utilizando valores <strong>de</strong> sin datos.<br />

Una vez que tenemos la superficie <strong>de</strong> coste, necesitamos una capa <strong>con</strong> las direcciones <strong>de</strong><br />

coste máximo. ¿Adivinas cuál po<strong>de</strong>mos usar? Acertaste <strong>de</strong> nuevo, la capa <strong>de</strong> orientaciones<br />

es la elección a<strong>de</strong>cuada. En este caso no po<strong>de</strong>mos (ni <strong>de</strong>bemos) modificar la capa, así que<br />

<strong>de</strong>bemos utilizarla tal como está.<br />

Es necesario, no obstante, un pequeño ajuste. Los valores están en radianes (¿recuerdas lo<br />

referente a ese factor Z? y el módulo <strong>de</strong> coste acumulado necesita las direcciones en grados.<br />

Utiliza la calculadora <strong>de</strong> mapas para modificar la capa.<br />

Selecciona Calcular Coste Acumulado (anisotrópico).<br />

<strong>La</strong>s tres capas <strong>de</strong> entrada no necesitan más explicación. Ya las <strong>con</strong>oces, las has preparado,<br />

y simplemente tienes que seleccionar cada una en su campo correspondiente.<br />

El coste <strong>de</strong> recorrer una celda se calcula utilizando la siguiente ecuación.<br />

Fe = F cosk (α)<br />

s<br />

(14.1)<br />

don<strong>de</strong> Fe es la fricción efectiva (<strong>de</strong> un modo que suene menos técnico, el verda<strong>de</strong>ro coste <strong>de</strong><br />

pasar por la celda),<br />

Fs es la fricción base (el valor almacenado en la celda),<br />

α es la diferencia entre la dirección <strong>de</strong> máximo coste y la dirección en que se cruza la celda, k<br />

es un parámetro adicional que regula cómo cambia el coste según el ángulo α aumenta.<br />

Pue<strong>de</strong>s ajustar k en el campo <strong>de</strong>l mismo nombre. El valor por <strong>de</strong>fecto es una buena elección<br />

para la mayoría <strong>de</strong> los casos.<br />

Cuando termines <strong>de</strong> ajustar los valores, haz clic en Aceptar y obtendrás algo como lo<br />

siguiente (este módulo requiere un cierto tiempo <strong>de</strong> proceso, así que sé paciente).


260 CAPÍTULO 14. ANÁLISIS DE COSTES. INCENDIOS<br />

Como parece lógico, su aspecto general se parece en cierta medida a la capa <strong>de</strong> elevaciones<br />

(piensa sobre esto. ..).<br />

14.4. Más sobre la preparación <strong>de</strong> superficies <strong>de</strong> coste<br />

A veces, crear una capa <strong>de</strong> coste anisotrópico no es tan fácil como simplemente calcular<br />

unas capas <strong>de</strong> pendiente y orientación a partir <strong>de</strong> un MDT. Algunas situaciones requieren el<br />

uso <strong>de</strong> varias superficies <strong>de</strong> costes a la vez, y éstas <strong>de</strong>ben <strong>con</strong>jugarse en una única <strong>de</strong> cara a<br />

po<strong>de</strong>r alimentar el módulo que acabamos <strong>de</strong> ver.<br />

Por ejemplo, en el caso anterior pue<strong>de</strong>s <strong>con</strong>si<strong>de</strong>rar el efecto <strong>de</strong>l viento, <strong>de</strong> tal modo que el<br />

coste <strong>de</strong> cruzar una celda sea también función <strong>de</strong> cómo éste sopla a través <strong>de</strong> la misma.<br />

<strong>La</strong> parte más novedosa <strong>de</strong> este hecho es la suma <strong>de</strong> todas esas capas individuales <strong>de</strong> costes<br />

(cada una <strong>de</strong> ellas <strong>con</strong> su inseparable capa <strong>de</strong> direcciones <strong>de</strong> máximo coste), que requiere la<br />

intervención <strong>de</strong> algunos módulos nuevos que ahora veremos.<br />

Una forma habitual <strong>de</strong> llevar a cabo esta suma es <strong>con</strong>vertir cada par coste–dirección <strong>de</strong> máximo<br />

coste en un nuevo par coste en x–coste en y (es <strong>de</strong>cir, dos capas nuevas), <strong>de</strong> tal modo que<br />

a <strong>con</strong>tinuación puedan sumarse por un lado todos los costes en el eje x, y por otro todos los<br />

costes en el eje y. Se obtiene así un único par <strong>de</strong> capas que, efectuando el proceso inverso,<br />

pue<strong>de</strong> <strong>con</strong>vertirse en un par coste–dirección listo para ser utilizado en el módulo <strong>de</strong> la forma<br />

que ya <strong>con</strong>ocemos.<br />

Hay dos módulos en <strong>SEXTANTE</strong> para llevar a cabo estas operaciones (uno para cada una<br />

<strong>de</strong> las <strong>con</strong>versiones, la suma se <strong>de</strong>be hacer <strong>con</strong> la calculadora <strong>de</strong> mapas): Polares a Rectangulares<br />

y Rectangulares a Polares<br />

Empecemos <strong>con</strong> el primero <strong>de</strong> ellos, Polares a Rectangulares<br />

El uso <strong>de</strong> este módulo es sumamente sencillo. Selecciona las capas <strong>de</strong> coste y dirección y<br />

se generarán las correspondientes en los ejes X e Y. Los ángulos <strong>de</strong> dirección <strong>de</strong>be expresarse<br />

en radianes en esta ocasión, no en grados.<br />

Con las capas <strong>de</strong> pendiente y orientación, se obtienen las siguientes nuevas capas.


14.5. CALCULANDO UNA RUTA DE MÍNIMO COSTE 261<br />

El módulo inverso, Rectangulares a Polares, es prácticamente idéntico.<br />

Supongo que sabrás como usarlo.<br />

14.5. Calculando una ruta <strong>de</strong> mínimo coste<br />

Calcular una ruta <strong>de</strong> mínimo coste implica usar un nuevo módulo adicional, pero éste es<br />

idéntico a uno que ya hemos visto hace algunos capítulos. ¿Cual? El módulo para cálculo <strong>de</strong><br />

perfiles según una linea <strong>de</strong> flujo. ¿Por qué? Veamos una explicación teórica <strong>de</strong> ésto.<br />

<strong>La</strong> superficie <strong>de</strong> coste acumulado es en realidad una superficie <strong>de</strong> potencial, en la cual los<br />

puntos <strong>de</strong> <strong>de</strong>stino son los <strong>de</strong> menor potencia (el coste <strong>de</strong> ir <strong>de</strong>s<strong>de</strong> el punto hasta si mismo<br />

es nulo). El movimiento <strong>de</strong>s<strong>de</strong> un punto cualquiera hacia el punto <strong>de</strong> <strong>de</strong>stino más cercano es<br />

similar al que hace el agua cuando fluye <strong>de</strong>s<strong>de</strong> las cimas, avanzando siempre hacia el mínimo<br />

potencia. Por ello, lo que <strong>de</strong>bemos hacer para calcular la ruta <strong>de</strong> coste es simplemente ✭✭<strong>de</strong>jarnos<br />

caer✮✮ por la superficie <strong>de</strong> coste acumulado hasta llegar a dicho punto. Para enten<strong>de</strong>r mejor


262 CAPÍTULO 14. ANÁLISIS DE COSTES. INCENDIOS<br />

este símil, pue<strong>de</strong>s probar a representar la capa <strong>de</strong> coste acumulado en 3D o crear una vista<br />

sombreada usándola como MDT. Aquí tienes un ejemplo, creado <strong>con</strong> 3 puntos <strong>de</strong> <strong>de</strong>stino.<br />

¿Por qué entonces hace falta un nuevo módulo y no puedo utilizar el mismo que para<br />

un perfil en linea <strong>de</strong> flujo? <strong>La</strong> respuesta a esta pregunta la da el hecho <strong>de</strong> que, al estudiar<br />

el flujo, se <strong>con</strong>si<strong>de</strong>ra que la distancia no es la misma según se atraviese la celda en una u<br />

otra dirección, mientras que en el caso <strong>de</strong>l coste acumulado, este hecho ya fue <strong>con</strong>templado al<br />

calcular la capa, <strong>con</strong> lo que <strong>de</strong>be ignorarse la distancia. Es una diferencia mínima, pero por<br />

claridad los módulos están separados.<br />

Para calcular una ruta <strong>de</strong> mínimo coste ahora que ya sabes la teoría, abre el módulo Ruta<br />

<strong>de</strong> Mínimo Coste, en el mismo menú que los restantes módulos <strong>de</strong> <strong>análisis</strong> <strong>de</strong> costes.<br />

Seguro que la ventana <strong>de</strong> parámetros te es familiar. No olvi<strong>de</strong>s que es un módulo interactivo.<br />

He aquí un posible resultado, para la capa anteriormente mostrada en 3D.


14.6. ALGO MÁS DE PRÁCTICA 263<br />

14.6. Algo más <strong>de</strong> práctica<br />

Llegados a este punto, <strong>de</strong>ja que te proponga un pequeño ejercicio. Para resolverlo necesitarás<br />

aplicar los <strong>con</strong>ocimientos <strong>de</strong> este capítulo, así como algunos <strong>de</strong> otros anteriores. Un poco<br />

<strong>de</strong> práctica reforzará tu dominio <strong>de</strong> <strong>SEXTANTE</strong> y pondrá a prueba lo que sabes hasta ahora.<br />

Supón el siguiente caso. Imagina que los puntos <strong>de</strong> <strong>de</strong>stino que hemos usado para crear<br />

la superficie <strong>de</strong> coste acumulado (la <strong>de</strong>l caso isotrópico, la <strong>de</strong> las vías), representan camiones<br />

<strong>de</strong> bomberos. En tal caso, usando este mapa, y si <strong>con</strong>ocemos las coor<strong>de</strong>nadas <strong>de</strong> un punto<br />

don<strong>de</strong> se produce un incendio, po<strong>de</strong>mos saber qué camión esta más cercano y que ruta <strong>de</strong>be<br />

seguir hasta el fuego para apagarlo. Los puntos aquí no son <strong>de</strong> <strong>de</strong>stino, sino <strong>de</strong> ✭✭salida✮✮, pero<br />

el <strong>con</strong>cepto es el mismo, obviamente.<br />

Existe sin embargo un problema: sólo las celdas <strong>de</strong> carretera tiene valores, pero las restantes<br />

no, y, suponiendo que el camión se pue<strong>de</strong> <strong>de</strong>splazar también fuera <strong>de</strong> pista (digamos, para este<br />

ejemplo, que el campo es relativamente transitable a este tipo <strong>de</strong> vehículos, aunque a otra<br />

velocidad distinta, por supuesto), nos gustaría también apagar los incendios que se producen<br />

en esas otras celdas,¿o no?. Tenemos que buscar una solución a esto, ya que esos polígonos <strong>de</strong><br />

Thiessen extendidos que llamábamos entonces no son en este caso sino líneas.<br />

Vamos a <strong>con</strong>vertir esta capa en una <strong>con</strong> celdas válidas en toda su extensión, para hacer<br />

✭✭aparecer✮✮ esos polígonos y po<strong>de</strong>r así usar la capa para nuestros propósitos.<br />

En primer lugar, añadamos un par <strong>de</strong> puntos <strong>de</strong> <strong>de</strong>stino más, para hacer la cosa algo más<br />

interesante. Recuerda que <strong>de</strong>ben situarse sobre las vías. Cuando hayas añadido esos dos puntos<br />

don<strong>de</strong> tú quieras, vuelve a ejecutar el módulo <strong>de</strong> coste acumulado para obtener la nueva capa<br />

habiendo <strong>con</strong>si<strong>de</strong>rado el <strong>con</strong>junto <strong>de</strong> todos los puntos.<br />

¿Como llenar ahora los datos que nos faltan? Muy fácil. Ejecuta el módulo Completar<br />

Grid sobre la capa que <strong>con</strong>tiene el código <strong>de</strong>l camión más cercano, y obtendrás algo como lo<br />

siguiente.<br />

¿Ves algo extraño? Efectivamente, aunque una gran parte <strong>de</strong> las celdas tienen valores enteros,<br />

otras <strong>con</strong>tienen valores que no lo son. ¿Qué significado tienen? Absolutamente ninguno. Si<br />

el valor en la celda es 1.4, ¿dón<strong>de</strong> esta el camión <strong>con</strong> el código 1.4? ¡No existe!. Por supuesto,<br />

tenemos que cambiar esto para que esas celdas tengas valores válidos, y dichos valores válidos<br />

<strong>de</strong>ben obtenerse a partir <strong>de</strong> los que actualmente están almacenados en las celdas. Para llevar<br />

esto a cabo hay varias opciones. <strong>La</strong> más inmediata <strong>de</strong> ellas (quizás en la que estás pensando<br />

tú ahora) es reclasificar los valores, asignando un valor n (obviamente, n es entero) a todas<br />

las celdas cuyo valor x cumple n − 0,5 < x ≤ n + 0,5. Este método funciona a la perfección,<br />

pero no es el más óptimo.


264 CAPÍTULO 14. ANÁLISIS DE COSTES. INCENDIOS<br />

Si trabajas <strong>con</strong> pocos puntos <strong>de</strong> <strong>de</strong>stino, preparar la tabla <strong>de</strong> reclasificación no es difícil,<br />

pero si los puntos son más numerosos pue<strong>de</strong> ser una tarea aburrida y propensa a los errores.<br />

Podrías utilizar, por ejemplo, una hoja <strong>de</strong> cálculo para preparar la tabla, pero <strong>SEXTANTE</strong> te<br />

ofrece una solución mejor a través <strong>de</strong> uno <strong>de</strong> sus módulos que ya <strong>con</strong>oces, y <strong>de</strong> tal forma que el<br />

esfuerzo requerido no <strong>de</strong>pen<strong>de</strong> en absoluto <strong>de</strong> la complejidad <strong>de</strong> la capa <strong>de</strong> puntos <strong>de</strong> <strong>de</strong>stino<br />

que hayas utilizado. ¿Recuerdas el módulo Cambiar Formato <strong>de</strong> Almacenamiento? A<strong>de</strong>más <strong>de</strong><br />

ser útil para optimizar el manejo <strong>de</strong> memoria, pue<strong>de</strong> emplearse para ✭✭forzar✮✮ a los valores <strong>de</strong><br />

un grid a ser <strong>de</strong> tipo entero, que es exactamente lo que buscamos en este caso. Simplemente<br />

cambia la capa a un formato <strong>de</strong> valores enteros, y automáticamente se redon<strong>de</strong>arán los números<br />

<strong>de</strong> las celdas al más cercano.<br />

<strong>La</strong> capa final tendrá el siguiente aspecto.<br />

También parece algo extraño, ¿no?. Si recuerdas, al cambiar el formato <strong>de</strong> almacenamiento,<br />

el valor no se redon<strong>de</strong>a, sino que se trunca al entero inferior. Para redon<strong>de</strong>ar, utiliza la<br />

calculadora <strong>de</strong> mapas y suma 0.5 a la capa original <strong>con</strong> valores reales, y <strong>de</strong>spués <strong>con</strong>viértela a<br />

enteros. Ahora sí, el resultado que obtendrás es el correcto, y <strong>con</strong> un aspecto como el siguiente.<br />

Vamos a hacer algo más. Ya hemos completado la capa que indica el camión más cercano,<br />

pero también nos gustaría saber los tiempos estimados para las celdas fuera <strong>de</strong> pista. Imagina<br />

el siguiente supuesto: Si se inicia un fuego en una <strong>de</strong> dichas celdas, el camión irá hasta la celda<br />

<strong>de</strong> vía más cercana y <strong>de</strong>s<strong>de</strong> ahí se <strong>de</strong>splazará la cuadrilla <strong>de</strong> extinción en linea recta y campo<br />

a través hasta el origen <strong>de</strong>l fuego. Asumiendo, como ya dijimos, que su velocidad es <strong>con</strong>stante


14.6. ALGO MÁS DE PRÁCTICA 265<br />

(llamémosla s), po<strong>de</strong>mos estimar aproximadamente el tiempo total <strong>de</strong>s<strong>de</strong> el punto inicial en<br />

que se encuentra el camión hasta la zona <strong>de</strong>l incendio. Veamos cómo hacerlo.<br />

Po<strong>de</strong>mos dividir el tiempo total en dos partes: por un lado el tiempo empleado por pista<br />

(tpista), y por otro el tiempo empleado fuera <strong>de</strong> pista (tfuera). Por supuesto, tfuera = 0 para<br />

las celdas <strong>de</strong> pista. Trabajemos en primer lugar <strong>con</strong> el primero <strong>de</strong> estos sumandos. Po<strong>de</strong>mos<br />

volver a utilizar el módulo <strong>de</strong> completado <strong>de</strong> datos, en este caso sin necesidad <strong>de</strong> redon<strong>de</strong>o<br />

posterior, ya que trabajamos <strong>con</strong> una variable <strong>con</strong>tinua. Siendo exactos, no es una solución<br />

completamente precisa, pero más que suficiente, ya que a cada celda sin datos se le asignará un<br />

valor muy similar al <strong>de</strong> la celda <strong>de</strong> vía más cercana, exactamente como buscamos.<br />

Ésta sería la capa resultante.<br />

Ahora nos falta calcular la capa <strong>con</strong> valores <strong>de</strong> tfuera. Para obtenerla, po<strong>de</strong>mos en este<br />

caso utilizar <strong>de</strong> nuevo el módulo Coste Acumulado (isotrópico), pero en esta ocasión <strong>de</strong> forma<br />

distinta. Puesto que queremos el tiempo <strong>de</strong>s<strong>de</strong> cada celda fuera <strong>de</strong> pista hasta la pista más<br />

cercana, usaremos la capa <strong>de</strong> vías no como capa <strong>de</strong> coste, sino como capa <strong>de</strong> puntos <strong>de</strong> <strong>de</strong>stino.<br />

Para la capa <strong>de</strong> coste, nos vale una capa <strong>con</strong>stante, que pue<strong>de</strong>s generar sencillamente a partir<br />

<strong>de</strong> la velocidad media <strong>de</strong> <strong>de</strong>splazamiento fuera <strong>de</strong> pista ya comentada y el tamaño <strong>de</strong> celda (este<br />

tamaño <strong>de</strong> pista es el coste <strong>con</strong>stante <strong>de</strong> atravesar una celda, y por tanto el valor <strong>con</strong>stante en<br />

la capa <strong>de</strong> coste a crear). Un valor <strong>de</strong> 20 en este caso es coherente <strong>con</strong> los valores <strong>de</strong> tiempo<br />

<strong>de</strong> paso a través <strong>de</strong> las celdas <strong>de</strong> vías.<br />

El resultado <strong>de</strong> esta operación es el mostrado a <strong>con</strong>tinuación.


266 CAPÍTULO 14. ANÁLISIS DE COSTES. INCENDIOS<br />

Sumando estas dos capas obtenemos la capa final que buscábamos.<br />

<strong>La</strong> capa <strong>de</strong> tiempos a la vía más cercana pue<strong>de</strong> emplearse para crear una zona <strong>de</strong> influencia<br />

alre<strong>de</strong>dor <strong>de</strong> la red <strong>de</strong> vías, sin necesidad <strong>de</strong> utilizar el módulo <strong>de</strong>dicado a ello. Simplemente<br />

<strong>de</strong>fine un rango <strong>de</strong> sin datos <strong>de</strong>s<strong>de</strong> un valor x hacia arriba, y sólo tendrás las celdas a las cuales<br />

se pue<strong>de</strong> llegar en un tiempo menor que x (lo cual, puesto que el coste era <strong>con</strong>stante, también<br />

implica una distancia menor que un valor fijo y proporcional a x). Aquí tienes un ejemplo.<br />

14.7. Simulación <strong>de</strong> incendios<br />

¿Cuál es la relación entre la simulación <strong>de</strong> incendios y el <strong>análisis</strong> <strong>de</strong> costes? ¿Por qué se<br />

incluye lo relativo a simulación <strong>de</strong> incendios <strong>de</strong>ntro <strong>de</strong> este mismo capítulo? Ya hemos visto<br />

que los módulos <strong>de</strong> <strong>análisis</strong> <strong>de</strong> coste pue<strong>de</strong>n emplearse para calcular rutas óptimas, las cuales<br />

tienen interés para la extinción <strong>de</strong> incendios, aunque, como veremos a <strong>con</strong>tinuación, también<br />

la propia manera en la que el fuego se propaga se pue<strong>de</strong> mo<strong>de</strong>lizar <strong>con</strong> algunos <strong>con</strong>ceptos muy<br />

similares a los que hemos visto en la primera parte <strong>de</strong> este capítulo.<br />

Por tanto, si has comprendido las i<strong>de</strong>as básicas <strong>de</strong>l <strong>análisis</strong> <strong>de</strong> costes, no te costará enten<strong>de</strong>r<br />

lo que seguidamente vamos a ver.<br />

Dos módulos diferentes se encuentran en el menú Simulación/Incendios: Análisis <strong>de</strong> Riesgos<br />

y Simulación


14.7. SIMULACIÓN DE INCENDIOS 267<br />

En ambos, se implementa el mo<strong>de</strong>lo BEHAVE (Rothermel, 1972), probablemente el más<br />

popular y ampliamente utilizado <strong>de</strong> cuantos existen en la actualidad, aunque en esta su versión<br />

inicial no sea el más preciso <strong>de</strong> ellos. Los algoritmos en estos módulos <strong>de</strong> <strong>SEXTANTE</strong> <strong>de</strong>rivan<br />

<strong>de</strong> la versión clásica <strong>de</strong>l algoritmo, que ha sido extendida posteriormente <strong>con</strong> nuevas i<strong>de</strong>as. De<br />

cualquier forma, el enfoque dado en <strong>SEXTANTE</strong> <strong>con</strong> su base SIG <strong>con</strong>stituye una herramienta<br />

perfectamente aplicable y <strong>de</strong> gran utilidad <strong>de</strong>ntro <strong>de</strong> este campo.<br />

Veamos el primer módulo, Análisis <strong>de</strong> Riesgos.<br />

Como pue<strong>de</strong>s comprobar, se requiere una larga serie <strong>de</strong> capas <strong>de</strong> entrada, ya que, pese<br />

a que BEHAVE es un mo<strong>de</strong>lo relativamente simple, la mo<strong>de</strong>lización <strong>de</strong>l fuego es una tarea<br />

bastante compleja en la que intervienen muchos factores.<br />

Como siempre, el MDT es necesario, en este caso para calcular pendiente y orientación,<br />

dos parámetros muy importantes que tienen gran influencia en el comportamiento <strong>de</strong>l fuego.<br />

El viento también es otro parámetro relevante, y <strong>de</strong>be ser <strong>de</strong>finido empleando dos capas:<br />

una <strong>con</strong>teniendo la velocidad <strong>de</strong>l mismo y otra <strong>con</strong> la dirección en la que sopla. Si tienes<br />

que crear estas capas a partir <strong>de</strong> datos puntuales (no en forma raster), recuerda lo que se<br />

comentó hace algunas páginas en relación a los módulos Polares a Rectangulares y Rectangulares<br />

a Polares. <strong>La</strong> velocidad <strong>de</strong>l viento se expresa en metros por segundo, y la dirección en<br />

grados <strong>de</strong>s<strong>de</strong> el norte en sentido horario.<br />

Una capa clave necesaria para ejecutar este módulo es la que <strong>de</strong>scribe el mo<strong>de</strong>lo <strong>de</strong> combustible<br />

presente en cada celda. Pese a que algunas implementaciones <strong>de</strong> BEHAVE permiten<br />

la <strong>de</strong>finición <strong>de</strong> mo<strong>de</strong>los <strong>de</strong> combustible propios, este no es el caso. Deben usarse los mo<strong>de</strong>los<br />

por <strong>de</strong>fecto <strong>de</strong>finidos por el propio BEHAVE, lo cual, por otra parte, resulta suficiente en<br />

la inmensa mayoría <strong>de</strong> casos (principalmente porque en raras ocasiones se tiene información<br />

suficiente como para <strong>de</strong>finir nuevos mo<strong>de</strong>los particulares).<br />

Estos son los mo<strong>de</strong>los por <strong>de</strong>fecto y sus valores asociados (los que <strong>de</strong>ben aparecer en la<br />

capa):<br />

1. Pastizales puros, bajos y secos<br />

2. Pastizales <strong>con</strong> matorral disperso<br />

3. Pastizales puros, altos y secos<br />

4. Matorrales altos y repoblaciones jóvenes


268 CAPÍTULO 14. ANÁLISIS DE COSTES. INCENDIOS<br />

5. Matorrales bajos<br />

6. Matorrales medios y secos <strong>con</strong> cubierta arbórea o no<br />

7. Formaciones <strong>de</strong> palmáceas bajo bosques <strong>de</strong> frondosas<br />

8. Hojarasca <strong>de</strong> bosques adultos y cerrados<br />

9. Hojarasca <strong>de</strong> bosques <strong>de</strong> frondosas<br />

10. Matorrales y hojarasca bajo bosques adultos<br />

11. Desechos ligeros <strong>de</strong> explotación o tratamientos selvícolas<br />

12. Desechos medios <strong>de</strong> explotación o tratamientos selvícolas<br />

13. Desechos <strong>de</strong> explotación o tratamientos selvícolas y bosques naturales maduros<br />

Junto a lo anterior, son necesarias cinco capas <strong>de</strong> humeda<strong>de</strong>s, las cuales se expresan en<br />

tanto por uno.<br />

Aparte <strong>de</strong> estas capas, dos más pue<strong>de</strong> añadirse <strong>con</strong> carácter opcional: una <strong>con</strong> el ✭✭valor✮✮<br />

<strong>de</strong> cada celda (lo valiosa que ésta es), y otra <strong>con</strong>teniendo la probabilidad <strong>de</strong> ignición <strong>de</strong> la<br />

celda (esto es, la probabilidad <strong>de</strong> que se inicie un fuego en la misma)<br />

Si miramos a los resultados generados por el módulo (tranquilo, ahora iremos a ello)<br />

vemos que uno <strong>de</strong> ellos se <strong>de</strong>nomina Probabilidad Compuesta. ¿Qué diferencia hay entre esta<br />

probabilidad y la Probabilidad Base que po<strong>de</strong>mos introducir como parámetro. <strong>La</strong> probabilidad<br />

base se fundamenta exclusivamente en las características propias <strong>de</strong> la celda, mientras que la<br />

compuesta <strong>con</strong>si<strong>de</strong>ra también su entorno y cómo éste pue<strong>de</strong> influir en la probabilidad <strong>de</strong> que<br />

tenga lugar un incendio en la misma. Por ejemplo, una celda <strong>con</strong> una baja inflamabilidad y<br />

alejada <strong>de</strong> zonas <strong>de</strong> peligro tendrá una probabilidad compuesta también baja. Sin embargo,<br />

si las celdas circundantes son muy propensas a que surja en ellas un incendio, es obvio que<br />

pue<strong>de</strong>n <strong>de</strong>senca<strong>de</strong>nar <strong>con</strong> igual facilidad uno en la celda analizada, por lo que ésta <strong>de</strong>berá tener<br />

un valor alto <strong>de</strong> probabilidad compuesta.<br />

El significado <strong>de</strong> esta probabilidad, junto <strong>con</strong> el <strong>de</strong> los valores numéricos que <strong>de</strong>ben ajustarse<br />

en la ventana <strong>de</strong> parámetros <strong>de</strong>l módulo, se compren<strong>de</strong> mejor analizando <strong>con</strong> algo más<br />

<strong>de</strong> <strong>de</strong>talle los resultados <strong>de</strong>l módulo, así que vamos a crearlos. En<strong>con</strong>trarás ficheros <strong>de</strong> ejemplo<br />

<strong>con</strong> el prefijo bhv (<strong>de</strong> BEHAVE) en la carpeta habitual, que <strong>de</strong>berás utilizar junto <strong>con</strong> el MDT.<br />

Selecciónalos cada uno en su campo correspondiente y ejecuta el módulo <strong>con</strong> los valores por<br />

<strong>de</strong>fecto. Muchas <strong>de</strong> éstas son simples capas <strong>de</strong> valor <strong>con</strong>stante, para simplificar el ejemplo.<br />

El tiempo <strong>de</strong> ejecución necesario es largo (no tanto en este caso, puesto que hemos <strong>de</strong>jado<br />

los valores por <strong>de</strong>fecto, aunque pronto veremos que no son a<strong>de</strong>cuados para el tamaño <strong>de</strong> las<br />

capas <strong>de</strong> entrada), y durante este tiempo se realizan muchas operaciones. En primer lugar,<br />

el módulo genera un <strong>con</strong>junto aleatorio <strong>de</strong> puntos <strong>de</strong> ignición (el número <strong>de</strong> éstos pue<strong>de</strong><br />

establecerse en el campo Numero <strong>de</strong> Eventos <strong>de</strong> Monte–Carlo), y asigna a cada uno <strong>de</strong> ellos<br />

una probabilidad <strong>de</strong> ignición.<br />

Después <strong>de</strong> esto, compara la probabilidad <strong>de</strong> ignición asignada <strong>con</strong> la <strong>de</strong> la celda en la<br />

capa <strong>de</strong> probabilidad base. Si es superior, ello significa que se producirá un fuego en esa celda,<br />

así que el programa lo simula durante un tiempo dado. Este tiempo <strong>de</strong> simulación se <strong>de</strong>fine<br />

en el campo Tiempo <strong>de</strong> Simulación.<br />

Si no seleccionas ningún mapa <strong>de</strong> probabilidad base, automáticamente todos los puntos<br />

aleatorios generados <strong>de</strong>senca<strong>de</strong>nan un incendio, sin existir <strong>con</strong>si<strong>de</strong>ración <strong>de</strong> probabilidad alguna.<br />

<strong>La</strong> probabilidad compuesta es el resultado <strong>de</strong> dividir en cada celda el número <strong>de</strong> incendios<br />

simulados que alcanzan la celda entre el número <strong>de</strong> incendios totales.


14.7. SIMULACIÓN DE INCENDIOS 269<br />

En la figura anterior pue<strong>de</strong>s ver cómo algunas celdas no han sido alcanzadas por ningún incendio,<br />

y se pue<strong>de</strong> distinguir <strong>con</strong> facilidad la forma <strong>de</strong> las zonas quemadas por cada uno <strong>de</strong> ellos.<br />

Eso quiere <strong>de</strong>cir que la combinación <strong>de</strong> valores <strong>de</strong> número <strong>de</strong> eventos y duración <strong>de</strong> éstos no es<br />

a<strong>de</strong>cuada, pues da lugar a un resultado no significativo estadísticamente. Debes aumentarlos<br />

para obtener un resultado más preciso, aunque esto, por supuesto, aumentará notablemente<br />

el tiempo <strong>de</strong> ejecución.<br />

El módulo incorpora una estimación aproximada <strong>de</strong> la bondad <strong>de</strong> los parámetros escogidos,<br />

y en caso <strong>de</strong> no ser éstos correctos mostrará un mensaje en la ventana <strong>de</strong> información.<br />

Repito que ésta es una estimación aproximada, y el hecho <strong>de</strong> que no aparezca el mensaje<br />

no garantiza la calidad <strong>de</strong>l resultado. Es mejor que juzgues en función <strong>de</strong> la apariencia <strong>de</strong> la<br />

capa resultante.<br />

<strong>La</strong> otra capa importante obtenida al ejecutar este módulo se <strong>de</strong>nomina Riesgo<br />

<strong>La</strong>s áreas quemadas por cada uno <strong>de</strong> los eventos simulados es diferente, ya que <strong>de</strong>pen<strong>de</strong><br />

<strong>de</strong> muchos parámetros, y éstos son variables a lo largo <strong>de</strong> las distintas celdas. Los incendios<br />

que comienzan en una celda dada y queman una amplia superficie son mucho más peligrosos<br />

que aquellos que, por las propias <strong>con</strong>diciones <strong>de</strong>l entorno, se propagan <strong>con</strong> mayor lentitud y<br />

no alcanzan tal número <strong>de</strong> celdas. El mapa <strong>de</strong> riesgo nos indica la peligrosidad <strong>de</strong> cada celda,<br />

midiendo esta como la superficie quemada por minuto por los incendios iniciados en cada celda.<br />

Si se utiliza una capa <strong>de</strong> ✭✭valor✮✮, el resultado no es la superficie, sino la suma <strong>de</strong> los valores <strong>de</strong><br />

las celdas quemadas, <strong>de</strong> tal modo que un incendio pequeño, si quema celdas muy valiosas (por


270 CAPÍTULO 14. ANÁLISIS DE COSTES. INCENDIOS<br />

ejemplo, las ocupadas por algún tipo <strong>de</strong> reserva ecológica), tendrá una peligrosidad elevada,<br />

y será elevado el valor asignado a la celda don<strong>de</strong> éste comenzó.<br />

Si sólo se simulan unos pocos eventos (no suficientes para generar una capa <strong>de</strong> probabilidad<br />

compuesta <strong>de</strong>cente), ¿como es que todas las celdas tienen información sobre su riesgo?<br />

Probablemente hayas notado que una <strong>de</strong> las acciones que el módulo lleva a cabo es rellenar las<br />

celdas sin información. Internamente, llama al módulo para completar celdas sin datos, el cual<br />

interpola las celdas <strong>de</strong>s<strong>de</strong> las cuales no se ha iniciado ningún incendio. De este modo, aunque<br />

la capa <strong>de</strong> riesgo siempre tiene celdas sin datos, el resultado que tu obtengas estará completo<br />

en toda su extensión. Ten en cuenta que, aunque siempre esté completa esta capa, su calidad<br />

<strong>de</strong>pen<strong>de</strong>, al igual que en la capa <strong>de</strong> probabilidad compuesta, <strong>de</strong>l número <strong>de</strong> eventos simulados.<br />

<strong>La</strong> última capa se <strong>de</strong>nomina Índice <strong>de</strong> Prioridad, que es sencillamente el producto <strong>de</strong>l<br />

riesgo por la probabilidad compuesta.Debería dar una i<strong>de</strong>a <strong>de</strong> la prioridad que <strong>de</strong>be asignarse<br />

a cada celda a la hora <strong>de</strong> planificar las estrategias <strong>de</strong> prevención <strong>de</strong> incendios.<br />

Para acabar esta sección, comentar que al usar este módulo hay que tener en cuenta<br />

los límites <strong>de</strong> las capas utilizadas, ya que pue<strong>de</strong> suce<strong>de</strong>r que algunos fuegos se inicien pero<br />

no puedan propagarse, al no resultar posible irse ✭✭fuera✮✮ <strong>de</strong> la misma. Por tanto, queman<br />

una extensión significativamente menor que el resto <strong>de</strong> incendios, y son <strong>con</strong>secuentemente<br />

<strong>con</strong>si<strong>de</strong>rados como menos peligrosos. Cuanto mayor sea el tiempo <strong>de</strong> simulación, mayor será el<br />

área <strong>con</strong> valores inferiores. Debes <strong>con</strong>si<strong>de</strong>rar este hecho si <strong>de</strong>seas analizar <strong>con</strong> igual <strong>de</strong>talle las<br />

celdas <strong>de</strong> la parte norte, puesto que en tal caso necesitarás una extensión mayor <strong>de</strong> la capa.<br />

Respecto al segundo módulo, Simulación, aunque sus resultados son bastante distintos, las<br />

capas que se requieren como entrada son similares.<br />

En este caso el módulo no genera puntos <strong>de</strong> ignición automáticamente, sino que <strong>de</strong>bes<br />

introducirlos tú a través <strong>de</strong> una nueva capa. En dicha capa, los puntos <strong>con</strong> valores válidos se<br />

<strong>con</strong>si<strong>de</strong>ran puntos <strong>de</strong> ignición, y los puntos <strong>con</strong> valor <strong>de</strong> sin datos no.<br />

A partir <strong>de</strong> estos puntos el módulo simula la propagación <strong>de</strong>l incendio, pero en esta ocasión<br />

no durante un tiempo <strong>de</strong>finido previamente, sino hasta que el total <strong>de</strong> la capa ha sido<br />

✭✭quemada✮✮. De este modo se obtiene como resultado una nueva capa en la que se indica el<br />

tiempo que transcurre hasta que se quema cada celda. El valor en la celda indica ese tiempo,<br />

expresado en minutos.<br />

Aquí pue<strong>de</strong>s ver un ejemplo <strong>de</strong> este resultado.


14.7. SIMULACIÓN DE INCENDIOS 271<br />

Pue<strong>de</strong>s darte cuenta en él <strong>de</strong> que, aunque antes no lo mencionara, hay zonas sin un mo<strong>de</strong>lo<br />

<strong>de</strong> combustible válido por las que el fuego no se propaga, ya que no existe información suficiente<br />

para simular su comportamiento. Ten esto en cuenta cuando trabajes <strong>con</strong> estos módulos, ya<br />

que pue<strong>de</strong> alterar el significado <strong>de</strong> las capas que obtuvimos en el módulo previo.<br />

A<strong>de</strong>más <strong>de</strong> la capa anterior, el módulo genera otras dos más, <strong>con</strong> datos referentes a las<br />

características <strong>de</strong>l fuego en cada celda, en particular la altura <strong>de</strong> llama expresada en metros<br />

y la intensidad <strong>de</strong> llama en kcal/m. A <strong>con</strong>tinuación pue<strong>de</strong>s ver un ejemplo <strong>de</strong> ambas capas.


272 CAPÍTULO 14. ANÁLISIS DE COSTES. INCENDIOS<br />

El campo Actualizar Vista te permite ver ✭✭en vivo✮✮ como avanza el fuego ya que, si lo<br />

seleccionas, a cada iteración <strong>de</strong>l proceso <strong>de</strong> simulación el módulo actualiza una representación<br />

<strong>de</strong> mapa <strong>con</strong> la capa <strong>de</strong> tiempo. Como es habitual, esto <strong>con</strong>lleva un mayor tiempo <strong>de</strong> ejecución.


Idoneidad. Toma <strong>de</strong> <strong>de</strong>cisiones<br />

15.1. Introducción<br />

Capítulo 15<br />

Tanto si usas información cuantitativa como cualitativa, ésta te pue<strong>de</strong> servir no solo para<br />

extraer nuevos valores y nuevas capas, sino también para tomar <strong>de</strong>cisiones acerca <strong>de</strong> las zonas<br />

que en ella se <strong>de</strong>scriben.<br />

En este capítulo vamos a estudiar cómo utilizar información <strong>de</strong> tipo raster para ayudarte<br />

en el proceso <strong>de</strong> toma <strong>de</strong> <strong>de</strong>cisiones, y para ello veremos algunos planteamientos distintos entre<br />

sí. Pese a que éste es un área que no se ha visto en capítulos anteriores <strong>de</strong> este manual, no son<br />

muchos los módulos nuevos que vas a en<strong>con</strong>trar <strong>de</strong>scritos en este capítulo. Ya tienes un buen<br />

manejo <strong>de</strong> <strong>SEXTANTE</strong>, y eso <strong>de</strong>bería ser suficiente para resolver los problemas que vamos a<br />

tratar a <strong>con</strong>tinuación. El objetivo <strong>de</strong> este capítulo es trabajar <strong>con</strong> supuestos nuevos, en este<br />

caso relacionados <strong>con</strong> la toma <strong>de</strong> <strong>de</strong>cisiones, pero también estimular la capacidad <strong>de</strong> usar otros<br />

módulos ya vistos y aumentar tu razonamiento espacial, <strong>de</strong>mostrando que mediante el uso <strong>de</strong><br />

dichos módulos pue<strong>de</strong>s afrontar la resolución <strong>de</strong> un gran número <strong>de</strong> problemas.<br />

Como se dijo al principio <strong>de</strong> este libro, su principal objetivo no es tan sólo servir como una<br />

completa guía <strong>de</strong> referencia acerca <strong>de</strong> <strong>SEXTANTE</strong> y sus múltiples capacida<strong>de</strong>s, sino también<br />

una herramienta para <strong>de</strong>sarrollar una buena comprensión espacial, la cual pue<strong>de</strong> servir para<br />

enten<strong>de</strong>r los <strong>con</strong>ceptos e i<strong>de</strong>as básicos acerca <strong>de</strong> los Sistemas <strong>de</strong> Información Geográfica, y<br />

profundizar en el <strong>con</strong>ocimientos <strong>de</strong> otros fundamentos <strong>de</strong> los SIGs.<br />

Algunas <strong>de</strong> las capas <strong>de</strong> entrada que vamos a utilizar se crean utilizando módulos que ya<br />

<strong>con</strong>oces, así que ello te servirá <strong>de</strong> práctica. Hay abundante trabajo práctico y ejemplos en este<br />

capítulo, así que prepárate para disfrutar.<br />

15.2. Un ejemplo sencillo<br />

Empecemos <strong>con</strong> un ejemplo muy simple, utilizando tan sólo una capa.<br />

Supón que <strong>de</strong>seas seleccionar el mejor emplazamiento para una nueva fábrica y la única<br />

información <strong>de</strong> la que dispones es un MDT. ¿De qué forma pue<strong>de</strong>s seleccionar el mejor lugar<br />

para ello? Piénsalo <strong>de</strong> este modo: ¿qué tipo <strong>de</strong> información pue<strong>de</strong>s extraer <strong>de</strong> un MDT que<br />

pueda ser utilizada para <strong>de</strong>finir la idoneidad <strong>de</strong> cada una <strong>de</strong> las celdas <strong>de</strong> la capa para este<br />

fin?<br />

Claramente, una capa <strong>de</strong> pendientes es una interesante fuente <strong>de</strong> información, puesto que no<br />

pue<strong>de</strong>s <strong>con</strong>struir el edificio <strong>de</strong> la fábrica en una celda <strong>con</strong> una pendiente muy elevada. Digamos,<br />

por ejemplo, que cualquier pendiente por encima <strong>de</strong>l 15% es excesiva. Pue<strong>de</strong>s reclasificar la<br />

273


274 CAPÍTULO 15. IDONEIDAD. TOMA DE DECISIONES<br />

capa asignando un valor <strong>de</strong> 1 (viable) a todas las celdas <strong>con</strong> menor pendiente, y un valor <strong>de</strong><br />

0 (inviable) a las restantes).<br />

Aquí tienes un ejemplo <strong>de</strong>l resultado.<br />

Si recuerdas, esto es prácticamente idéntico a lo que hicimos cuando vimos precisamente<br />

el módulo <strong>de</strong> reclasificación.<br />

Puesto que este ejemplo es <strong>de</strong>masiado sencillo, intentemos añadirle algo más <strong>de</strong> complejidad<br />

(y por tanto, <strong>de</strong> realismo).<br />

Del MDT pue<strong>de</strong> extraer también la red <strong>de</strong> drenaje. Situar la fábrica cerca <strong>de</strong> un río no<br />

es una buena i<strong>de</strong>a por muchas razones, una <strong>de</strong> ellas la <strong>con</strong>taminación <strong>de</strong> las aguas <strong>de</strong> éste.<br />

Supongamos que, por razones legales, no po<strong>de</strong>mos situar ningún edificio a menos <strong>de</strong> 500 metros<br />

<strong>de</strong> un cauce. En este caso, tienes una restricción adicional, ya que, in<strong>de</strong>pendientemente <strong>de</strong> su<br />

pendiente, no pue<strong>de</strong>s utilizar una celda cercana al cauce.<br />

<strong>La</strong> forma habitual <strong>de</strong> aplicar una restricción es utilizar una máscara. Coge la capa <strong>con</strong><br />

la red <strong>de</strong> drenaje, genera una zona <strong>de</strong> influencia <strong>de</strong> 500 metros a partir <strong>de</strong> la misma y úsala<br />

como máscara sobre la capa <strong>de</strong> pendientes reclasificada. Debe ser una mascara inversa, es<br />

<strong>de</strong>cir, sólo valen los puntos fuera <strong>de</strong>l área <strong>de</strong> influencia, y <strong>de</strong>bes hacer que los restantes tengan<br />

valor cero <strong>con</strong> in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> su pendiente). En lugar <strong>de</strong> los valores 0 y 1, es mejor trabajar<br />

ya <strong>con</strong> datos válidos/sin datos, representando estos primeros las celdas válidas. En este caso,<br />

obtendrás lo siguiente (advierte que las únicas celdas representadas son las validas, las que<br />

tendrían en el ejemplo anterior valor 1).


15.3. UN ENFOQUE BOOLEANO 275<br />

Pue<strong>de</strong>s ver que, a pesar <strong>de</strong> que empleamos varias capas, la <strong>de</strong>cisión final se basa en una<br />

<strong>de</strong> ellas: la pendiente. Puesto que la idoneidad en función <strong>de</strong> la pendiente solo la hemos<br />

clasificado en dos grupos, pue<strong>de</strong> ser difícil enten<strong>de</strong>r la diferencia entre un rango <strong>de</strong> idoneidad<br />

que aplicamos para dicha pendiente y la restricción que representa la zona <strong>de</strong> influencia <strong>de</strong> la<br />

red <strong>de</strong> drenaje. Lo verás <strong>de</strong> forma más clara cuando empecemos a tratar <strong>con</strong> algunos <strong>con</strong>ceptos<br />

distintos más a<strong>de</strong>lante. Lo importante en este momento es apren<strong>de</strong>r cómo aplicar restricciones<br />

y trabajar <strong>con</strong> ellas, algo nada difícil como ya has visto.<br />

15.3. Un enfoque booleano<br />

Al reclasificar el mapa <strong>de</strong> pendientes únicamente empleamos dos valores: 1 y 0 (o bien<br />

datos válidos/sin datos). Esto pue<strong>de</strong> enten<strong>de</strong>rse como un par <strong>de</strong> valores booleanos (verda<strong>de</strong>ro<br />

y falso), y po<strong>de</strong>mos emplearlos para realizar operaciones lógicas <strong>con</strong> otras capas.<br />

Introduzcamos un nuevo factor: el uso <strong>de</strong> suelo. Abre el fichero <strong>de</strong> usos <strong>de</strong> suelo que ya<br />

utilizaste para el cálculo <strong>de</strong>l Número <strong>de</strong> Curva.<br />

Se trata <strong>de</strong> una capa clasificada <strong>con</strong> 3 clases distintas. Si suponemos que las clases 1 y 3<br />

son viables para la <strong>con</strong>strucción <strong>de</strong> nuestra fábrica, tenemos el siguiente mapa <strong>de</strong> idoneidad.<br />

Únelo ahora a la capa <strong>de</strong> pendientes reclasificada y <strong>con</strong> la restricción <strong>de</strong> los cauces aplicada,<br />

y habrás añadido una nueva <strong>con</strong>dición.<br />

Pue<strong>de</strong>s llevar a cabo todas estas operaciones haciendo uso <strong>de</strong> la calculadora <strong>de</strong> mapas y<br />

multiplicando las distintas capas. En tal caso, lo que estás realizando son operaciones lógicas<br />

<strong>de</strong> tipo AND (Y), pero si quisieras hace una operación como OR (O) o XOR, la cosa no sería<br />

tan sencilla. De cualquier modo, en la práctica las operaciones AND son las más típicas.<br />

15.4. Un enfoque no booleano<br />

Usar capas <strong>con</strong> valores booleanos es sencillo y pue<strong>de</strong> hacerse en la mayoría <strong>de</strong> los casos.<br />

Simplemente tienes que establecer el criterio para capa, crear una serie <strong>de</strong> nuevas capas booleanas,<br />

multiplicarlas. ..y ya está todo hecho. Aparte <strong>de</strong> escoger el rango <strong>de</strong> idoneidad para<br />

cada factor, lo cual pue<strong>de</strong> ser complejo y requerir una cierta experiencia al respecto, sólo hacen<br />

falta unas pocas operaciones para obtener una capa final <strong>de</strong> idoneidad.<br />

Usar capas <strong>de</strong> valores <strong>con</strong>tinuos (no booleanas) no es realmente mucho más difícil, pero<br />

implica utilizar algunos <strong>con</strong>ceptos algo más elaborados que requieren algo <strong>de</strong> explicación<br />

suplementaria.


276 CAPÍTULO 15. IDONEIDAD. TOMA DE DECISIONES<br />

En primer lugar, ¿cómo po<strong>de</strong>mos codificar la idoneidad sin valores booleanos (más exactamente,<br />

<strong>con</strong> números reales)? Para ver esto, veamos algunos <strong>de</strong> los factores que ya hemos<br />

usado para los ejemplos anteriores.<br />

Comenzando <strong>con</strong> la pendiente, <strong>con</strong>si<strong>de</strong>rábamos que una pendiente <strong>de</strong> más <strong>de</strong>l 15 % no<br />

representaba un emplazamiento factible, mientras que todas las inferiores si lo eran. Eso quiere<br />

<strong>de</strong>cir que po<strong>de</strong>mos <strong>con</strong>struir nuestra fábrica sin problemas en una celda <strong>con</strong> pendiente<br />

exactamente <strong>de</strong>l 15 %, pero no po<strong>de</strong>mos hacerlo <strong>de</strong> ningún modo en una <strong>con</strong> pendiente <strong>de</strong>l<br />

15.000001 %. A efectos prácticos, esta última es <strong>con</strong>si<strong>de</strong>rada igual que una <strong>con</strong> una pendiente<br />

<strong>de</strong>l 500 %, por poner un ejemplo. No parece muy lógico, ¿verdad?<br />

Asimismo, una celda casi plana <strong>con</strong> una pendiente <strong>de</strong>l 0.1 % es <strong>con</strong>si<strong>de</strong>rada igual <strong>de</strong> óptima<br />

que una <strong>con</strong> una pendiente <strong>de</strong>l 13 %, cuando resulta obvio que la primera es claramente mejor.<br />

<strong>La</strong> solución para evitar esto es no <strong>de</strong>finir únicamente dos clases (codificadas <strong>con</strong> valores 0<br />

y 1), sino usar el rango completo <strong>de</strong> valores entre 0 y 1, teniendo celdas completamente aptas<br />

(1), otras completamente inviables(0) y otras ✭✭aptas pero no perfectas✮✮, <strong>con</strong> valores como 0.2,<br />

0.78, etc.<br />

<strong>La</strong>s cosas se pue<strong>de</strong>n complicar un poco más. Olvídate <strong>de</strong> la restricción legal acerca <strong>de</strong> la<br />

distancia al cauce (supongamos que no existe, no quiere <strong>de</strong>cir que la ignoremos) y piensa en<br />

cómo la distancia pue<strong>de</strong> afectar a la idoneidad <strong>de</strong> una celda. Si se encuentra muy alejada<br />

<strong>de</strong>l cauce, pue<strong>de</strong> tener un costo elevado el utilizar el agua <strong>de</strong>l mismo si fuera necesario. Por<br />

el <strong>con</strong>trario, una excesiva proximidad pue<strong>de</strong> ser peligrosa en caso <strong>de</strong> que se produzca una<br />

avenida.<br />

Asumamos una distancia i<strong>de</strong>al <strong>de</strong> 300 metros (también pue<strong>de</strong>s establecer un rango i<strong>de</strong>al,<br />

tal como 300–500 metros). Todas las celdas a esa distancia (o en ese rango), son plenamente<br />

idóneas (en otras palabras, i<strong>de</strong>ales). Ahora <strong>de</strong>finamos un rango ✭✭ampliado✮✮ suponiendo que<br />

más allá <strong>de</strong> los 1000 metros <strong>de</strong>l cauce no resulta viable e<strong>con</strong>ómicamente instalar la fábrica.<br />

Ello quiere <strong>de</strong>cir que las celdas entre 500 y 1000 metros son válidas, pero no tan idóneas como<br />

las que se encuentran más cercanas. Deberían tener un valor <strong>de</strong> idoneidad mayor <strong>de</strong> 0 pero<br />

menor que 1. Lo mismo suce<strong>de</strong> para aquellas situadas a una distancie entre 0 y 300 metros.<br />

<strong>La</strong> forma <strong>de</strong> asignar esos valores no es trivial. Si usamos un planteamiento lineal, tendríamos<br />

una función como la mostrada a <strong>con</strong>tinuación.<br />

Para compararla <strong>con</strong> el planteamiento booleano anterior, he aquí la función asociada a<br />

éste.


15.4. UN ENFOQUE NO BOOLEANO 277<br />

Usando una función como el caso lineal presentado antes, pue<strong>de</strong>s asignar un valor <strong>de</strong><br />

idoneidad a todas las celdas tanto en la capa <strong>de</strong> pendientes como en la <strong>de</strong> distancias. Respeto<br />

a esta última, ya no te vale <strong>con</strong> crear una zona <strong>de</strong> influencia, sino que tienes que calcular la<br />

distancia exacta al cauce. ¿recuerdas cómo? Si no se te ocurre como hacerlo, vuelve al capítulo<br />

sobre <strong>análisis</strong> <strong>de</strong> costes, allí se mencionaron problemas similares en un par <strong>de</strong> ocasiones.<br />

Aquí pue<strong>de</strong>s ver cómo queda esta capa <strong>de</strong> distancias sobre las que a <strong>con</strong>tinuación trabajaremos.<br />

Respecto a la capa <strong>de</strong> uso <strong>de</strong> suelo, <strong>con</strong>tiene valores clasificados, por lo que no pue<strong>de</strong>s<br />

utilizar este planteamiento. Podrías manualmente asignar una idoneidad a cada clase y <strong>de</strong>spués<br />

reclasificar la capa. También pue<strong>de</strong>s seguir utilizándola como hasta el momento, simplemente<br />

utilizando valores 0 y 1 y <strong>con</strong>si<strong>de</strong>rándola como una especie <strong>de</strong> restricción. Para una mayor<br />

simplicidad <strong>de</strong> aquí en a<strong>de</strong>lante, yo la utilizaré <strong>de</strong> esta segunda forma.<br />

Ahora la pregunta es: ¿cómo puedo aplicar una función como la anterior empleando SEX-<br />

TANTE?. Probablemente hayas oído hablar <strong>de</strong> la lógica difusa. Si no es así, déjame <strong>de</strong>cirte<br />

que, en líneas generales y <strong>de</strong> forma un tanto simple, la lógica difusa es lo que acabamos <strong>de</strong> ver,<br />

el hecho <strong>de</strong> que las cosas no sean viables o inviables, sino también ✭✭viables pero no perfectas✮✮<br />

como vimos antes. <strong>SEXTANTE</strong> incluye un módulo <strong>de</strong>nominado Preparar para Lógica Difusa<br />

[fuzzify] que toma los valores necesarios para <strong>de</strong>finir una función <strong>de</strong> miembro, y en función<br />

<strong>de</strong> ella asigna valores en el intervalo (0,1) a todas las celdas <strong>de</strong> una capa <strong>con</strong> información<br />

cuantitativa.<br />

Ésta es su ventana <strong>de</strong> parámetros.<br />

Los puntos <strong>de</strong> <strong>con</strong>trol <strong>de</strong> a a d son los valores necesarios para <strong>de</strong>finir los distintos rangos<br />

<strong>de</strong> la función <strong>de</strong> miembro.<br />

Por <strong>de</strong>fecto, en el campo Tipo <strong>de</strong> Función <strong>de</strong> Miembro se encuentra seleccionada la opción<br />

Lineal, así que el módulo utiliza una formulación lineal para <strong>de</strong>finir las transiciones entre los


278 CAPÍTULO 15. IDONEIDAD. TOMA DE DECISIONES<br />

valores 0 y 1 a ambos lados <strong>de</strong> la gráficas, exactamente como la que vimos <strong>con</strong> anterioridad.<br />

Sin embargo, existen otras dos opciones: Sigmoidal y Curva en J.<br />

¿Cuándo usar cada una <strong>de</strong> ellas? Esa es una pregunta difícil que <strong>de</strong>pen<strong>de</strong> <strong>de</strong>l tipo <strong>de</strong> datos<br />

que estés preparando, y que requiere por tu parte un <strong>con</strong>ocimiento <strong>de</strong> cada variable y <strong>de</strong>l<br />

<strong>análisis</strong> global que llevas a cabo. No puedo darte una ✭✭receta✮✮ al respecto, pero las funciones<br />

lineales y sigmoidales son suficientes para la mayoría <strong>de</strong> los casos, siendo la curva en forma <strong>de</strong><br />

J <strong>de</strong> uso más restringido, por lo que te recomiendo usar esta última únicamente si sabes <strong>con</strong><br />

certeza que se adapta <strong>de</strong> forma óptima al tipo <strong>de</strong> dato <strong>con</strong> el cual trabajas.<br />

Ajustando los valores <strong>de</strong> los cuatro puntos <strong>de</strong> <strong>con</strong>trol pue<strong>de</strong>s <strong>de</strong>finir funciones asimétricas<br />

e incluso funciones monótonamente crecientes o <strong>de</strong>crecientes. Si utilizas una función monótonamente<br />

creciente y un planteamiento lineal, estás imitando el comportamiento <strong>de</strong>l módulo<br />

Normalizar Grid.<br />

Utilicemos el módulo para preparar las capas <strong>de</strong> pendiente y distancia al cauce.<br />

Para el caso <strong>de</strong> la pendiente utiliza los siguientes valores:<br />

Punto <strong>de</strong> <strong>con</strong>trol A: 0<br />

Punto <strong>de</strong> <strong>con</strong>trol B: 0<br />

Punto <strong>de</strong> <strong>con</strong>trol C: 5<br />

Punto <strong>de</strong> <strong>con</strong>trol D: 15<br />

Y para el caso <strong>de</strong> la distancia al cauce los valores ya comentados:<br />

Control Point A: 0<br />

Control Point B: 300<br />

Control Point C: 500<br />

Control Point D: 1000<br />

Y aquí están los resultados. Primero la capa <strong>de</strong> pendientes.<br />

Y a <strong>con</strong>tinuación la <strong>de</strong> distancias.


15.4. UN ENFOQUE NO BOOLEANO 279<br />

Ahora estarás pensando que <strong>con</strong> esas capas pue<strong>de</strong>s multiplicarlas y obtener una nueva <strong>de</strong><br />

idoneidad. Efectivamente, esa es una opción, pero el trabajar <strong>con</strong> valores no booleanos te da<br />

la oportunidad <strong>de</strong> realizar una combinación diferente <strong>de</strong> las capas.<br />

Si simplemente multiplicas las capas (aquí tenemos dos, pero podrían ser muchas más),<br />

estás asignando el mismo peso a todas ellas. Al combinar las capas pue<strong>de</strong>s asignar a cada<br />

una <strong>de</strong> ellas un peso distinto, simplemente modificando la fórmula a la hora <strong>de</strong> emplear la<br />

calculadora <strong>de</strong> mapas.<br />

Por ejemplo, si <strong>con</strong>si<strong>de</strong>ras que la pendiente es el doble <strong>de</strong> importante que la distancia al<br />

cauce más cercano, obtendrás el siguiente resultado.<br />

Date cuenta <strong>de</strong> que en la anterior capa la distancia no actúa como una restricción, a pesar<br />

<strong>de</strong> que hemos <strong>con</strong>si<strong>de</strong>rado <strong>de</strong> la zonas a más <strong>de</strong> 1000 metros son inviables. Esto se <strong>de</strong>be a que<br />

hemos sumado las capas en lugar <strong>de</strong> multiplicarlas, por lo que el valor cero no restringe ni actúa<br />

como mascara. El hecho <strong>de</strong> trabajar <strong>con</strong> valores <strong>con</strong>tinuos no es, sin embargo, incompatible<br />

<strong>con</strong> que las capas también actúen a modo <strong>de</strong> mascara. Para ello tenemos los valores <strong>de</strong> sin<br />

datos. Establece el rango <strong>de</strong> sin datos <strong>de</strong> la capa <strong>de</strong> distancia a los valores iguales o inferiores<br />

a cero. Vuelve a combinar las capas. Obtendrás lo siguiente (he cambiado el color para evitar<br />

la <strong>con</strong>fusión <strong>con</strong> el color blanco <strong>de</strong> las celdas sin datos).


280 CAPÍTULO 15. IDONEIDAD. TOMA DE DECISIONES<br />

Ahora prueba a hacer lo mismo si quieres <strong>con</strong> la capa <strong>de</strong> pendientes.<br />

A<strong>de</strong>más <strong>de</strong> todo lo anterior, el hecho <strong>de</strong> trabajar <strong>con</strong> valores <strong>con</strong>tinuos te permite realizar<br />

<strong>con</strong> sencillez operaciones AND y OR gracias a dos módulos accesorios, <strong>de</strong>nominados<br />

respectivamente Intersección y Unión (<strong>de</strong>ntro <strong>de</strong>l menú <strong>de</strong> lógica difusa), <strong>con</strong> los que pue<strong>de</strong>s<br />

combinar los valores para los distintos criterios según un enfoque distinto al que te permite la<br />

calculadora <strong>de</strong> mapas.<br />

Lo que hacen realmente estos módulos es, dado un <strong>con</strong>junto <strong>de</strong> capas, crear una nueva que<br />

<strong>con</strong>tiene el valor máximo (en el caso <strong>de</strong> la unión) o el mínimo (si es la intersección) <strong>de</strong> las<br />

capas <strong>de</strong> entrada. Aunque su enfoque original sea para la aplicación <strong>de</strong> <strong>con</strong>ceptos <strong>de</strong> lógica<br />

difusa, seguro que pue<strong>de</strong>n serte útiles en otras circunstancias, así que ahora que <strong>con</strong>oces su<br />

funcionamiento no du<strong>de</strong>s en utilizarlos para otros cometidos si te resulta útil.<br />

<strong>La</strong> ventana <strong>de</strong> parámetros es igual en ambos módulos.<br />

Selecciona las capas <strong>de</strong> entrada y la <strong>de</strong> salida, y el módulo hará el resto.<br />

Pese a que no está relacionado estrictamente <strong>con</strong> el tema que estamos viendo, el módulo<br />

Capa <strong>de</strong> Valor Extremo guarda similitud <strong>con</strong> los módulos anteriores.<br />

En lugar <strong>de</strong> seleccionar el valor máximo o mínimo y ponerlo en una nueva capa, dicha capa<br />

almacena el código <strong>de</strong> la capa en la cual se haya ese valor extremo.<br />

En este caso no existen dos módulos distintos, sino que la <strong>con</strong>dición, sea máximo o mínimo,<br />

se selecciona en el campo Método.<br />

<strong>La</strong> <strong>con</strong>junción <strong>de</strong> este módulo <strong>con</strong> los anteriores pue<strong>de</strong> <strong>con</strong>stituir una interesante herramienta<br />

<strong>de</strong>ntro <strong>de</strong>l terreno <strong>de</strong> la evaluación <strong>de</strong> alternativas, así como en otros diversos.<br />

Sigamos sacando partido a la información <strong>de</strong> la que disponemos. ¿Qué más po<strong>de</strong>mos hacer<br />

<strong>con</strong> esas capas <strong>de</strong> idoneidad por factores? Una posibilidad muy interesante es discriminar


15.4. UN ENFOQUE NO BOOLEANO 281<br />

áreas en función <strong>de</strong> sus valores. <strong>La</strong> capa que obteníamos utilizando un planteamiento booleano<br />

simplemente <strong>con</strong>tenía ceros y unos. Todas las celdas en ella eran igual <strong>de</strong> buenas (o malas)<br />

para situar nuestra fábrica. Al usar valores <strong>con</strong>tinuos, algunas celdas son mejores que otras<br />

(aún siendo todas ellas viables), lo cual nos permite escoger las mejores.<br />

Supón que necesitas una superficie total <strong>de</strong> 10 hectáreas. ¿Cómo seleccionarías las mejores<br />

10 hectáreas (es <strong>de</strong>cir, las <strong>de</strong> mayor valor <strong>de</strong> idoneidad) <strong>de</strong> entre todas las <strong>de</strong> la capa resultante?<br />

<strong>SEXTANTE</strong> incluye un módulo que pue<strong>de</strong> or<strong>de</strong>nar las celdas <strong>de</strong> una capa en función <strong>de</strong> su<br />

valor, asignando a cada celda un valor entero que indica su posición en la lista or<strong>de</strong>nada <strong>de</strong><br />

todas las celdas. En otras palabras, la celda <strong>con</strong> el valor más alto tiene un valor asignado 1,<br />

la segunda 2, y así sucesivamente.<br />

Si necesitamos las 10 mejores hectáreas y el tamaño <strong>de</strong> celda <strong>de</strong> nuestro MDT es <strong>de</strong> 25<br />

metros, necesitamos 160 celdas.<br />

Abre el módulo Or<strong>de</strong>nar Grid.<br />

Simplemente selecciona la capa a or<strong>de</strong>nar, la capa <strong>de</strong> salida, y selecciona el or<strong>de</strong>n en que<br />

<strong>de</strong>seas hacer la or<strong>de</strong>nación, <strong>de</strong> mayor a menor o viceversa.<br />

El resultado tendrá un aspecto como el siguiente.<br />

Ahora, pue<strong>de</strong>s reclasificar los valores, <strong>de</strong> tal modo que las celdas <strong>con</strong> valores <strong>de</strong>l 1 al 160<br />

tengan valor 1, y las restantes valor cero o sin datos.<br />

Es interesante comentar que este módulo, a<strong>de</strong>más <strong>de</strong> para or<strong>de</strong>nar como tal una capa, pue<strong>de</strong><br />

servir para ecualizar una imagen, ya que la divi<strong>de</strong> en n clases iguales (siendo n el número <strong>de</strong><br />

celdas totales). Esto pue<strong>de</strong> aumentar muy notablemente la información que pue<strong>de</strong> extraerse<br />

visualmente <strong>de</strong> una capa, especialmente en aquellas <strong>con</strong> valores irregularmente distribuidos.<br />

Por ejemplo, bajo estas líneas pue<strong>de</strong>s ver el resultado <strong>de</strong> or<strong>de</strong>nar una capa <strong>de</strong> flujo acumulado.


282 CAPÍTULO 15. IDONEIDAD. TOMA DE DECISIONES<br />

Hay una gran diferencia en su aspecto, especialmente <strong>con</strong>si<strong>de</strong>rando que la figura anterior<br />

fue generada <strong>con</strong> una rampa <strong>de</strong> colores lineal, no logarítmica.<br />

Volviendo a nuestro problema <strong>de</strong> emplazar la fábrica, utilizar el modulo Or<strong>de</strong>nar Grid no<br />

es una buena i<strong>de</strong>a. <strong>La</strong>s hectáreas que necesitas para la fábrica <strong>de</strong>ben estar en celdas <strong>con</strong>tiguas,<br />

no basta seleccionar las mejores, ya que lo probable es que se encuentren separadas entre sí,<br />

y un <strong>con</strong>junto <strong>de</strong> celdas disjuntas no es una solución válida.<br />

No hay en <strong>SEXTANTE</strong> un módulo que permita seleccionar el mejor grupo posible <strong>de</strong> x<br />

celdas, pero hay algunas soluciones. Por una parte, pue<strong>de</strong>s emplear métodos que ya <strong>con</strong>oces.<br />

Por ejemplo, usar el <strong>análisis</strong> <strong>de</strong> agregados para clasificar en gran<strong>de</strong>s grupos (varía el número<br />

<strong>de</strong> éstos hasta garantizar que el mejor <strong>de</strong> ellos, el que <strong>con</strong>tenga las celdas <strong>de</strong> menor valor, tiene<br />

un grupo <strong>de</strong> la extensión necesaria). No es la solución perfecta, pero sin duda representa un<br />

empleo interesante <strong>de</strong> toda la información <strong>de</strong> partida, y es una forma correcta <strong>de</strong> resolver la<br />

tarea <strong>de</strong> asignación <strong>de</strong> emplazamiento.<br />

Sin embargo, <strong>de</strong> cara a seguir viendo nuevos módulos, hay uno que nos pue<strong>de</strong> ayudar a<br />

✭✭limpiar✮✮ una capa <strong>con</strong> grupos <strong>de</strong> celdas clasificadas, eliminando (asignándoles valor <strong>de</strong> sin<br />

datos) aquellas que <strong>con</strong>stituyen grupo <strong>de</strong> menor extensión que un umbral dado.<br />

Puesto que la capa <strong>de</strong> entrada <strong>de</strong>be estar clasificada (<strong>de</strong> otra forma el módulo no pue<strong>de</strong><br />

diferenciar entre clases y calcular la extensión <strong>de</strong> cada bloque homogéneo), lo primero que<br />

<strong>de</strong>bemos realizar es reclasificar la capa. Lo que preten<strong>de</strong>mos hacer es obtener una capa <strong>con</strong><br />

clases <strong>de</strong> idoneidad (más <strong>de</strong> las dos únicas <strong>de</strong>l planteamiento booleano, pero no la clasificación<br />

<strong>con</strong>tinua <strong>de</strong>l planteamiento <strong>de</strong> lógica difusa) y <strong>de</strong>spués eliminar los grupos <strong>de</strong> extensión insuficiente<br />

<strong>de</strong> cada capa. Po<strong>de</strong>mos probar <strong>con</strong> distinto número <strong>de</strong> clases, para tratar <strong>de</strong> afinar<br />

más el resultado.<br />

Para reclasificar la capa, una vez más po<strong>de</strong>mos acudir a cualquiera <strong>de</strong> los dos módulos<br />

<strong>de</strong>dicados a esta tarea. Pero esta vez, al igual que sucedió en otro punto anterior, hay una<br />

forma más sencilla <strong>de</strong> hacerlo que evita el tedio <strong>de</strong> tener que <strong>de</strong>finir una tabla <strong>de</strong> asignación<br />

extensa en caso <strong>de</strong> que el número <strong>de</strong> clases sea elevado. De nuevo, los módulos para <strong>con</strong>vertir<br />

entre formatos <strong>de</strong> almacenamiento nos son aquí <strong>de</strong> gran utilidad. Sabemos que los valores se<br />

sitúan entre 0 y 1. Si queremos n clases, no tenemos más que multiplicar la capa por n y<br />

<strong>de</strong>spués hacer que la capa resultante solo <strong>con</strong>tenga enteros, <strong>con</strong>virtiéndola a un formato que<br />

solo permita almacenar este tipo <strong>de</strong> valores.<br />

Para trabajar <strong>de</strong> cara a obtener las mejores celdas don<strong>de</strong> situar nuestra fábrica, empieza por<br />

un numero alto <strong>de</strong> clases. Si al limpiar los grupos <strong>de</strong> pequeño tamaño no queda ningún grupo<br />

válido <strong>de</strong>ntro <strong>de</strong> la mejor clase (la <strong>de</strong> valor máximo <strong>de</strong> ese número entero que la representa),<br />

disminuye el número <strong>de</strong> clases. Ello hará que aumente la extensión <strong>de</strong> cada clase y, por tanto, la<br />

posibilidad <strong>de</strong> que <strong>con</strong>tenga en la misma una zona <strong>con</strong>tigua <strong>de</strong> la extensión mínima requerida.


15.5. JERARQUÍAS ANALÍTICAS 283<br />

Pue<strong>de</strong>s combinar el uso <strong>de</strong> esta técnica <strong>con</strong> el <strong>análisis</strong> <strong>de</strong> agregados (que veremos más<br />

a<strong>de</strong>lante) en lugar <strong>de</strong> la reclasificación.<br />

Ahora que ya sabes como va a ser el proceso global, sólo te falta <strong>con</strong>ocer los <strong>de</strong>talles sobre<br />

el módulo particular que ✭✭limpia✮✮ la capa <strong>de</strong> zonas clasificadas según su idoneidad, y elimina<br />

los grupos menores (a las celdas en los mismos les asigna valor <strong>de</strong> sin datos)<br />

Abre el módulo Filtrar Agregados por Número <strong>de</strong> Celdas.<br />

El umbral se establece en el campo Tamaño Mínimo, y <strong>de</strong>be expresarse en número <strong>de</strong><br />

celdas.<br />

El resultado <strong>de</strong>l módulo es una nueva capa clasificada, por lo que, si <strong>de</strong>seas recuperar los<br />

valores en la capa <strong>de</strong> idoneidad original, <strong>de</strong>berás utilizarlo como una máscara para ✭✭recortar✮✮<br />

aquel.<br />

15.5. Jerarquías Analíticas<br />

Cuando tienes que combinar tan sólo dos capas, resulta sencillo asignar a cada una <strong>de</strong> ellas<br />

un peso relativo. Sin embargo, lo habitual es tomar una <strong>de</strong>cisión <strong>con</strong>si<strong>de</strong>rando más <strong>de</strong> dos<br />

factores, en cuyo caso ya no resulta tan fácil establecer la importancia relativa <strong>de</strong> cada uno <strong>de</strong><br />

ellos.<br />

<strong>SEXTANTE</strong> incluye un módulo que no sólo calcula estas importancias a partir <strong>de</strong> comparaciones<br />

dos a dos (es más fácil comparar la importancia <strong>de</strong> dos factores aislados que <strong>con</strong>si<strong>de</strong>rándolos<br />

a todos <strong>con</strong>juntamente como un todo), sino que a<strong>de</strong>más ejecuta la calculadora <strong>de</strong><br />

mapas para generar una nueva capa a partir <strong>de</strong> las capas <strong>de</strong> entrada y los pesos calculados<br />

para cada una.<br />

Este módulo se basa en una técnica <strong>con</strong>ocida como Jerarquías Analíticas (Analytical Hierarchy<br />

Process en inglés, AHP) (Saaty, 1977), que <strong>con</strong>stituye una opción muy popular para<br />

el cálculo <strong>de</strong> pesos relativos en la toma <strong>de</strong> <strong>de</strong>cisiones. Usar el AHP es sencillo, y el módulo<br />

correspondiente en <strong>SEXTANTE</strong> simplemente requiere como entrada una serie <strong>de</strong> capas raster<br />

y una tabla <strong>de</strong>finiendo la relevancia relativa <strong>de</strong> cada factor <strong>con</strong>tenido en dichas capas, a partir<br />

<strong>de</strong> comparaciones <strong>con</strong> cada una <strong>de</strong> las restantes.<br />

El parámetro clave <strong>de</strong>l módulo es la tabla <strong>de</strong> comparaciones 2 a 2, que <strong>de</strong>be tener n filas<br />

y n columnas, siendo n el número <strong>de</strong> factores (esto es, <strong>de</strong> capas) a las que asignarles un peso.<br />

En este caso la tabla no se crea <strong>de</strong>s<strong>de</strong> el propio módulo, sino que tiene que estar abierta en<br />

<strong>SEXTANTE</strong> como una tabla más y aparecer en la pestaña <strong>de</strong> datos. Veamos un pequeño<br />

ejemplo <strong>de</strong>l significado <strong>de</strong> esta tabla.


284 CAPÍTULO 15. IDONEIDAD. TOMA DE DECISIONES<br />

Supón que tenemos tres capas <strong>con</strong> tres factores, sean a, b y c, y la siguiente matriz <strong>de</strong><br />

comparaciones entre pares <strong>de</strong> ellos, que <strong>de</strong>scriben la importancia <strong>de</strong> cada uno <strong>de</strong> los mismos<br />

frente a los restantes.<br />

a b c<br />

a 1 4 5<br />

b 1/4 1 1/2<br />

c 1/5 2 1<br />

Según la tabla, el factor a es cinco veces más relevante que el c y, <strong>con</strong>secuentemente, c<br />

tiene un quinto <strong>de</strong> la importancia <strong>de</strong> a. Como es inmediato intuir, en esta matriz (llamémosla<br />

M), se cumple siempre que Mij = 1<br />

Mji .<br />

¿Qué clase <strong>de</strong> valores po<strong>de</strong>mos usar para <strong>de</strong>finir las comparaciones entre dos factores? Hay<br />

estudios psicológicos que muestran que no se pue<strong>de</strong> comparar simultáneamente más <strong>de</strong> 7 ± 2<br />

elementos, y sobre este hecho los autores <strong>de</strong>l AHP recomiendan utilizar valores entre 1 y 9,<br />

según la siguiente tabla (Saaty & Vargas, 1991):<br />

Valor Descripción<br />

1 Misma importancia<br />

3 Predominancia mo<strong>de</strong>rada <strong>de</strong> un factor sobre otro<br />

5 Predominancia fuerte<br />

7 Predominancia muy fuerte<br />

9 Predominancia extrema<br />

2, 4, 6, 8 valores intermedios<br />

Valores recíprocos Valores para comparación inversa<br />

Pese a que Saaty propuso métodos para comprobar la coherencia <strong>de</strong> la matriz <strong>de</strong> comparaciones,<br />

estos no se encuentran implementados en el módulo <strong>de</strong> <strong>SEXTANTE</strong>, por lo que queda<br />

como responsabilidad <strong>de</strong>l usuario el comprobar que los valores introducidos sean correctos.<br />

Eso no significa únicamente comprobar que los recíprocos, sino también que las comparaciones<br />

establecidas tengan lógica. Por ejemplo, si el factor 1 es más relevante que el 2 y el 2 es<br />

más que el 3, el 1 <strong>de</strong>be ser forzosamente más importante que el 3.<br />

Lo único que el módulo comprueba son las dimensiones <strong>de</strong> la tabla, y no se ejecuta si éstas<br />

no son coherentes <strong>con</strong> el número <strong>de</strong> capas utilizadas.<br />

Una vez que se han calculado los factores a partir <strong>de</strong> la tabla, el módulo utiliza las capas<br />

y dichos factores para calcular una nueva capa como combinación lineal <strong>de</strong> las <strong>de</strong> entrada.<br />

Si <strong>de</strong>seas <strong>con</strong>ocer los valores <strong>de</strong> los pesos asignados y la expresión <strong>de</strong> dicha combinación<br />

lineal, pue<strong>de</strong>s acudir a la ventana <strong>de</strong> mensajes.


Proyecciones. Georreferencia<br />

16.1. Introducción<br />

Capítulo 16<br />

Toda la información que utilizamos <strong>de</strong>ntro <strong>de</strong> <strong>SEXTANTE</strong> (excepto las tablas), <strong>de</strong>be estar<br />

georreferenciada. Sin georreferencia (es <strong>de</strong>cir, si no se <strong>con</strong>ocen la posición y dimensión <strong>de</strong> la<br />

capa, sea ésta raster o vectorial), las tareas más básicas tales como medir una distancia o<br />

combinar distintas capas no pue<strong>de</strong>n llevarse a cabo.<br />

<strong>SEXTANTE</strong> incluye algunos módulos que te ayudarán a añadir una georreferencia a una<br />

capa que carece <strong>de</strong> ella, o bien a cambiar el sistema <strong>de</strong> coor<strong>de</strong>nadas o la proyección en la que se<br />

encuentra una capa ya georreferenciada. Esto es particularmente útil al trabajar <strong>con</strong> territorios<br />

amplios, ya que, por ejemplo si se usa la habitual proyección UTM, las capas pue<strong>de</strong>n haber<br />

sido georreferenciadas en diferentes husos. En este caso, pue<strong>de</strong>s <strong>con</strong>vertir todas a un solo huso<br />

UTM, o bien (aunque es una solución menos común), pasar todo a coor<strong>de</strong>nadas geográficas.<br />

Los módulos para el cambio <strong>de</strong> sistema <strong>de</strong> coor<strong>de</strong>nadas pue<strong>de</strong>n usarse en capas raster o<br />

vectoriales indistintamente. Aunque existen módulos separados para cada tipo <strong>de</strong> datos, su<br />

uso es exactamente igual.<br />

16.2. Reproyectando <strong>con</strong> librería Proj4<br />

Ya sea una capa raster o una vectorial la que <strong>de</strong>sees modificar, en<strong>con</strong>trarás su correspondiente<br />

módulo basado en la librería Proj4 <strong>de</strong>ntro <strong>de</strong> <strong>SEXTANTE</strong>. <strong>La</strong> librería Proj4 <strong>de</strong><br />

proyecciones cartográficas, <strong>de</strong>sarrollada por Gerald Even<strong>de</strong>n <strong>de</strong>l USGS y liberada también<br />

como software libre, es utilizada en numerosos proyectos GIS relevantes, entre ellos SEXTAN-<br />

TE. Para más información sobre la misma y la teoría en la que se basan sus métodos, pue<strong>de</strong>s<br />

<strong>con</strong>sultar la siguiente dirección Web: http://www.remotesensing.org/proj/.<br />

<strong>La</strong> <strong>de</strong>scripción <strong>de</strong> los módulos relacionados <strong>con</strong> la misma en este manual es válida para<br />

las versiones raster y vectorial, <strong>con</strong> muy sutiles diferencias, por lo que no se <strong>de</strong>dica un punto<br />

in<strong>de</strong>pendiente a cada una para evitar la redundancia.<br />

Asegúrate <strong>de</strong> que tienes una capa raster cargada y abre el menú Proyección/Grid/Proj4.<br />

(<strong>La</strong> versión vectorial está en /Proyección/Vectorial/Proj4).<br />

Ésta es la pantalla <strong>de</strong> parámetros <strong>de</strong>l módulo.<br />

285


286 CAPÍTULO 16. PROYECCIONES. GEORREFERENCIA<br />

Aunque parece compleja, en realidad es sencillo utilizar el módulo. Lo único que se pue<strong>de</strong><br />

hacer es <strong>con</strong>vertir entre coor<strong>de</strong>nadas geográficas y una proyección <strong>de</strong> las soportadas, o<br />

viceversa. El sentido <strong>de</strong> la transformación lo <strong>de</strong>bes elegir en el campo Sentido. ¿Y si quieres<br />

transformar entre dos sistemas <strong>de</strong> proyección? En este caso <strong>de</strong>bes <strong>con</strong>vertir primero a<br />

coor<strong>de</strong>nadas geográficas y luego <strong>de</strong>s<strong>de</strong> geográficas al nuevo sistema <strong>de</strong> proyección <strong>de</strong>seado.<br />

Como era <strong>de</strong> esperar, sólo se necesita una capa <strong>de</strong> entrada, y sólo una <strong>de</strong> salida es generada.<br />

En el caso <strong>de</strong> ser capas raster, en<strong>con</strong>trarás las opciones habituales para <strong>de</strong>finir las dimensiones<br />

<strong>de</strong>l resultado, que ya <strong>con</strong>ocerás <strong>de</strong> otros capítulos, junto <strong>con</strong> dos nuevas alternativas:<br />

Ajuste Automático: Esta opción ajusta automáticamente la extensión <strong>de</strong> la capa<br />

resultante al menor área que cubra la información una vez ésta ha sido transformada.<br />

Es posible que la transformación provoque la aparición <strong>de</strong> celdas sin datos, ya que la<br />

distorsión sufrida por la capa pue<strong>de</strong> ✭✭rotar✮✮ la misma <strong>de</strong>jando zonas en blanco en los<br />

lados.<br />

Si eliges este método verás la siguiente pantalla <strong>de</strong> parámetros.<br />

A<strong>de</strong>más <strong>de</strong> introducir un tamaño <strong>de</strong> celda para la capa resultante, selecciona entre uno<br />

<strong>de</strong> los dos métodos <strong>de</strong>l campoAjustar Tamaño. El primero <strong>de</strong> ellos es más rápido que el<br />

segundo.<br />

Capa Vectorial: En lugar <strong>de</strong> una nueva capa raster, se genera una vectorial <strong>con</strong> un<br />

punto para cada una <strong>de</strong> las celdas <strong>con</strong> datos <strong>de</strong> la capa resultante en caso <strong>de</strong> que ésta<br />

se hubiera creado según la opción anterior.<br />

Un pequeño aviso: cuando transformes <strong>de</strong>s<strong>de</strong> una proyección como la UTM a coor<strong>de</strong>nadas<br />

geográficas y utilices las opciones Definido por Usuario o Ajuste Automático, el módulo te<br />

preguntará por el tamaño <strong>de</strong> celda <strong>de</strong> salida. Este tamaño <strong>de</strong> celda no está en metros, sino en


16.3. GEORREFERENCIANDO UNA CAPA RASTER 287<br />

grados, por lo que un tamaño <strong>de</strong> celda <strong>de</strong> 1 no dará lugar a una capa muy precisa, sino todo<br />

lo <strong>con</strong>trario, probablemente generándose una capa <strong>con</strong> una única celda si la extensión <strong>de</strong> la<br />

capa original no es gran<strong>de</strong>.<br />

Puesto que cambia la extensión <strong>de</strong> la capa <strong>de</strong> la original a la trasformada, es necesario<br />

utilizar un método <strong>de</strong> interpolación, el cual <strong>de</strong>bes elegir en el campo homónimo entre las<br />

opciones habituales.<br />

El resto <strong>de</strong> los campos se explican por sí mismos, y seguramente enten<strong>de</strong>rás sin necesidad<br />

<strong>de</strong> ayuda como <strong>con</strong>figurarlos. Si seleccionas la opción Elipsoi<strong>de</strong>s Pre<strong>de</strong>finidos en el campo<br />

Elipsoi<strong>de</strong>, <strong>de</strong>bes seleccionar uno <strong>de</strong> la lista <strong>de</strong> pre<strong>de</strong>finidos en el campo <strong>de</strong>l mismo nombre.<br />

En caso <strong>con</strong>trario, <strong>de</strong>bes <strong>de</strong>finir las variables <strong>de</strong>l elipsoi<strong>de</strong> en los campos correspondientes, los<br />

cuales <strong>de</strong>pen<strong>de</strong>n <strong>de</strong>l tipo <strong>de</strong> elipsoi<strong>de</strong> seleccionado.<br />

Algunas proyecciones requieren parámetros adicionales para utilizarse. Por ejemplo, la<br />

proyección UTM hace necesaria la <strong>de</strong>finición <strong>de</strong>l huso en el que se localiza la capa.<br />

Introduce el numero <strong>de</strong>l huso en el campo Huso, y selecciona el campo Sur en caso <strong>de</strong> que<br />

la capa se encuentre localizada en el hemisferio norte.<br />

16.3. Georreferenciando una capa raster<br />

Para georreferenciar una capa raster necesitas dos módulos: uno que realiza la georreferenciación<br />

como tal y otro que prepara la información que es necesario dar al anterior para que<br />

pueda ejecutarse.<br />

Si abres el módulo Georreferencia – raster, verás la siguiente pantalla <strong>de</strong> parámetros.<br />

En primer lugar, selecciona en Entrada la capa sin georreferenciar <strong>con</strong> la que <strong>de</strong>seas trabajar.<br />

A<strong>de</strong>más <strong>de</strong> ella, necesitas dos capas vectoriales <strong>de</strong> puntos: una que <strong>con</strong>tiene puntos situados<br />

en el grid (<strong>con</strong> las coor<strong>de</strong>nadas <strong>de</strong> celda) y otra <strong>con</strong> esos mismos puntos pero en coor<strong>de</strong>nadas<br />

reales. Debes seleccionarlas en los campos Puntos sin Referenciar y Puntos Referenciados,<br />

respectivamente.<br />

Los únicos dos parámetros que pue<strong>de</strong>s <strong>con</strong>figurar para ajustar el resultado <strong>de</strong> la operación<br />

son el método <strong>de</strong> interpolación y la extensión <strong>de</strong> la capa resultante. Al igual que en el caso<br />

anterior, las opciones Capa Vectorial y Ajuste Automático están disponibles.<br />

<strong>La</strong> parte más compleja <strong>de</strong> este proceso no es cómo utilizar el módulo en sí (que ya hemos<br />

visto que es sencilla), sino la creación <strong>de</strong> esas capas <strong>de</strong> puntos que son imprescindibles para que<br />

éste funcione. <strong>La</strong> forma más fácil <strong>de</strong> hacerlo es emplear otro módulo incluido en <strong>SEXTANTE</strong>,<br />

<strong>de</strong>nominado Recoger Puntos.


288 CAPÍTULO 16. PROYECCIONES. GEORREFERENCIA<br />

Como pue<strong>de</strong>s ver, los resultados <strong>de</strong> este módulo son exactamente dos capas <strong>de</strong> puntos,<br />

justo lo que necesitamos. En el único campo <strong>de</strong> entrada <strong>de</strong>bes seleccionar la capa raster <strong>con</strong><br />

la que trabajar, que <strong>de</strong>be ser la misma que preten<strong>de</strong>s posteriormente georreferenciar.<br />

Éste es un módulo interactivo, por lo que una vez que hagas clic en Aceptar. Ahora pue<strong>de</strong>s<br />

empezar a seleccionar puntos en la capa <strong>de</strong> entrada <strong>de</strong> los cuales <strong>con</strong>ozcas sus coor<strong>de</strong>nadas, y<br />

para cada uno <strong>de</strong> ellos una nueva entidad (un punto) se aña<strong>de</strong> a ambas capas <strong>de</strong> salida.<br />

Al hacer clic en el mapa, el módulo te pregunta las coor<strong>de</strong>nadas <strong>de</strong>l punto seleccionado<br />

(las reales, las <strong>de</strong> celda las pue<strong>de</strong> calcular él mismo sin ayuda)<br />

Repite esta operación al menos 3 veces, ya que <strong>con</strong> menos puntos el módulo <strong>de</strong> georreferenciación<br />

no pue<strong>de</strong> funcionar. Una vez hayas recogido los puntos necesarios (6 puntos es<br />

una cifra a<strong>de</strong>cuada), <strong>de</strong>tén la ejecución <strong>de</strong>l módulo y ejecuta Georreferenciar para <strong>con</strong>cluir tu<br />

trabajo.


Más <strong>análisis</strong> raster<br />

17.1. Introducción<br />

Capítulo 17<br />

A<strong>de</strong>más <strong>de</strong> todos los ya <strong>de</strong>scritos, <strong>SEXTANTE</strong> incluye muchos otros módulos que, pese a<br />

ser ciertamente importantes, no <strong>con</strong>stituyen por sí mismos grupos bien <strong>de</strong>finidos como los que<br />

hasta el momento hemos visto. En lugar <strong>de</strong> <strong>de</strong>dicar un capítulo separado a cada uno o dos<br />

<strong>de</strong> ellos, se recogen en éste todos ellos, esperando que puedas en<strong>con</strong>trar en él todas aquellas<br />

funciones que tal vez buscabas y no has hallado en los anteriores.<br />

El título Más <strong>análisis</strong> raster hace referencia a que la gran mayoría <strong>de</strong> ellos toman como<br />

entrada algún tipo <strong>de</strong> capa raster y generan resultados también es este formato.<br />

Supongo que, llegados a este punto, ya tienes un manejo fluido <strong>de</strong> <strong>SEXTANTE</strong>, por lo que<br />

las <strong>de</strong>scripciones <strong>de</strong> este capítulo serán algo menos <strong>de</strong>talladas, <strong>con</strong> el fin <strong>de</strong> evitar información<br />

redundante. En algunos casos, incluso, te invitaré a que explores algunos módulos por ti mismo,<br />

apuntando únicamente los <strong>con</strong>ceptos básicos no relacionados <strong>con</strong> el manejo <strong>de</strong>l mismo. Pese a<br />

esto, la interpretación <strong>de</strong> todos los resultados generados no faltará en ningún caso.<br />

17.2. Discretizando una capa<br />

Ya hemos visto la diferencia existente entre una malla <strong>con</strong> una variable <strong>con</strong>tinua tal y<br />

como un MDT, y una <strong>con</strong> una variable discreta como, por ejemplo, una capa <strong>de</strong> Número<br />

<strong>de</strong> Curva. <strong>La</strong>s capas <strong>con</strong> información discreta son también útiles a la hora <strong>de</strong> trabajar <strong>con</strong><br />

información <strong>con</strong>tinua, pues permiten clasificar a esta en grupos <strong>de</strong>finidos. De este modo, las<br />

capas <strong>de</strong> carácter cualitativo generadas se pue<strong>de</strong>n combinar <strong>con</strong> otras <strong>de</strong> carácter no <strong>con</strong>tinuo<br />

para obtener resultados que <strong>de</strong> otro modo hubieran sido complejos <strong>de</strong> obtener solo a partir <strong>de</strong><br />

la capa <strong>con</strong>tinua.<br />

Es sencillo <strong>con</strong>vertir una capa como un MDT en otra nueva dividida en clases. De hecho, es<br />

un proceso que ya hemos llevado a cabo al reclasificar <strong>con</strong> el módulo correspondiente la capa<br />

<strong>de</strong> pendientes en función <strong>de</strong> su capacidad <strong>de</strong> acogida para una actividad dada. Sin embargo,<br />

existen para ciertas tareas módulos mejores que permiten, no solo en función <strong>de</strong> una única<br />

capa, sino <strong>de</strong> una serie <strong>de</strong> ellas, clasificar un terreno, dividiéndolo en clases homogéneas.<br />

En<strong>con</strong>trarás estos módulos, que a <strong>con</strong>tinuación trataremos, en el menú Discretizar, <strong>de</strong>ntro <strong>de</strong><br />

Raster.<br />

289


290 CAPÍTULO 17. MÁS ANÁLISIS RASTER<br />

17.2.1. Analisis <strong>de</strong> agregados[clusters]<br />

Probablemente el más útil <strong>de</strong> estos módulo <strong>de</strong> discretización sea el <strong>de</strong>nominado Análisis<br />

<strong>de</strong> Agregados [clusters].<br />

Mediante este módulo pue<strong>de</strong>s clasificar una capa o un <strong>con</strong>junto <strong>de</strong> ellas, utilizando algoritmos<br />

que no sólo tienen en cuenta el propio valor <strong>de</strong> la celda, sino también los valores <strong>de</strong> las<br />

situadas alre<strong>de</strong>dor <strong>de</strong> la misma y la posición <strong>de</strong> ésta entre ellas.<br />

Pue<strong>de</strong>s seleccionar varias capas mediante la ventana <strong>de</strong> selección múltiple <strong>de</strong>l campo Grids,<br />

empleando ésta <strong>de</strong> la forma habitual.<br />

<strong>La</strong> salida no es únicamente una nueva capa raster <strong>con</strong> las clases. Pese a que éste es el resultado<br />

principal, el módulo también genera una tabla <strong>con</strong> información estadística interesante.<br />

Selecciona un método <strong>de</strong>l campo <strong>de</strong>l mismo nombre. Cada uno <strong>de</strong> ellos está basado en un<br />

algoritmo diferente, pero los resultados, según el caso, no son muy distintos entre sí. Una vez<br />

más, prueba, experimenta, y escoge el que resulte más a<strong>de</strong>cuado.<br />

Uno <strong>de</strong> los parámetros clave <strong>de</strong> este módulo es el numero <strong>de</strong> clases diferentes que quieres que<br />

<strong>con</strong>tenga la capa resultante, a introducir en el campo Clases. Cuanto mayor sea este número,<br />

mayor será a su vez el número <strong>de</strong> iteraciones que el algoritmo <strong>de</strong>be realizar, y <strong>con</strong>secuentemente<br />

también el tiempo <strong>de</strong> ejecución aumentará.<br />

<strong>La</strong>s capas <strong>de</strong> entrada pue<strong>de</strong>n normalizarse según su <strong>de</strong>sviación típica antes <strong>de</strong> proce<strong>de</strong>r a<br />

la creación <strong>de</strong> agregados. Para que esto tenga lugar, selecciona el campo Normalizar<br />

El proceso <strong>de</strong> crear la capa resultante implica pasar por una serie <strong>de</strong> capas intermedias. Si<br />

<strong>de</strong>seas ver estas capas previas según éstas van generándose, y <strong>de</strong> este modo seguir visualmente<br />

el progreso <strong>de</strong>l algoritmo, selecciona el campo Actualizar Vista. <strong>La</strong> ejecución <strong>de</strong>l módulo lleva<br />

un mayor tiempo, pero es curioso ver el trabajo <strong>de</strong>l algoritmo (la evolución <strong>de</strong> las capas<br />

intermedias, según que capas <strong>de</strong> origen se use — especialmente si éstas representan superficies<br />

✭✭suaves✮✮ —, pue<strong>de</strong> tener un peculiar aspecto psicotrópico), así que hazlo al menos una vez<br />

para saber por ti mismo <strong>de</strong> qué estoy hablando.<br />

Para llevar a cabo un ejemplo, usaremos el MDT habitual y la capa <strong>de</strong> pendientes. Utilizando<br />

el método Hill–climbing y especificando un total <strong>de</strong> 10 clases, el resultado es similar al<br />

siguiente.


17.2. DISCRETIZANDO UNA CAPA 291<br />

Si vas a la pestaña <strong>de</strong> datos, verás que en grupo <strong>de</strong> tablas hay una nueva <strong>de</strong>nominada<br />

Análisis <strong>de</strong> Agregados. Ábrela.<br />

<strong>La</strong> tabla <strong>con</strong>tiene información acerca <strong>de</strong> cada una <strong>de</strong> las clases creadas. Cada una tiene un<br />

i<strong>de</strong>ntificador (el valor que aparece en la capa resultado), y pue<strong>de</strong>s ver la varianza y el número<br />

<strong>de</strong> celdas ocupadas por la misma. A<strong>de</strong>más <strong>de</strong> estas columnas, en<strong>con</strong>trarás una nueva por cada<br />

capa <strong>de</strong> entrada utilizada, en la que se recoge el valor medio <strong>de</strong> dicha capa en la clase. En este<br />

caso, en<strong>con</strong>traremos dos columnas adicionales.<br />

Si or<strong>de</strong>nas los registros <strong>de</strong> la tabla según su valor medio en la capa <strong>de</strong> entrada, pue<strong>de</strong>s<br />

comprobar que un i<strong>de</strong>ntificador más alto no implica un valor medio mayor. Ten cuidado al<br />

interpretar la capa <strong>de</strong> agregados, y acu<strong>de</strong> siempre a su tabla asociada para comprobar los<br />

valores <strong>de</strong> cada clase.<br />

17.2.2. Simplificar una capa<br />

Sintetizar una capa es el proceso <strong>de</strong> ✭✭quitar✮✮ las celdas <strong>de</strong> una entidad (entendida en<br />

sentido raster, es <strong>de</strong>cir, <strong>de</strong>finida mediante un <strong>con</strong>junto <strong>de</strong> celdas), hasta que dicha entidad es<br />

todo lo ✭✭<strong>de</strong>lgada✮✮ posible (<strong>con</strong> el mínimo ancho en celdas) y todavía re<strong>con</strong>ocible. Se trata <strong>de</strong><br />

un proceso habitual en el tratamiento <strong>de</strong> imágenes, aunque también <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista<br />

<strong>de</strong> los SIGs tiene gran interés.<br />

Pue<strong>de</strong>s utilizar esta técnica para a<strong>de</strong>lgazar las carreteras <strong>de</strong> una capa raster en caso <strong>de</strong> que<br />

éstas tengan más <strong>de</strong> una celda <strong>de</strong> ancho, <strong>de</strong>jando únicamente la información fundamental <strong>de</strong><br />

las mismas. Si <strong>de</strong>spués quieres vectorizar esas carreteras, cuanto más <strong>de</strong>lgadas sean, mejores<br />

resultados obtendrás.<br />

Para llevar a cabo el sintetizado <strong>de</strong> una capa, selecciona el módulo Sintetizar [skeletonize]


292 CAPÍTULO 17. MÁS ANÁLISIS RASTER<br />

El módulo simplemente toma una capa (discreta, no <strong>con</strong>tinua) como entrada, y genera<br />

otra <strong>de</strong> salida. Opcionalmente, pue<strong>de</strong>s seleccionar también la creación <strong>de</strong> una capa vectorial<br />

que <strong>con</strong>tenga las formas <strong>de</strong>finidas en la capa <strong>de</strong> entrada.<br />

<strong>La</strong>s opciones principales que pue<strong>de</strong>s ver en la ventana <strong>de</strong> parámetros son el método a usar<br />

(una vez más, prueba y escoge el que mejores resultados <strong>de</strong>, ya que esto <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la ✭✭forma✮✮<br />

<strong>de</strong>l <strong>con</strong>tenido <strong>de</strong> la capa), el criterio <strong>de</strong> inicio, su umbral, y un factor <strong>de</strong> <strong>con</strong>vergencia.<br />

Veamos un ejemplo para que puedas ver directamente el efecto que esos parámetros tienen<br />

en la capa sintetizada. Preparemos primero una capa <strong>de</strong> entrada. Coge la capa raster <strong>con</strong> la<br />

red <strong>de</strong> drenaje y remuestréala a un tamaño <strong>de</strong> celda <strong>de</strong> 5 metros. Emplea el método <strong>de</strong> interpolación<br />

Distancia Inversa y obtendrás algo como lo siguiente (la siguiente figura representa<br />

una aproximación a la capa para que puedas apreciar el <strong>de</strong>talle <strong>de</strong> la nueva <strong>con</strong>figuración <strong>de</strong><br />

los cauces).<br />

Pue<strong>de</strong>s ver cómo el remuestreo ha hecho que los cauces tengan ahora varias celdas <strong>de</strong><br />

ancho, especialmente en los tramos superiores. Ahora intentaremos obtener una nueva capa<br />

<strong>con</strong> cauces más <strong>de</strong>lgados.<br />

Selecciona la capa anterior como entrada e introduce los siguientes valores <strong>de</strong> los parámetros.<br />

Método: Hildich<br />

Inicio: Mayor que<br />

Umbral: 0.5<br />

Convergencia: 3


17.3. MÓDULOS PARA ANÁLISIS DE IMÁGENES 293<br />

El resultado que obtendrás es el mostrado a <strong>con</strong>tinuación (el proceso requiere cierto tiempo,<br />

especialmente si <strong>con</strong> este grid algo más gran<strong>de</strong> tras el remuestreo. Si no quieres esperar, pue<strong>de</strong>s<br />

recortar una parte <strong>de</strong> él para trabajar)<br />

En él, las celdas fuera <strong>de</strong> cauce tienen un valor <strong>de</strong> 0, las <strong>de</strong> cauce un valor <strong>de</strong> 2, y algunas<br />

celdas cercanas a los cauces un valor <strong>de</strong> 1. Pue<strong>de</strong>s <strong>de</strong>shacerte <strong>de</strong> estas últimas cambiando su<br />

valor a 0 o, aún mejor, estableciendo un rango <strong>de</strong> sin datos que englobe a 0 y a 1 pero no a<br />

2. De esta forma tienes la capa buscada, <strong>con</strong> la <strong>de</strong>finición mínima <strong>de</strong> los cauces por aquellas<br />

celdas <strong>con</strong> valor igual a 2.<br />

Debajo <strong>de</strong> estas líneas pue<strong>de</strong>s ver el aspecto <strong>de</strong>l resultado final.<br />

Aquí te <strong>de</strong>jo un pequeño ejercicio: intenta obtener una capa como la anterior pero en la<br />

que, en lugar <strong>de</strong> <strong>con</strong>tener las celdas valor 2, cada una <strong>de</strong> ellas tenga asignado su or<strong>de</strong>n <strong>de</strong><br />

cauce. Fácil, ¿no?.<br />

17.3. Módulos para <strong>análisis</strong> <strong>de</strong> imágenes<br />

El número <strong>de</strong> módulos <strong>de</strong> <strong>SEXTANTE</strong> <strong>de</strong>dicados al <strong>análisis</strong> <strong>de</strong> imágenes es relativamente<br />

limitado, aunque la propia estructura <strong>de</strong>l programa hace relativamente sencillo el implementarlos,<br />

<strong>de</strong> manera similar a otros módulos <strong>de</strong> <strong>análisis</strong> raster ya vistos. Algunos <strong>de</strong> dichos<br />

módulos, tales como el que acabamos <strong>de</strong> ver para simplificación, pue<strong>de</strong>n emplearse como herramientas<br />

básicas para llevar a cabo clasificación no supervisada <strong>de</strong> imágenes, aunque ese


294 CAPÍTULO 17. MÁS ANÁLISIS RASTER<br />

no es su principal cometido, y pue<strong>de</strong>n implementarse soluciones más a<strong>de</strong>cuadas en módulos<br />

in<strong>de</strong>pendientes.<br />

En esta sección veremos algunos otros módulos sencillos que nos permitirán extraer información<br />

valiosa a partir no <strong>de</strong> capas <strong>con</strong> información sobre algún tipo <strong>de</strong> variable numérica<br />

como hasta el momento, sino a partir <strong>de</strong> imágenes.<br />

17.3.1. Clasificación supervisada<br />

Como acabo <strong>de</strong> <strong>de</strong>cir, los módulos <strong>de</strong>scritos en la sección anterior pue<strong>de</strong>n servir para llevar<br />

a cabo una clasificación no supervisada, pese a que no es ésta la aplicación particular para la<br />

que han sido diseñados. Por otra parte, <strong>SEXTANTE</strong> incluye un modulo <strong>de</strong>dicado a realizar<br />

clasificación supervisada <strong>de</strong> imágenes — otro tipo distinto <strong>de</strong> clasificación — plenamente<br />

enfocado al trabajo <strong>con</strong> imágenes y a clasificar la información que estas <strong>con</strong>tienen.<br />

Antes <strong>de</strong> entrar en el módulo en sí, veamos algunas i<strong>de</strong>as fundamentales sobre la clasificación<br />

supervisada. Son i<strong>de</strong>as básicas, ya que se trata <strong>de</strong> un tema complejo y pue<strong>de</strong> escribirse<br />

mucho al respecto, así que si tienes más interés es recomendable acudir a otras fuentes como<br />

las especificadas al final <strong>de</strong> este libro. En ellas en<strong>con</strong>trarás información sobre esta técnica,<br />

así como sobre otras todavía no implementadas en <strong>SEXTANTE</strong>. Quizás en breve lo estén o,<br />

tal vez, quién sabe, tú mismo puedas <strong>de</strong>cidirte a implementarlas en un módulo <strong>de</strong> tu propia<br />

creación.<br />

Respecto a la clasificación supervisada, he aquí las i<strong>de</strong>as fundamentales que <strong>de</strong>bes <strong>con</strong>ocer<br />

(si ya sabes <strong>de</strong> este tema, pue<strong>de</strong> saltarte estos párrafos sin problema alguno).<br />

EL objetivo principal es crear una capa temática (clasificada) a partir <strong>de</strong> un <strong>con</strong>junto <strong>de</strong><br />

imágenes, clasificando sus valores en grupos (clases). Por supuesto, todas estas imágenes <strong>de</strong>ben<br />

<strong>con</strong>tener información <strong>de</strong> una misma zona, <strong>con</strong>teniendo diferentes parámetros <strong>de</strong> la misma. El<br />

caso más habitual es emplear diferentes bandas <strong>de</strong> un sensor remoto multiespectral.<br />

<strong>La</strong> clasificación supervisada quiere <strong>de</strong>cir que <strong>de</strong>bes ✭✭ayudar✮✮ al módulo, mostrándole algunas<br />

áreas (<strong>de</strong>nominadas zonas <strong>de</strong> entrenamiento) que <strong>con</strong>oces <strong>de</strong> antemano que presentan<br />

características comunes (es <strong>de</strong>cir, pue<strong>de</strong>n formar una clase homogénea). Por ejemplo, supongamos<br />

que clasificas una capa <strong>de</strong> usos <strong>de</strong> suelo. Debes digitalizar algunas áreas <strong>con</strong> un mismo<br />

tipo <strong>de</strong> uso <strong>de</strong> suelo (por ejemplo bosques), para que el módulo pueda ✭✭apren<strong>de</strong>r✮✮ las características<br />

principales <strong>de</strong> este tipo <strong>de</strong> zonas y re<strong>con</strong>ocer otras áreas forestales fuera <strong>de</strong> la zona<br />

digitalizada. En otras palabras, <strong>de</strong>bes darle información que <strong>con</strong>oces previamente sobre una<br />

parte <strong>de</strong>l <strong>con</strong>junto <strong>de</strong> datos <strong>de</strong> entrada, para que él pueda exten<strong>de</strong>r ese <strong>con</strong>ocimiento <strong>de</strong> forma<br />

automática al resto <strong>de</strong> la extensión analizada.<br />

Este proceso se <strong>con</strong>oce como extraer la firma espectral da cada clase, e incluye una serie<br />

<strong>de</strong> <strong>análisis</strong> estadísticos para los valores en<strong>con</strong>trados en cada zona <strong>de</strong> entrenamiento y en cada<br />

una <strong>de</strong> las capas <strong>de</strong> entrada. Una vez que se <strong>con</strong>oce esta firma, se emplea para asignar valores<br />

a otros pixels (celdas) que <strong>con</strong>tienen una similar.<br />

<strong>La</strong> siguiente figura tal vez te ayu<strong>de</strong> a compren<strong>de</strong>r mejor esta explicación teórica.


17.3. MÓDULOS PARA ANÁLISIS DE IMÁGENES 295<br />

<strong>La</strong> asignación <strong>de</strong> valor <strong>de</strong> clase a las celdas fuera <strong>de</strong> las zonas <strong>de</strong> entrenamiento <strong>de</strong>pen<strong>de</strong><br />

también <strong>de</strong>l criterio <strong>de</strong> <strong>de</strong>cisión empleado, y este módulo <strong>de</strong> <strong>SEXTANTE</strong> incorpora dos <strong>de</strong><br />

ellos: máxima similitud y mínima distancia.<br />

Mientras que el algoritmo <strong>de</strong> mínima distancia clasifica cada celda por la distancia euclidiana<br />

mínima al centroi<strong>de</strong> <strong>de</strong> cada grupo <strong>de</strong> pixels, el <strong>de</strong> máxima similitud lo hace <strong>de</strong>pendiendo<br />

<strong>de</strong> las distancias a un teórico elipsoi<strong>de</strong>. Para una explicación más <strong>de</strong>tallada, una vez más, es<br />

<strong>con</strong>veniente recurrir a la literatura especializada en el tema, <strong>de</strong> la cual se adjuntan referencias<br />

al final <strong>de</strong>l libro.<br />

Dejando <strong>de</strong> lado estas <strong>con</strong>si<strong>de</strong>raciones técnicas, <strong>de</strong>bes comparar cuál <strong>de</strong> los algoritmos<br />

produce una mejor clasificación <strong>de</strong> la imagen (ello <strong>de</strong>pen<strong>de</strong> <strong>de</strong> las áreas <strong>de</strong> entrenamiento<br />

escogidas, así como <strong>de</strong> las propias características <strong>de</strong> la imagen), <strong>con</strong>trastando algunas celdas<br />

directamente para ver si los valores asignados a ellas son correctos. No olvi<strong>de</strong>s que, por muy<br />

complejo y refinado que sea el algoritmo empleado, no pue<strong>de</strong>s <strong>de</strong>jar todo el trabajo en manos<br />

<strong>de</strong>l mismo para clasificar una imagen, sino que <strong>de</strong>bes comprobar siempre el resultado.<br />

Vayamos al trabajo práctico. En primer lugar abre los tres archivos dgm <strong>con</strong> el prefijo<br />

landsat. Representan tres bandas <strong>de</strong> una imagen <strong>de</strong> satélite, que serán las que empleemos para<br />

la clasificación.<br />

Recuerda que pue<strong>de</strong>s utilizar tantas capas como <strong>de</strong>sees, y que éstas se emplearán para<br />

<strong>de</strong>finir la firma espectral <strong>de</strong> cada celda.<br />

Con las capa ya abiertas, digitaliza algunas zonas que <strong>con</strong>si<strong>de</strong>res homogéneas, creando una<br />

nueva capa <strong>de</strong> polígonos <strong>con</strong> las mismas. Debes al menos digitalizar un polígono por cada uno<br />

<strong>de</strong> los tipos <strong>de</strong> clases que <strong>de</strong>seas tener en la capa clasificada. Lógicamente, si no <strong>de</strong>fines una<br />

clase y no le das al módulo material suficiente para ✭✭apren<strong>de</strong>r✮✮ las características <strong>de</strong> dicha<br />

clase, no pue<strong>de</strong> él por sí mismo crear dicha clase.<br />

Es bueno que pruebes a digitalizar tú mismo las áreas <strong>de</strong> entrenamiento, pero en caso<br />

<strong>de</strong> que quieras ahorrarte trabajo, he incluido en los datos <strong>de</strong> ejemplo un archivo llamado<br />

t areas.shp. En<strong>con</strong>trarás entre los archivos <strong>de</strong> ejemplo uno llamado , que <strong>con</strong>tiene una imagen<br />

aerea <strong>de</strong> la misma zona. Es interesante ver las zonas <strong>de</strong> entrenamiento sobre ésta y comprobar<br />

cómo cada una <strong>de</strong> ellas representa un tipo diferente <strong>de</strong> zona.


296 CAPÍTULO 17. MÁS ANÁLISIS RASTER<br />

Una vez que tienes todos los datos cargados en <strong>SEXTANTE</strong>, abre el módulo Clasificación<br />

Supervisada.<br />

Con las explicaciones dadas <strong>con</strong> anterioridad, <strong>de</strong>berías po<strong>de</strong>r enten<strong>de</strong>r sin dificulta<strong>de</strong>s los<br />

campos <strong>de</strong> la ventana <strong>de</strong> parámetros. Utiliza el campo ID para clasificar.<br />

Vayamos ahora a los resultados generados por el módulo. Selecciona la opción [crear] para<br />

la tabla <strong>de</strong> asignación, que no se encuentra seleccionada por <strong>de</strong>fecto.<br />

<strong>La</strong> imagen clasificada tiene el siguiente aspecto.


17.3. MÓDULOS PARA ANÁLISIS DE IMÁGENES 297<br />

<strong>La</strong> tabla principal <strong>con</strong>tiene las estadísticas para cada una <strong>de</strong> las clases.<br />

Con la tabla <strong>de</strong> asignación pue<strong>de</strong>s añadir un color para cada clase en lugar <strong>de</strong> utilizar la paleta<br />

<strong>con</strong>tinua por <strong>de</strong>fecto, a<strong>de</strong>más <strong>de</strong> añadir <strong>de</strong>scripciones textuales a cada clase, modificando<br />

los valores que aparecen el el campo Descripción.<br />

17.3.2. Índices <strong>de</strong> vegetación<br />

Los índices <strong>de</strong> vegetación (IVs) pue<strong>de</strong>n emplearse para estimar la cobertura vegetal en una<br />

zona, o incluso el vigor vegetativo en caso <strong>de</strong> que dicha vegetación exista. Por ejemplo, pue<strong>de</strong><br />

utilizarse para calcular el Índice <strong>de</strong> Área Foliar (Leaf Area In<strong>de</strong>x, LAI), mediante regresiones<br />

entre medidas en campo <strong>de</strong> algún parámetro <strong>de</strong> la vegetación y un IV.<br />

Todos los IVs que pue<strong>de</strong>n calcularse <strong>con</strong> <strong>SEXTANTE</strong> requieren únicamente el uso <strong>de</strong> dos<br />

capas raster <strong>de</strong> entrada (dos imágenes): una <strong>con</strong> valores <strong>de</strong> la banda <strong>de</strong> infrarrojo y otra <strong>con</strong><br />

valores <strong>de</strong> la banda <strong>de</strong>l rojo. Ambas pue<strong>de</strong>n obtenerse <strong>de</strong> numerosos sensores multiespectrales.<br />

Los índices <strong>de</strong> vegetación pue<strong>de</strong>n dividirse en dos grupos principales: basados en pendiente<br />

y basados en distancia. Cada uno <strong>de</strong> estos grupos tiene sus propios requerimientos, por lo que<br />

se encuentran separados en dos módulos distintos.<br />

El más sencillo <strong>de</strong> ambos es el <strong>de</strong> índices basados en pendiente. Ábrelo y verás la siguiente<br />

ventana <strong>de</strong> parámetros.


298 CAPÍTULO 17. MÁS ANÁLISIS RASTER<br />

Simplemente selecciona las dos capas mencionadas <strong>con</strong> anterioridad y selecciona cuáles <strong>de</strong><br />

las capas <strong>de</strong> salida <strong>de</strong>seas obtener.<br />

Éstos son los índices <strong>de</strong> vegetación disponibles, cada uno <strong>de</strong> ellos <strong>con</strong> su ecuación correspondiente.<br />

Es habitual referirse a ellos por su <strong>de</strong>nominación y sus siglas en inglés, por lo cual<br />

mantengo en el manual dicha <strong>de</strong>nominación en lugar <strong>de</strong> traducirla al castellano.<br />

Normalized Difference Vegetation In<strong>de</strong>x:<br />

NIR − Red<br />

NIR + Rojo<br />

don<strong>de</strong> NIR es el valor en la banda <strong>de</strong> infrarrojo cercano,<br />

y Rojo el valor en la banda <strong>de</strong>l rojo.<br />

Ratio Vegetation In<strong>de</strong>x<br />

Transformed Vegetation In<strong>de</strong>x<br />

NIR<br />

Red<br />

Corrected Transformed Vegetation In<strong>de</strong>x<br />

(17.1)<br />

(17.2)<br />

NDVI + 0,5 (17.3)<br />

NDVI + 0,5<br />

|NDVI + 0,5| · |NDVI + 0,5|<br />

Thiam’s Transformed Vegetation In<strong>de</strong>x<br />

Normalized Ratio Vegetation In<strong>de</strong>x<br />

(17.4)<br />

|NDVI + 0,5| (17.5)<br />

Red<br />

NIR<br />

Red<br />

NIR<br />

− 1<br />

+ 1<br />

(17.6)<br />

Los índices <strong>de</strong> vegetación basados en distancia son un poco más complejos y requieren algo<br />

<strong>de</strong> preparación previa. Ejecuta el módulo correspondiente y veamos su ventana <strong>de</strong> parámetros<br />

para compren<strong>de</strong>r el porqué <strong>de</strong> estos requerimientos.


17.3. MÓDULOS PARA ANÁLISIS DE IMÁGENES 299<br />

<strong>La</strong> clave aquí está en los campos Pendiente <strong>de</strong> la Línea <strong>de</strong> Suelo y Corte <strong>de</strong> la Línea<br />

<strong>de</strong> Suelo, los cuales <strong>de</strong>ben calcularse por separado y <strong>de</strong>spués introducirse en la ventana <strong>de</strong><br />

parámetros.<br />

He aquí la forma <strong>de</strong> hacerlo.<br />

Calcula un IV basado en pendiente, como por ejemplo el NDVI.<br />

Usándolo, selecciona áreas que representen suelo <strong>de</strong>snudo sin vegetación.<br />

Crea una capa que <strong>con</strong>tenga valor 1 en dichas áreas y valor <strong>de</strong> sin datos en las restantes<br />

(utiliza las técnicas que ya <strong>con</strong>oces para hacer máscaras).<br />

Aplica esta máscara a las bandas <strong>de</strong> rojo e infrarrojo cercano.<br />

Calcula una regresión entre esas capas. Obtendrás una ecuación <strong>de</strong> la forma<br />

a es la pendiente buscada y b la <strong>de</strong>l punto <strong>de</strong> corte.<br />

Estos son los IVs disponibles en el módulo.<br />

PVI (Richardson & Wiegand)<br />

PVI (Perry & <strong>La</strong>utenschlager)<br />

PVI (Walther & Shabaani)<br />

PVI (Qi, et al)<br />

y = ax + b (17.7)<br />

Según el índice <strong>de</strong> vegetación que se quiera calcular, la regresión se <strong>de</strong>be realizar utilizando<br />

la banda <strong>de</strong>l rojo o la <strong>de</strong>l infrarrojo cercano como variable in<strong>de</strong>pendiente. En función <strong>de</strong> este<br />

hecho, los IVs se divi<strong>de</strong>n en dos grupos<br />

Rojo como variable in<strong>de</strong>pendiente: PVI (Walther & Shabaani, PVI (Qi, et al)<br />

Infrarrojo como variable in<strong>de</strong>pendiente: PVI (Richardson & Wiegand, PVI (Perry<br />

& <strong>La</strong>utenschlager)


300 CAPÍTULO 17. MÁS ANÁLISIS RASTER<br />

17.3.3. Change Vector Analysis<br />

Al <strong>con</strong>trario que los índices <strong>de</strong> vegetación, que generan una información ✭✭estática✮✮, la<br />

técnica <strong>con</strong>ocida como Change Vector Analysis (CVA) evalúa un factor dinámico, mostrando<br />

la variación que ha tenido lugar en dos imágenes (dos bandas) entre dos fechas. Necesitas, por<br />

tanto, cuatro imágenes: dos tomadas en una fecha inicial (normalmente bandas <strong>de</strong>l rojo y <strong>de</strong>l<br />

infrarrojo), y las mismas pero en una fecha posterior.<br />

Tomando una <strong>de</strong> las bandas (llamémosla banda 1) como eje X y la otra (sea banda 2)<br />

como eje Y, obtenemos 4 coor<strong>de</strong>nadas y dos puntos <strong>de</strong> la forma (x, y). Uno <strong>de</strong> dichos puntos<br />

representa la fecha inicial, mientras que el otro representa la final. El vector <strong>de</strong>s<strong>de</strong> el inicial al<br />

final pue<strong>de</strong> ser expresado en coor<strong>de</strong>nadas polares <strong>de</strong> la forma(magnitud, ángulo).<br />

Mira la siguiente figura para ver lo que significa esto.<br />

Poniendo cada uno <strong>de</strong> estos nuevos valores en una malla raster y calculando esto para cada<br />

celda, tenemos dos nuevas capas (una <strong>con</strong> la magnitud y otra <strong>con</strong> el ángulo), <strong>con</strong> las cuales<br />

pue<strong>de</strong> analizarse la variación ocurrida entre las dos fechas <strong>de</strong>finidas.<br />

Para llevar esto a cabo, abre el módulo Change Vector Analysis.<br />

No hay mucho más que explicar, ¿no?<br />

17.4. Módulos para el <strong>análisis</strong> <strong>de</strong> series temporales<br />

En el ejemplo <strong>de</strong>l módulo anterior veíamos cómo evaluar el cambio entre dos imágenes<br />

correspondientes a dos instantes distintos. Si en lugar <strong>de</strong> dos imágenes tenemos una serie <strong>de</strong><br />

ellas or<strong>de</strong>nadas cronológicamente, disponemos <strong>de</strong> una serie temporal completa sobre la cual<br />

pue<strong>de</strong>n llevarse a cabo interesantes <strong>análisis</strong>.<br />

Por el momento, el número <strong>de</strong> módulos <strong>de</strong>dicados al tratamiento <strong>de</strong> series temporales<br />

es escaso en <strong>SEXTANTE</strong>, pero ésta es un área en la que se preve gran avance <strong>de</strong>ntro <strong>de</strong>l<br />

programa.<br />

Para evaluar la variación total que los valores <strong>de</strong> cada celda <strong>de</strong> un grid han sufrido a través<br />

<strong>de</strong>l tiempo representado en una serie temporal, en<strong>con</strong>tramos el módulo Recorrido.


17.5. ANÁLISIS DE PATRONES 301<br />

<strong>La</strong> ventana <strong>de</strong> parámetros es sencilla, y tan sólo <strong>de</strong>bes seleccionar la totalidad <strong>de</strong> capas <strong>de</strong><br />

la serie. Recuerda que <strong>de</strong>bes hacerlo en or<strong>de</strong>n, ya que cada capa ha <strong>de</strong> representar un instante<br />

dado, y éstos están or<strong>de</strong>nados en el tiempo.<br />

El valor <strong>de</strong> la capa resultante es la suma <strong>de</strong> los valores absolutos <strong>de</strong> las diferencias existentes<br />

entre cada pareja <strong>de</strong> capas <strong>con</strong>secutivas, indicándose así la distancia (en términos <strong>de</strong> sus<br />

valores) que ha recorrido la variable representada por las capas.<br />

17.5. Análisis <strong>de</strong> patrones<br />

El <strong>análisis</strong> <strong>de</strong> patrones es particularmente útil para el estudio <strong>de</strong>l paisaje, y pue<strong>de</strong> ejecutarse<br />

en capas discretas o en imágenes. Solo hay un módulo relacionado <strong>con</strong> este tipo <strong>de</strong> <strong>análisis</strong> en<br />

<strong>SEXTANTE</strong>, pero genera un amplio <strong>con</strong>junto <strong>de</strong> nuevas capas entre las cuales seguramente<br />

en<strong>con</strong>traras aquello que necesites.<br />

Para arrancar este módulo, selecciona el menú Análisis <strong>de</strong> patrones<br />

Es sencillo <strong>con</strong>figurar la ventana <strong>de</strong> parámetros. Selecciona la capa a analizar en el campo<br />

<strong>de</strong> entrada. Selecciona el tamaño <strong>de</strong> la ventana <strong>de</strong> <strong>análisis</strong>. Como viene siendo habitual, cuanto<br />

mayor sea ésta, más largo será el tiempo <strong>de</strong> proceso. Por último, introduce el número total <strong>de</strong><br />

clases a <strong>con</strong>si<strong>de</strong>rar en la capa completa. Cada valor diferente <strong>de</strong>fine por sí mismo una nueva<br />

clase. Como veremos, este parámetro es necesario para calcular algunos resultados.<br />

Ejecuta el módulo y obtendrás las siguientes nuevas capas:<br />

Riqueza relativa:<br />

don<strong>de</strong> N es el número <strong>de</strong> clases en la ventana <strong>de</strong> <strong>análisis</strong>,<br />

Nmax el máximo número <strong>de</strong> clases.<br />

Diversidad:<br />

R = N<br />

· 100 (17.8)<br />

Nmax<br />

H =<br />

N<br />

Pi · lnPi<br />

don<strong>de</strong> N es el número <strong>de</strong> clases en la ventana <strong>de</strong> <strong>análisis</strong>,<br />

Pi la proporción <strong>de</strong> la clase i en la ventana <strong>de</strong> <strong>análisis</strong>.<br />

i=1<br />

(17.9)


302 CAPÍTULO 17. MÁS ANÁLISIS RASTER<br />

Dominancia:<br />

don<strong>de</strong> Hmax is la diversidad máxima (=lnN)<br />

Fragmentación:<br />

N − 1<br />

c − 1<br />

don<strong>de</strong> c es el número <strong>de</strong> celdas en la ventana <strong>de</strong> <strong>análisis</strong><br />

Número <strong>de</strong> clases diferentes:<br />

D = Hmax − H (17.10)<br />

(17.11)<br />

Centro frente a entorno: Indica el número <strong>de</strong> clases en la ventana <strong>de</strong> <strong>análisis</strong> diferentes<br />

<strong>de</strong> la celda central.<br />

A<strong>de</strong>más <strong>de</strong>l anterior, <strong>SEXTANTE</strong> incluye uno relacionado, que pue<strong>de</strong> emplearse no para<br />

estudiar los patrones que se presentan en la capa, sino la forma en que las diferentes clases se<br />

distribuyen a través <strong>de</strong> la misma.<br />

Mira estas dos tablas que representan dos pequeñas capas raster.<br />

1 1 1 1<br />

1 1 1 1<br />

2 2 2 2<br />

2 2 2 2<br />

1 2 1 2<br />

2 1 2 1<br />

1 2 1 2<br />

2 1 2 1<br />

Ambas <strong>con</strong>tienen los mismos valores y tendrán la misma media y <strong>de</strong>sviación típica. Sin<br />

embargo, las celdas <strong>con</strong> valores similares se encuentran agrupadas en la primera capa, mientras<br />

que en la segunda se encuentran dispersas. Para medir lo ✭✭compacta✮✮ que es la disposición <strong>de</strong><br />

las clases <strong>de</strong>ntro <strong>de</strong> una capa, pue<strong>de</strong>s utilizar lo que se <strong>con</strong>oce como un índice <strong>de</strong> agregación.<br />

Uno <strong>de</strong> los más simples y eficientes <strong>de</strong> estos índices es el <strong>de</strong>finido por Hong et al (1991), el<br />

cual pue<strong>de</strong>s en<strong>con</strong>trar el el módulo Índice <strong>de</strong> Agregación. Aquí tienes su ventana <strong>de</strong> parámetros.<br />

Para crearlo necesitas una capa clasificada, así que crea una antes <strong>de</strong> seguir o utiliza algunas<br />

<strong>de</strong> las que ya hemos visto hasta el momento.<br />

Ahora selecciona esa capa en el campo <strong>de</strong> entrada e introduce el número máximo <strong>de</strong> clases.<br />

El resultado <strong>de</strong>l módulo es una tabla como la que pue<strong>de</strong>s ver a <strong>con</strong>tinuación.<br />

Para cada clase, <strong>con</strong>tiene información acerca <strong>de</strong>l área que ocupa (en las unida<strong>de</strong>s <strong>de</strong> la<br />

capa y también en porcentaje <strong>de</strong> la extensión total <strong>de</strong> ésta) y, por supuesto, el valor <strong>de</strong>l índice<br />

<strong>de</strong> agregación, que varía entre 0 (la <strong>con</strong>figuración menos compacta) y 1 (la más compacta).


17.6. CLASIFICACIÓN CRUZADA 303<br />

17.6. Clasificación Cruzada<br />

De un modo en cierta medida similar a lo que veíamos para la metodología <strong>de</strong>l CVA, la<br />

clasificación cruzada <strong>de</strong> dos capas nos permite obtener valiosa información acerca <strong>de</strong> cómo ha<br />

variado el <strong>con</strong>tenido <strong>de</strong> la misma. En este caso, el módulo correspondiente es particularmente<br />

útil <strong>con</strong> capas <strong>de</strong> información discreta.<br />

<strong>La</strong> preparación <strong>de</strong> las capas necesarias para seguir un ejemplo <strong>de</strong> este módulo la <strong>de</strong>jo en<br />

esta ocasión en tus manos. Crea un nueva capa vectorial <strong>con</strong> tres o cuatro polígonos que cubran<br />

una superficie y <strong>de</strong>spués rasteriza esa capa. Debes dar un código a cada polígono, empezando<br />

en 1, y este valor es el que ha <strong>de</strong> aparecer en la capa raster para codificar el <strong>con</strong>tenido <strong>de</strong> la<br />

celda. Después, edita la capa vectorial y modifica ligeramente la forma <strong>de</strong> esos polígonos <strong>de</strong><br />

manera que sigan cubriendo el área total, pero algunos hayan ganado espacio en <strong>de</strong>trimento<br />

<strong>de</strong> otros. Rasteriza también esta capa. <strong>La</strong>s dos capas raster que tienes ahora nos servirán como<br />

base para <strong>de</strong>finir <strong>de</strong> forma cuantitativa el cambio que has realizado <strong>de</strong> una a otra.<br />

Si prefieres trabajar todo en formato raster, pue<strong>de</strong>s <strong>con</strong>seguir dos capas válidas para este<br />

ejemplo haciendo dos reclasificaciones distintas sobre una capa tal como el MDT. Ésta es la<br />

opción que yo seguiré, aunque no estaría <strong>de</strong> más que trabajaras <strong>con</strong> amabas para practicar un<br />

poco...<br />

Aquí tienes las dos capas <strong>de</strong> entrada.<br />

Abre a <strong>con</strong>tinuación el módulo Clasificación Cruzada


304 CAPÍTULO 17. MÁS ANÁLISIS RASTER<br />

<strong>La</strong>s entradas <strong>de</strong>l mismo son únicamente las capas raster recién creadas, y como salida<br />

se generan tanto un grid como una tabla. En el campo Número Máximo <strong>de</strong> Clases <strong>de</strong>bes<br />

especificar el número <strong>de</strong> clases diferentes en las capas (en este caso, es el número <strong>de</strong> polígonos).<br />

Veamos que <strong>con</strong>tienen la tabla y la capa generada, empezando por esta primera.<br />

<strong>La</strong> tabla tiene unas dimensiones n ×n , siendo n el número máximo <strong>de</strong> clases especificado.<br />

El valor en la casilla (x,y) indica el numero <strong>de</strong> celdas que han pasado <strong>de</strong> pertenecer a la clase<br />

x en el primer grid a pertenecer a la clase y en el segundo.<br />

El ultimo registro es también un total, al igual que el último campo a la <strong>de</strong>recha <strong>de</strong> la<br />

tabla.<br />

En el caso <strong>de</strong> la capa, cada valor indica un tipo <strong>de</strong> cambio dado. Si se produce en una<br />

celda un cambio <strong>de</strong>s<strong>de</strong> la clase x a la clase y, el valor asignado es v = x ∗ n + y.<br />

Para las dos capas <strong>de</strong> ejemplo anteriores, el resultado es el siguiente.<br />

17.7. Dimensión fractal <strong>de</strong> una superficie<br />

Pue<strong>de</strong>s en<strong>con</strong>trar el módulo Dimensión Fractal <strong>de</strong> una Superficie <strong>de</strong>ntro <strong>de</strong>l menú Diversiones/Fractales.<br />

Aunque los fractales pue<strong>de</strong>n ser increíblemente divertidos (y esa es una <strong>de</strong><br />

las razones por las que se encuentra ahí el módulo), también son indudablemente útiles, por


17.7. DIMENSIÓN FRACTAL DE UNA SUPERFICIE 305<br />

lo que creo que es una buena i<strong>de</strong>a incluir la <strong>de</strong>scripción <strong>de</strong>l módulo en este punto en lugar <strong>de</strong><br />

en otra parte <strong>de</strong>l libro junto <strong>con</strong> módulos <strong>con</strong> un propósito verda<strong>de</strong>ramente recreativo.<br />

<strong>La</strong> ventana <strong>de</strong> parámetros <strong>de</strong>l módulo es relativamente simple y no necesita explicación<br />

<strong>La</strong> salida generada por el módulo es una nueva tabla como la mostrada seguidamente<br />

<strong>La</strong> dimensión fractal se calcula empleando ventanas <strong>de</strong> tamaño creciente. Ésa es la razón<br />

por la cual los valores <strong>de</strong> la columna Escala son todos múltiplos <strong>de</strong>l tamaño <strong>de</strong> celda. Para cada<br />

escala tienes su valor <strong>de</strong> área y el logaritmo neperiano <strong>de</strong>l mismo. <strong>La</strong>s dos últimas columnas<br />

<strong>con</strong>tienen las diferencias entre cada fila y la siguiente para los dos campos anteriores.


306 CAPÍTULO 17. MÁS ANÁLISIS RASTER


Otros módulos<br />

18.1. Introducción<br />

Capítulo 18<br />

¿Crees que ya lo has visto todo acerca <strong>de</strong> los módulos <strong>de</strong> <strong>SEXTANTE</strong>? Casi, pero aún<br />

no. Todavía quedan algunos módulos interesantes <strong>de</strong> tratar (y algunos otros <strong>de</strong> uso fácil que<br />

por no hacer excesivo este manual no se <strong>de</strong>scriben en él) que he reunido aquí en este último<br />

capítulo sobre los módulos <strong>de</strong> <strong>SEXTANTE</strong>.<br />

<strong>La</strong> mayoría <strong>de</strong> ellos son sumamente sencillos, y <strong>con</strong> el <strong>con</strong>ocimiento que has adquirido<br />

hasta llegar aquí es probable que puedas usarlos sin necesidad <strong>de</strong> muchas explicaciones. No<br />

obstante, si necesitas una pequeña ayuda, aquí tienes una <strong>de</strong>scripción breve <strong>de</strong> ellos.<br />

<strong>La</strong> mayoría <strong>de</strong> módulos <strong>de</strong> este último capítulo no son módulos <strong>de</strong> <strong>análisis</strong>, sino <strong>de</strong>l tipo <strong>de</strong><br />

los que vimos en el primer capítulo <strong>de</strong> introducción. Podrían haberse incluido allí, pero para<br />

evitar un capítulo excesivamente largo, simplemente he tomado los menos habituales (lo cual<br />

no significa en modo alguno que sean menos importantes), y los he agrupado aquí al final <strong>de</strong>l<br />

libro.<br />

18.2. Trabajando <strong>de</strong> cerca <strong>con</strong> los valores <strong>de</strong> una capa raster<br />

A<strong>de</strong>más <strong>de</strong> <strong>de</strong>jar que sean usados por los módulos para calcular sus resultados, po<strong>de</strong>mos<br />

trabajar <strong>de</strong> cerca <strong>con</strong> los valores <strong>de</strong> las distintas celdas, modificándolos, extrayendo los valores<br />

<strong>de</strong> algunos <strong>de</strong> ellos en tablas, entre otras cosas. Para ello, existen una serie <strong>de</strong> módulos muy<br />

prácticos que veremos a <strong>con</strong>tinuación.<br />

18.2.1. Cambiando el valor <strong>de</strong> una celda<br />

Para modificar el valor <strong>de</strong> una celda en una capa no es necesario el uso <strong>de</strong> ningún módulo.<br />

Basta <strong>con</strong>, como vimos en el capítulo <strong>de</strong>dicado al manejo básico <strong>de</strong> capas raster, utilizar<br />

la herramienta seleccionar y acudir a la tabla <strong>de</strong> la pestaña Descripción, don<strong>de</strong> se pue<strong>de</strong>n<br />

modificar libremente los valores.<br />

En ocasiones, sin embargo, la modificación que queremos llevar a cabo hace que este método<br />

no sea <strong>de</strong>masiado práctico. Por ejemplo, supón que quieres preparar una capa <strong>de</strong> puntos <strong>de</strong><br />

<strong>de</strong>stino para uno <strong>de</strong> los módulos <strong>de</strong> coste, y el número <strong>de</strong> puntos a añadir es elevado. Sería<br />

más cómodo simplemente pinchar sobre las celdas que <strong>de</strong>sees <strong>con</strong>vertir en celdas <strong>de</strong> <strong>de</strong>stino y<br />

que al hacerlo se cambiara el valor <strong>de</strong> éstas inmediatamente, sin necesidad <strong>de</strong> cada vez teclear<br />

dicho valor.<br />

307


308 CAPÍTULO 18. OTROS MÓDULOS<br />

Para hacer esta modificación sí que es necesario un módulo (interactivo, como ya habrás<br />

podido adivinar), <strong>de</strong>nominado Modificar Valor <strong>de</strong> una Celda.<br />

Selecciona la capa sobre la que <strong>de</strong>sees realizar el cambio <strong>de</strong> valores. Ya sabes que esto no<br />

quiere <strong>de</strong>cir que para seleccionar las celdas en la parte interactiva <strong>de</strong>l módulo <strong>de</strong>bas hacerlo<br />

sobre dicha capa, sino sobre cualquier representación <strong>de</strong> mapa que <strong>de</strong>sees. Por ejemplo, en<br />

el caso <strong>de</strong> la capa <strong>de</strong> <strong>de</strong>stinos pue<strong>de</strong>s hacerlo sobre un mapa <strong>con</strong> la capa <strong>de</strong> carreteras, para<br />

asegurarte <strong>de</strong> que los puntos que aña<strong>de</strong>s caen efectivamente sobre una vía.<br />

Introduce en el campo Valor el nuevo valor <strong>de</strong> las celdas. Haz clic en Aceptar y comienza<br />

a seleccionar las celdas <strong>de</strong>seadas. A medida que cambias los valores, la representación <strong>de</strong> la<br />

capa, en caso <strong>de</strong> en<strong>con</strong>trarse visible, varía automáticamente.<br />

18.2.2. Consulta <strong>de</strong> valores<br />

El siguiente módulo también es un módulo interactivo, pero en este caso no modifica los<br />

valores <strong>de</strong> la capa sino que los extrae para disponerlos en una tabla <strong>de</strong> una forma que, para<br />

ciertos casos, pue<strong>de</strong> resultar más práctica. Abre el módulo Consulta <strong>de</strong> Valores y verás la<br />

siguiente ventana <strong>de</strong> parámetros.<br />

Simplemente <strong>de</strong>bes <strong>de</strong>finir las capas raster <strong>de</strong> las que <strong>de</strong>seas tomar los valores y <strong>de</strong>finir una<br />

tabla <strong>de</strong> salida en la que guardar éstos. Puesto que al seleccionar las localizaciones exactas <strong>de</strong><br />

los puntos <strong>de</strong> don<strong>de</strong> quieres tomar la información no te será posible hacer clic exactamente en<br />

el centro <strong>de</strong> la celda, el módulo <strong>de</strong>berá interpolar para calcular el valor en dichos puntos, y es<br />

por ello que en<strong>con</strong>trarás un campo en la ventana <strong>de</strong> parámetros en en el que elegir el método<br />

<strong>de</strong> interpolación a utilizar.<br />

Si <strong>de</strong>seas información sobre varios puntos, <strong>de</strong>bes escoger la opción Puntos múltiples en el<br />

campo Métodos. Si, por el <strong>con</strong>trario, sólo <strong>de</strong>seas los valores <strong>de</strong> un punto, escoge Punto único<br />

en su lugar.<br />

Una novedad que en<strong>con</strong>tramos en este módulo es la ventana <strong>de</strong> selección múltiple, que<br />

difiere un poco <strong>de</strong> las que has en<strong>con</strong>trado en otros módulos hasta el momento para la selección<br />

<strong>de</strong> capas raster.


18.3. CAPAS A PARTIR DE CAPA CLASIFICADA Y TABLA 309<br />

En otras ocasiones, era necesario que todas las capas escogidas tuvieran la misma extensión<br />

<strong>de</strong> grid, pues el módulo operaba <strong>con</strong>juntamente <strong>con</strong> ellas. En este caso eso no es necesario,<br />

y aparece en la parte superior una lista <strong>de</strong>splegable don<strong>de</strong> pue<strong>de</strong>s escoger entre ver todas las<br />

capas raster en la columna izquierda, o simplemente las <strong>de</strong> una extensión <strong>de</strong> grid dada.<br />

Seleccionando dos capas en dicha ventana (en este caso, el MDT y la capa <strong>de</strong> tiempos <strong>de</strong><br />

salida), el módulo crea una <strong>de</strong> las dos siguientes tablas, en función <strong>de</strong>l método escogido.<br />

Una vez que el módulo se ejecuta en su parte interactiva, a medida que vas haciendo clic<br />

sobre una representación <strong>de</strong> mapa, la tabla se va llenando <strong>con</strong> nuevos registros (en el caso <strong>de</strong><br />

usar el método Puntos múltiples, o bien variando los valores <strong>de</strong> sus celdas (en el caso <strong>de</strong> usar<br />

el método Punto único)<br />

18.3. Creando una serie <strong>de</strong> capas raster a partir <strong>de</strong> una capa<br />

raster clasificada y una tabla <strong>de</strong> asignación<br />

Uno <strong>de</strong> los módulos que vimos en el capítulo <strong>de</strong>dicado a las operaciones <strong>con</strong> capas vectoriales<br />

era el <strong>de</strong>nominado Unir Tablas, que unía una tabla in<strong>de</strong>pendiente <strong>con</strong> una tabla <strong>de</strong><br />

atributos en base a los valores <strong>de</strong> un campo común. <strong>La</strong>s capas rasters no tienen tablas <strong>de</strong><br />

atributos asociadas, por lo que no es posible utilizar un campo común, pero po<strong>de</strong>mos emplear<br />

los propios valores <strong>de</strong> un capa raster clasificada para ✭✭unirlo✮✮ a una tabla in<strong>de</strong>pendiente y generar<br />

un <strong>con</strong>junto <strong>de</strong> nuevas capas raster <strong>de</strong>rivadas que <strong>con</strong>tengan la información almacenada<br />

en dicha tabla. Veamos qué es lo que quiere <strong>de</strong>cir esto exactamente.


310 CAPÍTULO 18. OTROS MÓDULOS<br />

Echa un vistazo a la siguiente tabla asociada a la capa <strong>de</strong> tipos <strong>de</strong> suelo que ya <strong>con</strong>oces<br />

(pue<strong>de</strong>s en<strong>con</strong>trar ésta en el archivo props suelo.txt, la cual <strong>con</strong>tiene información acerca <strong>de</strong><br />

cada una <strong>de</strong> las clases <strong>de</strong>finidas en la capa.<br />

*******<br />

Usando estos dos elementos es muy sencillo generar dos nuevas capas raster que <strong>con</strong>tengan<br />

información sobre productividad y profundidad <strong>de</strong> suelo, ya que estos parámetros se hayan<br />

relacionados <strong>con</strong> el uso <strong>de</strong> suelo, y sabemos exactamente cuál es esa relación, ya que está almacenada<br />

en la tabla. Si en lugar <strong>de</strong> existir dos campos en la misma existieran diez, sería<br />

igualmente sencillo generar un número igual <strong>de</strong> capas, ya que todas las operaciones las lleva<br />

a cabo el módulo Grids a partir <strong>de</strong> grid clasificado y tabla, cuya ventana <strong>de</strong> parámetros se<br />

muestra a <strong>con</strong>tinuación.<br />

Como probablemente ya intuías, usar el modulo es sencillo. Tan sólo tienes que seleccionar<br />

la capa raster (tiene que ser clasificada, no lo olvi<strong>de</strong>s), y la tabla <strong>con</strong> la información necesaria.<br />

Si para alguna <strong>de</strong> las clases <strong>de</strong> la capa no existe información en la tabla, las nuevas capas<br />

creadas <strong>con</strong>tendrán para dicha clase un valor <strong>de</strong> sin datos. Si la tabla <strong>con</strong>tiene un campo <strong>de</strong><br />

tipo ca<strong>de</strong>na <strong>de</strong> texto, se ignorará y no se generará para él una nueva capa.<br />

18.4. Visualización <strong>de</strong> capas raster<br />

Todo lo relativo a la forma en que pue<strong>de</strong> <strong>con</strong>trolarse la representación <strong>de</strong> una capa raster<br />

ya fue explicado en su momento casi en el inicio <strong>de</strong> este libro. No obstante, ello no quiere<br />

<strong>de</strong>cir que no existan módulos que puedan trabajar <strong>con</strong> esos mismos ajustes, ya que, aparte <strong>de</strong><br />

<strong>con</strong>trolarlos <strong>de</strong>s<strong>de</strong> la ventana <strong>de</strong> parámetros <strong>de</strong> la capa, se pue<strong>de</strong>n alterar <strong>de</strong>s<strong>de</strong> un módulo<br />

para <strong>con</strong>seguir algunos efectos interesantes y en ocasiones sumamente útiles.<br />

Veremos en esta sección algunos <strong>de</strong> esos módulos, recogidos en el menú Grids/Visualización,<br />

así como algunos otros que también guardan relación <strong>con</strong> el aspecto <strong>de</strong> las capas <strong>de</strong>ntro <strong>de</strong><br />

una representación <strong>de</strong> mapa.<br />

18.4.1. Creando una imagen a partir <strong>de</strong> bandas <strong>de</strong> color<br />

<strong>La</strong>s imágenes se almacenan habitualmente en un formato <strong>con</strong>ocido como RGB (iniciales<br />

<strong>de</strong> Red–Green–Blue, Rojo–Ver<strong>de</strong>–Azul en inglés), que lo que hace es dividir la misma en tres<br />

capas (<strong>de</strong>nominadas canales), una por cada uno <strong>de</strong> los colores mencionados.<br />

Si tienes estos tres canales cargados en <strong>SEXTANTE</strong> como capas in<strong>de</strong>pendientes, pue<strong>de</strong>s<br />

unirlos para crear una imagen completa en color. Para ello, <strong>de</strong>bes utilizar el módulo Composición<br />

RGB.


18.4. VISUALIZACIÓN DE CAPAS RASTER 311<br />

Para obtener tres capas <strong>con</strong> los tres canales <strong>de</strong> una imagen, pue<strong>de</strong>s importar una <strong>con</strong> el<br />

módulo Importar Imagen, seleccionando en el campo Método la opción Dividir canales.<br />

En la ventana <strong>de</strong> parámetros, selecciona cada capa en su campo correspondiente, y también<br />

la capa <strong>de</strong> salida <strong>con</strong> la composición RGB.<br />

Los restantes parámetros están presentes por triplicado, una vez por cada uno <strong>de</strong> los<br />

canales, y pue<strong>de</strong>n ajustarse in<strong>de</strong>pendientemente para cada uno <strong>de</strong> ellos <strong>con</strong> objeto <strong>de</strong> preparar<br />

la información <strong>de</strong> cada canal antes <strong>de</strong> componer la imagen final.<br />

<strong>La</strong>s capas <strong>de</strong> entrada <strong>de</strong>ben <strong>con</strong>tener valores entre 0 y 255. 0 representa el color negro,<br />

y 255 el color <strong>de</strong> cada canal, existiendo entre medias una gradación <strong>de</strong> tonalida<strong>de</strong>s. Si has<br />

importado una imagen <strong>con</strong> el módulo Importar Imagen, las capas que tienes ya cumplen esa<br />

<strong>con</strong>dición, por lo que pue<strong>de</strong>s seleccionar en todos los grupos <strong>de</strong> parámetros la opción 0–255.<br />

Ésta es la más habitual, pero en caso <strong>de</strong> que la distribución <strong>de</strong> valores en la capa <strong>de</strong> algún<br />

canal no cumpla esto pue<strong>de</strong>s escoger entre alguna <strong>de</strong> las siguientes:<br />

Reescalar a 0–255: Simplemente normaliza la capa para que los valores se ajusten al<br />

rango necesario.<br />

Reescala <strong>de</strong>finida por usuario: Como el anterior, pero pue<strong>de</strong>s especificar otros límites<br />

distintos <strong>de</strong> 0 y 255, aunque siempre <strong>de</strong>ntro <strong>de</strong> ese rango máximo.<br />

Percentiles: En lugar <strong>de</strong> <strong>de</strong>finirse el rango por valores, se <strong>de</strong>fine por percentiles <strong>de</strong> los<br />

valores <strong>de</strong> la capa.<br />

Porcentaje <strong>de</strong> la <strong>de</strong>sviación típica: Se establece un rango <strong>de</strong> dos veces la <strong>de</strong>sviación<br />

típica centrado en la media, y normalizado a 255 posteriormente.<br />

Aquí pue<strong>de</strong>s ver un ejemplo <strong>de</strong> como se componen los tres canales para dar lugar a la<br />

imagen <strong>de</strong>finitiva, en este caso <strong>con</strong> la imagen <strong>de</strong> la pantalla <strong>de</strong> inicio <strong>de</strong>l programa (aunque, por<br />

supuesto, lo apropiado es usarlo para imágenes aéreas o similares <strong>con</strong> algún tipo <strong>de</strong> significado<br />

<strong>geográfico</strong>).


312 CAPÍTULO 18. OTROS MÓDULOS<br />

18.4.2. Rotando la paleta <strong>de</strong> colores<br />

<strong>SEXTANTE</strong> incluye un módulo <strong>de</strong>nominado Rotar Paleta <strong>de</strong> Colores, que simplemente<br />

toma la paleta <strong>de</strong> colores <strong>de</strong> una capa y la rota creando un interesante efecto visual.<br />

Sin embargo, como ya he dicho en otras partes <strong>de</strong> este libro, mi intención no es sólo que<br />

aprendas a manejar los distintos módulos y comandos <strong>de</strong> SAGA, sino que aprendas cómo<br />

utilizar las i<strong>de</strong>as generales <strong>de</strong> un SIG. Por esta razón, te voy a mostrar en este punto cómo un<br />

módulo aparentemente recreativo como éste pue<strong>de</strong> ser también una herramienta interesante<br />

para otros fines más serios.<br />

Veamos la ventana <strong>de</strong> parámetros <strong>de</strong>l módulo.<br />

Coge una capa <strong>con</strong> datos <strong>de</strong> tiempo, por ejemplo la <strong>de</strong> isocronas que creamos en el capítulo<br />

<strong>de</strong> hidrología, o bien la que creamos en el <strong>de</strong> simulación <strong>de</strong> incendios <strong>con</strong> el tiempo <strong>de</strong><br />

propagación (particularmente prefiero esta última). Selecciónala en el campo <strong>de</strong> entrada.<br />

En el campo Paleta <strong>de</strong> Colores, crea una paleta como la siguiente.


18.4. VISUALIZACIÓN DE CAPAS RASTER 313<br />

No tienes que utilizar exactamente esos colores, pero asegúrate <strong>de</strong> que todas las clases<br />

excepto una tienen el mismo color.<br />

Si ahora ejecutas el módulo, podrás ver claramente cómo el agua (o el fuego) se mueve,<br />

dándote una visión distinta <strong>de</strong> la información <strong>con</strong>tenida en la capa.<br />

Por supuesto, las imágenes estáticas <strong>de</strong> este libro no reflejan realmente lo que suce<strong>de</strong>, por<br />

lo que te recomiendo que lo pruebes tú mismo.<br />

Pue<strong>de</strong>s también abrir un histograma para ver cómo varía.<br />

Este tipo <strong>de</strong> representaciones pue<strong>de</strong>n ser muy instructivas para mostrar algunos <strong>con</strong>ceptos<br />

relacionados <strong>con</strong> la hidrología o la propagación <strong>de</strong>l fuego. Intenta usarlos también <strong>con</strong> otras<br />

capas tales como las <strong>de</strong> coste acumulado, y piensa en el significado <strong>de</strong> ello.<br />

18.4.3. Animando una serie temporal<br />

Dada una serie temporal <strong>de</strong> varios grids, es posible tener una percepción visual <strong>de</strong> cómo la<br />

variable en ellos recogida varía a lo largo <strong>de</strong>l tiempo. Con el módulo Animar Serie Temporal,<br />

se van representando una tras otra las capas en el or<strong>de</strong>n establecido, <strong>de</strong> tal forma que se genera<br />

una animación que pue<strong>de</strong> revelar información acerca <strong>de</strong> la evolución <strong>de</strong> los valores almacenados<br />

en dichas capas.<br />

Al igual que para otros módulos que trabajan <strong>con</strong> series temporales, lo fundamental es<br />

seleccionar las capas en el campo Grids y hacerlo en el el or<strong>de</strong>n a<strong>de</strong>cuado. Se pue<strong>de</strong>n generar<br />

una serie <strong>de</strong> capas intermedias para hacer la transición entre cada dos capas más suave (y<br />

también para <strong>con</strong>trolar la velocidad <strong>de</strong> la animación), modificando el valor <strong>de</strong>l campo Pasos<br />

Intermedios Entre Capas.<br />

Una vez más, resulta difícil plasmar en el papel el resultado <strong>de</strong> este módulo, así que pruébalo<br />

por ti mismo. Una imagen vale más que mil palabras.


314 CAPÍTULO 18. OTROS MÓDULOS<br />

18.5. Diversiones<br />

¿Quién dijo que un SIG no podía ser divertido? A<strong>de</strong>más <strong>de</strong> ser una <strong>de</strong> las herramientas <strong>de</strong><br />

<strong>análisis</strong> <strong>geográfico</strong> más potentes, <strong>SEXTANTE</strong> es, en la medida que yo sé, el más entretenido<br />

<strong>de</strong> todos, puesto que es el único que incluye elementos <strong>de</strong> diversión entre sus componentes.<br />

Des<strong>de</strong> juegos tales como el omnipresente buscaminas (¿pensaste alguna vez que alguien<br />

podría implementar eso en un SIG?) hasta diversiones más científicas como capas raster <strong>con</strong><br />

<strong>con</strong>juntos <strong>de</strong> Man<strong>de</strong>lbrot, pue<strong>de</strong>s en<strong>con</strong>trar en <strong>SEXTANTE</strong> un puñado <strong>de</strong> módulos altamente<br />

entretenidos.<br />

Creo que no es una buena i<strong>de</strong>a <strong>de</strong>jar <strong>de</strong> lado estos módulos pero, por otra parte, resulta<br />

innecesario <strong>de</strong>scribir <strong>con</strong> <strong>de</strong>talle cada uno <strong>de</strong> ellos. A<strong>de</strong>más, explorar por ti mismo estos<br />

módulos <strong>con</strong>stituye <strong>de</strong> por sí una experiencia interesante, así que <strong>de</strong>jo en tu mano el <strong>de</strong>scubrir<br />

su funcionamiento. <strong>La</strong> mayoría son <strong>de</strong> manejo obvio, a excepción, tal vez, <strong>de</strong>l <strong>de</strong>nominado<br />

Newton–Raphson.<br />

Se trata <strong>de</strong> un módulo interactivo <strong>con</strong> una funcionalidad hasta ahora no vista en ningún<br />

otro: se comporta <strong>de</strong> modo distinto según hagas clic <strong>con</strong> el botón <strong>de</strong>recho o <strong>con</strong> el izquierdo.<br />

Pruébalo tú mismo. ¡Buena suerte!


Capítulo 19<br />

Uso <strong>de</strong> <strong>SEXTANTE</strong> en línea <strong>de</strong> comandos<br />

19.1. Introducción<br />

Con las <strong>de</strong>scripciones <strong>de</strong> los capítulos prece<strong>de</strong>ntes, ya tienes suficiente información como<br />

para llevar a cabo cualquier tarea posible <strong>con</strong> <strong>SEXTANTE</strong>. Des<strong>de</strong> la interfaz <strong>de</strong> usuario<br />

<strong>de</strong> <strong>SEXTANTE</strong>, que ya <strong>con</strong>oces <strong>de</strong>s<strong>de</strong> los primeros capítulos, pue<strong>de</strong>s llamar a la totalidad<br />

<strong>de</strong> módulos y sabes exactamente cómo hacer uso <strong>de</strong> los mismos. No obstante, en ciertas<br />

circunstancias el trabajo <strong>con</strong> estos módulos es más <strong>con</strong>veniente realizarlo no a través <strong>de</strong> la<br />

interfaz <strong>de</strong> usuario, sino mediante el intérprete <strong>de</strong> comandos <strong>de</strong> tu sistema operativo.<br />

<strong>La</strong>s tareas propias <strong>de</strong> la interfaz (las que no se <strong>con</strong>tienen en módulos) tales como la edición<br />

<strong>de</strong> capas vectoriales, se <strong>de</strong>sarrollan siempre bajo dicha interfaz, pero el procesado <strong>de</strong> datos<br />

como tal (que es, en <strong>de</strong>finitiva, lo que hacen los módulos) pue<strong>de</strong> ofrecer mejores resultados<br />

en <strong>de</strong>terminados casos si se prescin<strong>de</strong> <strong>de</strong> dicha interfaz y se emplea la línea <strong>de</strong> comandos. El<br />

procesado <strong>de</strong> capas por lotes que <strong>con</strong>tengan un número elevado <strong>de</strong> ellas es un claro ejemplo<br />

<strong>de</strong> esto.<br />

Para ello, <strong>SEXTANTE</strong> incorpora una versión en línea <strong>de</strong> comandos, sencilla <strong>de</strong> utilizar<br />

pero muy potente en este tipo <strong>de</strong> situaciones. En la misma carpeta don<strong>de</strong> se encuentra el<br />

ejecutable <strong>de</strong> la interfaz en<strong>con</strong>trarás el fichero sextante cmd.exe (en caso <strong>de</strong> no trabajar en<br />

Windows, simplemente sextante cmd).<br />

19.2. Preparando el entorno. Acceso a librerías<br />

Si ejecutas el archivo sin más parámetros, veras lo siguiente en la <strong>con</strong>sola.<br />

315


316 CAPÍTULO 19. USO DE <strong>SEXTANTE</strong> EN LÍNEA DE COMANDOS<br />

El programa arroja un error, ya que no ha en<strong>con</strong>trado módulo alguno y la única librería<br />

presente en el directorio <strong>de</strong> ejecución es la <strong>de</strong> a API <strong>de</strong> <strong>SEXTANTE</strong>, que no es una librería<br />

<strong>de</strong> módulos como tal.<br />

Puesto que el trabajo <strong>con</strong> esta versión <strong>de</strong> <strong>SEXTANTE</strong> está basado exclusivamente en las<br />

capacida<strong>de</strong>s <strong>de</strong> los módulos, resulta obvio que sin ellos no se pue<strong>de</strong> hacer nada. Al igual que<br />

era necesario en el caso <strong>de</strong>l trabajo <strong>con</strong> la interfaz gráfica el cargar los módulos, en este caso<br />

es imprescindible indicarle al programa dón<strong>de</strong> hallar las librerías <strong>con</strong> las que trabajar.<br />

<strong>La</strong> <strong>de</strong>finición <strong>de</strong>l directorio <strong>de</strong> librerías se realiza mediante una variable <strong>de</strong> entorno <strong>de</strong>nominada<br />

<strong>SEXTANTE</strong> MLB, la cual <strong>de</strong>be establecerse antes <strong>de</strong> abrir la <strong>con</strong>sola para ejecutar el<br />

programa.<br />

En Windows, para <strong>de</strong>finir una variable <strong>de</strong> entorno abre Sistema en el Panel <strong>de</strong> <strong>con</strong>trol. En<br />

la ficha Opciones avanzadas haz clic en Variables <strong>de</strong> entorno<br />

Seleccionando Nueva pue<strong>de</strong>s <strong>de</strong>finir una nueva variable <strong>de</strong> entorno. Dale el nombre SEX-<br />

TANTE MLB y como valor asígnale el directorio don<strong>de</strong> se encuentren las librerías <strong>de</strong> módulos.<br />

Si ahora ejecutas <strong>de</strong> nuevo la aplicación verás lo siguiente.


19.3. SINTAXIS 317<br />

A falta <strong>de</strong> parámetros, el programa simplemente muestra una lista <strong>de</strong> las librerías disponibles.<br />

19.3. Sintaxis<br />

Una vez <strong>con</strong>figurado el entorno, ya po<strong>de</strong>mos pasar a utilizar la versión en línea <strong>de</strong> comandos<br />

para procesar datos.<br />

<strong>La</strong> sintaxis <strong>de</strong>l mismo es la siguiente:<br />

$ sextante_cmd [nombre_<strong>de</strong>_librería] "[nombre_<strong>de</strong>_módulo]"<br />

[nombre_parametro_1] [valor_parametro_1]<br />

[nombre_parametro_2] [valor_parametro_2]<br />

.<br />

.<br />

.<br />

[nombre_parametro_n] [valor_parametro_n]<br />

Pue<strong>de</strong>s añadir tantos parámetros como necesites para utilizar el módulo seleccionado,<br />

añadiendo un par <strong>de</strong> valores <strong>con</strong> el nombre y el valor <strong>de</strong>l mismo.<br />

El nombre <strong>de</strong>l módulo no es el que aparece en el menú correspondiente en la versión gráfica,<br />

sino un nombre en inglés que lo <strong>de</strong>fine en el código fuente <strong>de</strong>l programa. Pue<strong>de</strong>s en<strong>con</strong>trar las<br />

equivalencias en una lista situada al final <strong>de</strong> este capítulo. El nombre <strong>de</strong> la librería es el <strong>de</strong>l<br />

fichero <strong>de</strong> librería que lo <strong>con</strong>tiene. En la lista antes mencionada pue<strong>de</strong>s ver también <strong>de</strong>ntro <strong>de</strong><br />

qué librería se encuentra cada módulo, en caso <strong>de</strong> que lo necesites<br />

Respecto a los pares <strong>de</strong> valores para cada parámetro <strong>de</strong>l módulo, veamos también algunas<br />

particularida<strong>de</strong>s <strong>de</strong> los mismos.


318 CAPÍTULO 19. USO DE <strong>SEXTANTE</strong> EN LÍNEA DE COMANDOS<br />

En primer lugar, el nombre <strong>de</strong>l parámetro no es el que aparece en la ventana <strong>de</strong> parámetros<br />

<strong>de</strong>l mismo cuando utilizas el módulo a través <strong>de</strong> la interfaz gráfica, sino un i<strong>de</strong>ntificador interno.<br />

Al final <strong>de</strong> este capítulo en<strong>con</strong>trarás igualmente una lista <strong>con</strong> estos códigos y su <strong>de</strong>nominación<br />

✭✭completa✮✮ (la <strong>de</strong> la interfaz gráfica). De cualquier forma, no es necesario utilizarla si usas el<br />

siguiente truco: al grabar un bloque <strong>de</strong> parámetros, <strong>SEXTANTE</strong> utiliza estos códigos internos,<br />

así que no tienes más que grabar los parámetros <strong>de</strong>s<strong>de</strong> la interfaz y <strong>de</strong>spués abrir el fichero<br />

.sprm generado para ver los i<strong>de</strong>ntificadores. No te resultará difícil saber a qué campo hace<br />

referencia cada uno <strong>de</strong> ellos.<br />

Por ejemplo, para el módulo Red <strong>de</strong> Drenaje, un archivo <strong>de</strong> parámetros <strong>con</strong>tiene lo siguiente:<br />

[PARAMETER_ENTRY_BEGIN]<br />

INIT_METHOD<br />

6<br />

2<br />

[PARAMETER_ENTRY_END]<br />

[PARAMETER_ENTRY_BEGIN]<br />

INIT_VALUE<br />

3<br />

0.000000<br />

[PARAMETER_ENTRY_END]<br />

[PARAMETER_ENTRY_BEGIN]<br />

DIV_CELLS<br />

2<br />

5<br />

[PARAMETER_ENTRY_END]<br />

[PARAMETER_ENTRY_BEGIN]<br />

MINLEN<br />

2<br />

10<br />

[PARAMETER_ENTRY_END]<br />

<strong>La</strong> información <strong>de</strong> todo parámetro se encuentra encerrada entre dos líneas <strong>con</strong> las ca<strong>de</strong>nas<br />

[PARAMETER ENTRY BEGIN] y [PARAMETER ENTRY END], y la ca<strong>de</strong>na situada inmediatamente<br />

por <strong>de</strong>bajo <strong>de</strong> esta primera es el i<strong>de</strong>ntificador <strong>de</strong>l parámetro.<br />

Los nombres <strong>de</strong> parámetros son sensibles a mayúsculas, así que <strong>de</strong>bes escribirlos tal y como<br />

aparecen en el fichero (o, en su <strong>de</strong>fecto, en la lista <strong>de</strong>l final <strong>de</strong>l capítulo).<br />

Respecto al valor <strong>de</strong> cada parámetro, la forma <strong>de</strong> introducirlo <strong>de</strong>pen<strong>de</strong> <strong>de</strong>l tipo <strong>de</strong>l mismo.<br />

Para el caso <strong>de</strong> tablas o capas (sean éstas raster o vectoriales), no es posible seleccionar<br />

entre las capas cargadas en el programa como se hacia en el caso <strong>de</strong> la versión gráfica, ya<br />

que ahora no hay capas cargadas. En su lugar, el programa trabaja <strong>con</strong> ficheros, <strong>de</strong> tal forma<br />

que, tanto para entrada como salida, <strong>de</strong>be especificarse el nombre <strong>de</strong>l fichero que <strong>con</strong>tiene la<br />

información, o en el que se <strong>de</strong>sea que se almacene el resultado <strong>de</strong> la ejecución <strong>de</strong>l módulo.<br />

Sea para leer o para escribir ficheros, los formatos soportados son los nativos <strong>de</strong> SEXTAN-<br />

TE, es <strong>de</strong>cir, .shp para vectoriales, .dgm para raster, y .txt o .dbf para tablas. Pue<strong>de</strong>s utilizar<br />

los módulos <strong>de</strong> entrada/salida también <strong>de</strong>s<strong>de</strong> la línea <strong>de</strong> comandos para <strong>con</strong>vertir <strong>de</strong>s<strong>de</strong> otros<br />

formatos.<br />

En el caso <strong>de</strong> campos numéricos, simplemente basta <strong>con</strong> introducir el valor <strong>de</strong>seado.<br />

Por último, cuando se trata <strong>de</strong> campos <strong>con</strong> una lista <strong>de</strong>splegable, <strong>de</strong>be especificarse el or<strong>de</strong>n<br />

<strong>de</strong> la opción elegida, <strong>con</strong>tando <strong>de</strong>s<strong>de</strong> arriba hacia abajo <strong>de</strong> la lista, y teniendo la primera opción<br />

valor cero.


19.3. SINTAXIS 319<br />

Con lo anterior, ya tienes suficiente información para enten<strong>de</strong>r la siguiente linea, que sirve<br />

para ejecutar el módulo Morfometría Local:<br />

sextante_cmd ta_morphometry "Local Morphometry"<br />

-ELEVATION c:\sextante\datos\mdt.dgm<br />

-SLOPE c:\sextante\datos\pendiente.dgm<br />

-ASPECT c:\sextante\datos\orientacion.dgm<br />

-METHOD 1<br />

Con este manejo básico <strong>de</strong> la versión en línea <strong>de</strong> comandos <strong>de</strong> <strong>SEXTANTE</strong>, y haciendo uso<br />

<strong>de</strong> las capacida<strong>de</strong>s propias <strong>de</strong>l interprete <strong>de</strong> comandos <strong>de</strong>l sistema operativo que uses, pue<strong>de</strong>s<br />

automatizar tareas y <strong>con</strong>vertir procedimientos largos y tediosos en algo mucho más sencillo.<br />

Teclea Sextante cmd --help para que el programa cree un proceso por lotes a modo <strong>de</strong><br />

ejemplo, don<strong>de</strong> podrás ver algunos ejemplos muy prácticos.


320 CAPÍTULO 19. USO DE <strong>SEXTANTE</strong> EN LÍNEA DE COMANDOS


Capítulo 20<br />

Programación <strong>de</strong> módulos <strong>de</strong> SEX-<br />

TANTE<br />

20.1. Introducción<br />

Aunque hemos visto que el número <strong>de</strong> módulos y funcionalida<strong>de</strong>s que incorpora SEXTAN-<br />

TE es muy elevado, el rango que abarca un Sistema <strong>de</strong> Información Geográfica es tan gran<strong>de</strong><br />

que resulta muy probable que, en un caso <strong>con</strong>creto, estos módulos no sean suficientes para<br />

ofrecer la solución óptima a un problema dado. En ese caso, pue<strong>de</strong>s buscar nuevos módulos entre<br />

la comunidad <strong>de</strong> usuarios <strong>de</strong> <strong>SEXTANTE</strong>, utilizar algún programa accesorio o, mejor aún,<br />

<strong>de</strong>sarrollar tu propia librería <strong>de</strong> módulos <strong>con</strong> las funcionalida<strong>de</strong>s necesarias para tu trabajo <strong>de</strong><br />

las que la distribución estándar <strong>de</strong> <strong>SEXTANTE</strong> carece.<br />

¿Qué se necesita para <strong>de</strong>sarrollar módulos <strong>de</strong> <strong>SEXTANTE</strong>? Lo único básico es disponer<br />

<strong>de</strong> un compilador <strong>de</strong> lenguaje C++, y por supuesto algunas nociones básicas <strong>de</strong> este lenguaje<br />

para po<strong>de</strong>r formular tus algoritmos y <strong>de</strong>sarrollos. No es necesario en absoluto ser un experto<br />

programador para crear módulos <strong>de</strong> <strong>SEXTANTE</strong>; muchos <strong>de</strong> los módulos <strong>de</strong>l programa son<br />

sumamente sencillos y <strong>de</strong> una extensión reducida, lo cual no implica que sean por ello menos<br />

importantes. Pue<strong>de</strong>s echar un vistazo a su código fuente para <strong>con</strong>vencerte <strong>de</strong> que programar<br />

módulos es sencillo sin más que tener una base correcta <strong>de</strong> C++ y compren<strong>de</strong>r algunos <strong>de</strong> los<br />

<strong>con</strong>ceptos e i<strong>de</strong>as generales (también sencillos) que se presentan en este capítulo.<br />

Respecto al compilador, los módulos <strong>de</strong> <strong>SEXTANTE</strong> incluyen makefiles para Linux y el<br />

compilador libre MinGW, así como archivos <strong>de</strong> proyecto para Microsoft Visual C++. En este<br />

capítulo se presentarán las particularida<strong>de</strong>s <strong>de</strong> esta última herramienta, por ser la que se<br />

utiliza <strong>de</strong> forma particular tanto en el propio proyecto <strong>SEXTANTE</strong> como en su programa <strong>de</strong><br />

origen SAGA, aunque la naturaleza multiplataforma <strong>de</strong> ambos proyectos obliga a que se preste<br />

atención <strong>de</strong> igual modo a otras soluciones, algunas <strong>de</strong> ellas libres a su vez. Con los makefiles<br />

incluidos no te será complicado compilar tus propios módulos si trabajas por ejemplo en un<br />

entorno linux <strong>con</strong> gcc como compilador.<br />

A<strong>de</strong>más <strong>de</strong> lo anterior, no necesitas más software, salvo, por supuesto, el propio SEXTAN-<br />

TE, que utilizarás para probar y <strong>de</strong>purar tus <strong>de</strong>sarrollos.<br />

En las explicaciones que siguen, se supone que ya tienes un manejo a<strong>de</strong>cuado <strong>de</strong> SEXTAN-<br />

TE y <strong>de</strong> cuanto se ha explicado en capítulos prece<strong>de</strong>ntes. Ello no quiere <strong>de</strong>cir que <strong>de</strong>bas saber<br />

manejar cada uno <strong>de</strong> los módulos, pero sí que te sientas cómodo trabajando <strong>con</strong> SEXTAN-<br />

TE y no te haga falta recurrir al manual para el trabajo habitual. Si no es así, es preferible<br />

que trabajes algo más <strong>con</strong> <strong>SEXTANTE</strong> antes <strong>de</strong> empezar a <strong>de</strong>sarrollar, ya que el <strong>con</strong>ocer la<br />

estructura interna <strong>de</strong>l programa es mucho más sencillo si se tiene un manejo fluido <strong>de</strong>l mismo.<br />

321


322 CAPÍTULO 20. PROGRAMACIÓN DE MÓDULOS DE <strong>SEXTANTE</strong><br />

20.2. Librerías y módulos<br />

Como ya sabrás, los módulos <strong>de</strong> <strong>SEXTANTE</strong> se agrupan en librerías. A la hora <strong>de</strong> crear un<br />

nuevo módulo, éste tiene que estar <strong>con</strong>tenido en una librería, y esta circunstancia es algo que<br />

<strong>de</strong>be reflejarse también en el código fuente. Puesto que esto es algo que siempre ha <strong>de</strong> hacerse,<br />

comenzaré explicando la estructura básica <strong>de</strong> una librería antes <strong>de</strong> comenzar a escribir código<br />

fuente.<br />

En el código fuente <strong>de</strong> <strong>SEXTANTE</strong> (<strong>de</strong>scárgalo si aún no lo has hecho) en<strong>con</strong>trarás una<br />

carpeta llamada modules template que <strong>con</strong>tiene una plantilla <strong>de</strong> módulo. En dicha carpeta<br />

en<strong>con</strong>trarás los siguientes ficheros:<br />

Template.dsp<br />

Template.h<br />

Template.cpp<br />

MLB Interface.cpp<br />

MLB Interface.h<br />

Este grupo <strong>de</strong> ficheros correspon<strong>de</strong> a una librería <strong>con</strong> un único módulo. <strong>La</strong> estructura <strong>de</strong><br />

ésta queda <strong>de</strong>finida en el fichero MLB Interface.cpp, mientras que el módulo en sí se <strong>de</strong>scribe<br />

en Template.h y Template.cpp. El archivo Template.dsp <strong>con</strong>tiene un proyecto <strong>de</strong> Visual Studio<br />

correspondiente a la librería al completo.<br />

Pue<strong>de</strong>s abrir este último y compilar la librería, en cuyo caso obtendrás un fichero <strong>de</strong> librería<br />

(una dll en el caso <strong>de</strong> trabajar en Windows). Al cargarlo en <strong>SEXTANTE</strong>, tendrá su propia<br />

entrada <strong>de</strong> menú en el menú Módulos. Tal y como veremos cuando analicemos su código<br />

fuente, el módulo simplemente toma una capa y genera una nueva <strong>con</strong> su misma extensión,<br />

que <strong>con</strong>tiene en sus celdas el valor <strong>de</strong> la capa original multiplicado por una <strong>con</strong>stante.<br />

Usaremos esta plantilla para crear una nueva librería que no sólo <strong>con</strong>tenga un módulo, sino<br />

dos, uno <strong>de</strong> ellos siendo una versión simplificada <strong>de</strong>l otro. Lo primero que <strong>de</strong>bemos hacer es<br />

darle el nombre que <strong>de</strong>seemos a la librería, así que crea una copia <strong>de</strong> la carpeta y renombra<br />

los archivos según el siguiente esquema.<br />

Template.h → MiLibreria.h<br />

Template.cpp → MiLibreria.cpp<br />

Template.dsp → MiLibreria.dsp<br />

Por supuesto, renombrar los archivos no es estrictamente necesario para compilar nuestra<br />

librería <strong>de</strong> módulos, pero es el primer paso lógico si queremos crear nuestro propio módulo y<br />

darle una i<strong>de</strong>ntidad <strong>de</strong>ntro <strong>de</strong>l <strong>con</strong>junto <strong>de</strong> ellos <strong>de</strong> <strong>SEXTANTE</strong>.<br />

No cambies el nombre <strong>de</strong> los archivos MLB Interface.*.<br />

Aún nos faltan dos archivos (un .cpp y un archivo .h <strong>de</strong> cabecera) correspondientes al<br />

segundo módulo, que será nuestra versión simplificada <strong>de</strong>l ya existente. Veremos <strong>de</strong>spués cómo<br />

añadir más módulos a la librería, pero por ahora nos basta <strong>con</strong> el que tenemos.<br />

Antes <strong>de</strong> seguir, modifiquemos el nombre <strong>de</strong> la librería también en los ficheros <strong>de</strong> proyecto<br />

<strong>de</strong> Visual Studio (o en sus correspondientes makefiles si trabajamos en otro entorno). Simplemente<br />

abre el fichero MiLibreria.dsp y <strong>con</strong> tu editor <strong>de</strong> texto favorito (el bloc <strong>de</strong> notas <strong>de</strong><br />

Windows no es muy potente, pero para este cometido te bastará) reemplaza todas las ocurrencias<br />

<strong>de</strong> la ca<strong>de</strong>na <strong>de</strong> texto Template por MiLibreria (o el nombre que <strong>de</strong>sees darle). Guarda el


20.2. LIBRERÍAS Y MÓDULOS 323<br />

resultado y ahora abre los ficheros <strong>de</strong> código fuente <strong>con</strong> los módulos y la <strong>de</strong>finición <strong>de</strong> la librería<br />

(haciendo doble clic sobre MiLibreria.dsp arrancará Visual Studio y cargará automáticamente<br />

todos los ficheros implicados).<br />

Ahora es el momento <strong>de</strong> renombrar los módulos como tales. En los archivos MyModule.cpp<br />

y MyModule.h sustituye la ca<strong>de</strong>na Template por MiModulo(o el nombre que en cada<br />

caso corresponda). Si éstas <strong>de</strong>ntro <strong>de</strong> Visual Studio, pue<strong>de</strong>s usar el comando Reemplazar que<br />

incorpora el entorno.<br />

Después <strong>de</strong> esto, vayamos ya directos al código fuente, empezando por el archivo <strong>de</strong>nominado<br />

MLB Interface.cpp que <strong>de</strong>fine la estructura <strong>de</strong> la librería y los módulos que la <strong>de</strong>finen. A<br />

<strong>con</strong>tinuación pue<strong>de</strong>s ver una primera parte <strong>de</strong> ese código (he eliminado los comentarios para<br />

que que<strong>de</strong> más compacto. ..).<br />

<strong>con</strong>st char * Get_Info(int i)<br />

{<br />

switch( i )<br />

{<br />

case MLB_INFO_Name: <strong>de</strong>fault:<br />

return( "MiLibrería" );<br />

}<br />

case MLB_INFO_Author:<br />

return( "SAGA G.b.R. (c) 2003" );<br />

case MLB_INFO_Description:<br />

return( "MiLibreria" );<br />

case MLB_INFO_Version:<br />

return( "1.0" );<br />

case MLB_INFO_Menu_Path:<br />

return( "Template|Template" );<br />

}<br />

Aquí se encuentra la información sobre la librería, que será la que aparezca una vez ésta<br />

se encuentre cargada (aquí está, por ejemplo, el nombre <strong>de</strong>l fichero <strong>de</strong> librería que aparece en<br />

la pestaña Módulos). Todos los campos son sencillos <strong>de</strong> enten<strong>de</strong>r, excepto tal vez el último.<br />

En la última línea <strong>de</strong>bes introducir la ruta <strong>de</strong> los módulos <strong>de</strong> la librería <strong>de</strong>ntro <strong>de</strong> el <strong>con</strong>junto<br />

<strong>de</strong> menús. Si, por ejemplo, usas la siguiente línea,<br />

return( "Mi primera librería|Raster"’)<br />

todos los módulos apareceán bajo el menú Mi primera librería/Raster. Utiliza la barra vertical<br />

para separar submenus hasta el nivel <strong>de</strong> profundidad que necesites.<br />

Despues <strong>de</strong> esta sección, se incluyen las cabeceras <strong>de</strong> los módulos que forman parte <strong>de</strong> la<br />

librería. Por el momento, solo tenemos una.<br />

#inclu<strong>de</strong> "Template.h"<br />

Puesto que hemos cambiado el fichero Template.h, <strong>de</strong>bemos también cambiar esta línea.<br />

Asimismo, y aunque todavía no hemos creado los archivos correspondientes al segundo módulo<br />

que preten<strong>de</strong>mos incorporar en esta librería, añadamos también las sentencias #inclu<strong>de</strong><br />

correspondientes. sustituye la línea anterior por las siguientes:


324 CAPÍTULO 20. PROGRAMACIÓN DE MÓDULOS DE <strong>SEXTANTE</strong><br />

#inclu<strong>de</strong> "MiModulo.h"<br />

#inclu<strong>de</strong> "MiModuloSimpl.h"<br />

Cada fichero <strong>de</strong> código <strong>de</strong>fine una clase <strong>de</strong> C++. En el siguiente bloque <strong>de</strong> código estas<br />

clases <strong>de</strong>ben especificarse <strong>de</strong>ntro <strong>de</strong>l método Create Module. El or<strong>de</strong>n en el que aparecen <strong>de</strong>ntro<br />

<strong>de</strong>l bloque switch <strong>de</strong>terminará el or<strong>de</strong>n el el que aparezcan en la raíz <strong>de</strong> menús <strong>de</strong>finida unas<br />

líneas antes.<br />

CModule * Create_Module(int i)<br />

{<br />

CModule *pModule;<br />

}<br />

switch( i )<br />

{<br />

case 0:<br />

pModule = new CTemplate;<br />

break;<br />

<strong>de</strong>fault:<br />

pModule = NULL;<br />

break;<br />

}<br />

return( pModule );<br />

Una vez más, hay que cambiar el nombre <strong>de</strong> la clase a la que se llama, poniendo CMiModulo<br />

en lugar <strong>de</strong> CTemplate. A<strong>de</strong>más, <strong>de</strong>bemos incorporar la clase correspondiente al segundo<br />

módulo. Sustituye el bloque anterior <strong>de</strong> código por el siguiente.<br />

CModule * Create_Module(int i)<br />

{<br />

CModule *pModule;<br />

switch( i )<br />

{<br />

case 0:<br />

pModule = new CMyModule;<br />

break;<br />

case 1:<br />

pModule = new CMyModuleSimpl;<br />

break;<br />

<strong>de</strong>fault:<br />

pModule = NULL;<br />

break;<br />

}<br />

return( pModule );<br />

}


20.2. LIBRERÍAS Y MÓDULOS 325<br />

Ahora, para cada módulo que quieras añadir a esta librería, simplemente aña<strong>de</strong> su cabecera<br />

correspondiente y su propia entrada <strong>de</strong>ntro <strong>de</strong>l bloque switch.<br />

Ya tenemos <strong>de</strong>finida la estructura <strong>de</strong> la librería, así que po<strong>de</strong>mos empezar a trabajar <strong>con</strong><br />

los módulos propiamente dichos y comenzar a <strong>de</strong>sarrollar nuestros propios algoritmos.<br />

<strong>La</strong> plantilla <strong>de</strong> módulo <strong>con</strong> la que trabajamos (que has renombrado a MiModulo) <strong>con</strong>stituye<br />

un buen ejemplo <strong>de</strong> un módulo básico, y <strong>con</strong>tiene algunas <strong>de</strong> las características más<br />

importantes <strong>de</strong> los mismos. Intentaremos en este capítulo profundizar algo en la estructura<br />

misma <strong>de</strong>l código, así como en los métodos <strong>de</strong> la API <strong>de</strong> <strong>SEXTANTE</strong> que pue<strong>de</strong>n utilizarse<br />

<strong>de</strong>s<strong>de</strong> cualquier módulo que creemos.<br />

Aunque éste es un capítulo ✭✭intenso✮✮ en el que se recoge una gran cantidad <strong>de</strong> información,<br />

no es posible tratar todos los métodos disponibles y todas las posibilida<strong>de</strong>s sin que la extensión<br />

<strong>de</strong>l mismo sea excesiva. Sin embargo, una vez que adquieras un manejo básico para el <strong>de</strong>sarrollo<br />

<strong>de</strong> módulos sencillos, hay otros métodos para ampliar tus <strong>con</strong>ocimientos. No olvi<strong>de</strong>s que los<br />

módulos <strong>de</strong> <strong>SEXTANTE</strong> son libres y pue<strong>de</strong>s disponer <strong>de</strong>l código fuente <strong>de</strong> todos ellos. Leyendo<br />

este código podrás compren<strong>de</strong>r probablemente sin mucha dificultad cómo llevar a cabo tareas<br />

que no quedan explicadas en este capítulo pero se hayan presentes en algunos módulos. No<br />

tengas miedo en curiosear el código <strong>de</strong> los módulos principales. Te sorpren<strong>de</strong>rás muchas veces<br />

al ver que se trata <strong>de</strong> formulaciones sencillas y fáciles <strong>de</strong> enten<strong>de</strong>r. Recuerda que la curiosidad<br />

es la madre <strong>de</strong> la ciencia...<br />

En un módulo básico (no interactivo), se incluyen las siguientes partes<br />

Obtener información por parte <strong>de</strong>l usuario acerca <strong>de</strong> cómo ha <strong>de</strong> ejecutarse el módulo<br />

Ejecutar el módulo <strong>con</strong> dicha información<br />

Veamos <strong>de</strong>tenidamente como implementar cada una <strong>de</strong> estas partes.<br />

20.2.1. Constructoras. Crear una ventana <strong>de</strong> parámetros<br />

A <strong>con</strong>tinuación pue<strong>de</strong>s ver la <strong>con</strong>structora <strong>de</strong> la clase que <strong>con</strong>tiene el módulo MiModulo<br />

(una vez más sin comentarios).<br />

CMyModule::CMyModule(void)<br />

{<br />

Parameters.Set_Name("MiModulo");<br />

Parameters.Set_Description("MiModulo");<br />

Parameters.Add_Grid(NULL, "INPUT", "Input" ,<br />

"Input for module calculations.", PARAMETER_INPUT);<br />

Parameters.Add_Grid(NULL, "RESULT", "Output",<br />

"Output of module calculations.", PARAMETER_OUTPUT);<br />

Parameters.Add_Value(NULL, "BOOLEAN", "Boolean",<br />

"A value of type boolean.", PARAMETER_TYPE_Bool, true);<br />

Parameters.Add_Value(NULL, "INTEGER", "Integer",<br />

"A value of type integer.", PARAMETER_TYPE_Int, 200);<br />

Parameters.Add_Value(NULL, "DOUBLE", "Double",<br />

"A floating point value.", PARAMETER_TYPE_Double, 3.145);<br />

Parameters.Add_Choice(NULL, "METHOD" , "Method",


326 CAPÍTULO 20. PROGRAMACIÓN DE MÓDULOS DE <strong>SEXTANTE</strong><br />

}<br />

"Choose a method from this select option.",<br />

"First Method|"<br />

"Se<strong>con</strong>d Method|",<br />

0 );<br />

Como pue<strong>de</strong>s ver, todas las líneas hacen uso <strong>de</strong> la variable Parameters, que se encuentra<br />

<strong>de</strong>finida como un variable <strong>de</strong> miembro en la clase CModule y pue<strong>de</strong>, por tanto, acce<strong>de</strong>rse <strong>de</strong>s<strong>de</strong><br />

cualquier módulo que crees.<br />

<strong>La</strong>s primeras dos líneas establecen el nombre y la <strong>de</strong>scripción <strong>de</strong>l módulo, y se emplean<br />

para dar nombre a la entrada <strong>de</strong> menú correspondiente y facilitar información adicional cuando<br />

se selecciona el módulo en cuestión <strong>de</strong>ntro <strong>de</strong> la pestaña Módulos.<br />

<strong>La</strong>s siguientes líneas <strong>de</strong>finen la ventana <strong>de</strong> parámetros que verás una vez que arranques el<br />

módulo. En este caso, sólo se trabaja <strong>con</strong> capas raster y no es necesaria una gran cantidad <strong>de</strong><br />

información, por lo que hay muchas posibilida<strong>de</strong>s que no se recogen en este módulo <strong>de</strong> ejemplo.<br />

Todas ellas usan simplemente otros métodos <strong>de</strong> la clase CParameter, que a <strong>con</strong>tinuación serán<br />

explicados uno por uno.<br />

Lo primero que habitualmente se requiere para ejecutar un módulo es una capa (o un<br />

grupo <strong>de</strong> ellas), ya sea <strong>de</strong> tipo raster o <strong>de</strong> tipo vectorial. Para el caso <strong>de</strong> una única capa raster,<br />

tal y como suce<strong>de</strong> en el ejemplo, se utiliza el método Add Grid, <strong>de</strong>finido <strong>de</strong> la siguiente forma.<br />

CParameter * Add_Grid (CParameter *pParent,<br />

<strong>con</strong>st char *I<strong>de</strong>nt,<br />

<strong>con</strong>st char *Name,<br />

<strong>con</strong>st char *Desc,<br />

int Constraint);<br />

don<strong>de</strong><br />

pParent es un puntero al parámetro ✭✭padre✮✮ <strong>de</strong>l que <strong>de</strong>pen<strong>de</strong> el parámetro especificado. Este<br />

puntero aparece en todos los métodos para obtener <strong>de</strong>l usuario cualquier tipo <strong>de</strong> información,<br />

y veremos más a<strong>de</strong>lante como utilizarlo para agrupar parámetros. Por el momento, dale valor<br />

NULL, que es la opción más habitual.<br />

*I<strong>de</strong>nt es un i<strong>de</strong>ntificador interno <strong>de</strong>l módulo.<br />

Ésta es la ca<strong>de</strong>na <strong>de</strong> texto que sirve para<br />

llamar al parámetro cuando se usa la línea <strong>de</strong> comandos, y también para grabar valores <strong>de</strong><br />

parámetros, como vimos en el capítulo anterior.<br />

*Name es el nombre <strong>de</strong>l parámetro mostrado al usuario en la ventana correspondiente<br />

*Desc es una <strong>de</strong>scripción más <strong>de</strong>tallada <strong>de</strong>l parámetro.<br />

Constraint es un <strong>de</strong>scriptor <strong>de</strong> las características <strong>de</strong> la capa raster que <strong>con</strong>stituye el parámetro.<br />

Pue<strong>de</strong>n usarse las siguientes <strong>con</strong>stantes como valores <strong>de</strong> esta variable:<br />

PARAMETER INPUT: <strong>La</strong> capa es <strong>de</strong> entrada y obligatoria<br />

PARAMETER OUTPUT: <strong>La</strong> capa es <strong>de</strong> salida y obligatoria<br />

PARAMETER INPUT OPTIONAL: <strong>La</strong> capa es <strong>de</strong> entrada y opcional<br />

PARAMETER OUTPUT OPTIONAL: <strong>La</strong> capa es <strong>de</strong> salida y opcional<br />

Aquí tienes un ejemplo <strong>de</strong> cómo usar esto, tomado <strong>de</strong>l código <strong>de</strong>l módulo <strong>de</strong> ejemplo:<br />

Parameters.Add_Grid(NULL, "INPUT", "Input" ,<br />

"Input for module calculations.", PARAMETER_INPUT);


20.2. LIBRERÍAS Y MÓDULOS 327<br />

Si en lugar <strong>de</strong> una capa raster necesitas una vectorial para trabajar, pue<strong>de</strong>s usar el método<br />

Add Shapes.<br />

CParameter * Add_Shapes(CParameter *pParent,<br />

<strong>con</strong>st char *I<strong>de</strong>nt,<br />

<strong>con</strong>st char *Name,<br />

<strong>con</strong>st char *Desc,<br />

int Constraint,<br />

TShape_Type Shape_Type = SHAPE_TYPE_Un<strong>de</strong>fined);<br />

Su estructura es bastante similar a la <strong>de</strong>l anterior, a excepción <strong>de</strong>l último parámetro<br />

opcional, que <strong>de</strong>fine el tipo <strong>de</strong> capa vectorial <strong>de</strong>seada, y para el cual pue<strong>de</strong>n emplearse las<br />

siguientes <strong>con</strong>stantes.<br />

SHAPE TYPE Un<strong>de</strong>fined<br />

SHAPE TYPE Point<br />

SHAPE TYPE Points<br />

SHAPE TYPE Line<br />

SHAPE TYPE Polygon<br />

En caso <strong>de</strong> necesitar una tabla, pue<strong>de</strong>s utilizar el método Add Table, el cual requiere los<br />

mismos parámetros exactamente que el método Add Grid ya <strong>de</strong>scrito.<br />

Para pedir al usuario un valor numérico, la función que necesitas es Add Value. Mira el<br />

siguiente ejemplo <strong>de</strong> su uso.<br />

Parameters.Add_Value(NULL ,<br />

"UMBRAL",<br />

"Umbral",<br />

"",<br />

PARAMETER_TYPE_Int,<br />

4,<br />

0,<br />

true,<br />

8,<br />

true);<br />

Los últimos cuatro parámetros son opcionales, e incluyen la información necesaria para<br />

establecer un rango <strong>de</strong> valores válidos para el campo asociado. Por ejemplo, la línea anterior<br />

crea un campo <strong>de</strong>nominado Umbral <strong>con</strong> una valor por <strong>de</strong>fecto <strong>de</strong> 4, un mínimo <strong>de</strong> 0 y un<br />

máximo <strong>de</strong> 8. Para establecer los valores límite no es suficiente pasarle el valor al método, sino<br />

que a<strong>de</strong>más <strong>de</strong>bes <strong>con</strong>firmar su uso pasando true al siguiente parámetro.<br />

En ocasiones te será necesario pedir al usuario un grupo <strong>de</strong> capas o tablas (como suce<strong>de</strong><br />

por ejemplo en la calculadora <strong>de</strong> mapas), y en tal caso los métodos que hemos visto hasta<br />

el momento no son válidos. Para incluir en tu ventana <strong>de</strong> parámetros un campo <strong>de</strong> selección<br />

múltiple haz uso <strong>de</strong> alguno <strong>de</strong> los siguientes métodos.<br />

CParameter * CParameters::Add_Grid_List(CParameter *pParent,<br />

<strong>con</strong>st char *I<strong>de</strong>ntifier,<br />

<strong>con</strong>st char *Name,


328 CAPÍTULO 20. PROGRAMACIÓN DE MÓDULOS DE <strong>SEXTANTE</strong><br />

<strong>con</strong>st char *Description,<br />

int Constraint,<br />

bool bSystem_Depen<strong>de</strong>nt)<br />

CParameter * CParameters::Add_Table_List(CParameter *pParent,<br />

<strong>con</strong>st char *I<strong>de</strong>ntifier,<br />

<strong>con</strong>st char *Name,<br />

<strong>con</strong>st char *Description,<br />

int Constraint)<br />

CParameter * CParameters::Add_Shapes_List(CParameter *pParent,<br />

<strong>con</strong>st char *I<strong>de</strong>ntifier,<br />

<strong>con</strong>st char *Name,<br />

<strong>con</strong>st char *Description,<br />

int Constraint,<br />

TShape_Type Type)<br />

En el caso <strong>de</strong> una selección múltiple <strong>de</strong> capas raster, pue<strong>de</strong>s escoger que éstas <strong>de</strong>ban ser forzosamente<br />

<strong>de</strong> una misma extensión <strong>de</strong> grid (pasando true en el parámetro bSystemDepen<strong>de</strong>nt)<br />

o <strong>de</strong> todas las extensiones disponibles (pasando false).<br />

Otros parámetros menos habituales pue<strong>de</strong>n incluirse en la ventana <strong>de</strong> parámetros haciendo<br />

uso <strong>de</strong> distintos métodos <strong>de</strong> la clase CParameters. Aquí tienes un par <strong>de</strong> ejemplos, en particular<br />

una ruta <strong>de</strong> acceso y un color.<br />

Parameters.Add_FilePath(NULL,<br />

"OUTPUTPATH",<br />

"Carpeta",<br />

"Carpeta <strong>de</strong> resultados",<br />

"",<br />

"",<br />

true,<br />

true);<br />

Parameters.Add_Value(pNo<strong>de</strong>,<br />

"COLORBARS",<br />

"Color para gráficos <strong>de</strong> línea",<br />

"",<br />

PARAMETER_TYPE_Color,<br />

RGB(0,0,255));<br />

Este último es simplemente un uso distinto <strong>de</strong>l método Add Value.<br />

Para más información, echa un vistazo a los archivos Parameters.h y Parameters en la<br />

carpeta saga api.<br />

Como has podido ver en sus respectivas <strong>de</strong>finiciones, todos estos métodos <strong>de</strong>vuelven un<br />

puntero a un objeto CParameter. Usar este puntero como primer parámetro al llamar a alguno<br />

<strong>de</strong> los métodos anteriores hace que el parámetro creado en ese método se sitúe en la ventana<br />

<strong>de</strong> parámetros por <strong>de</strong>bajo <strong>de</strong> aquel apuntado por el puntero.<br />

Pue<strong>de</strong>s agrupar parámetros añadiendo nodos. Para hacerlo, utiliza el método Add No<strong>de</strong>().<br />

He aquí un ejemplo <strong>de</strong> como usarlo, sacado <strong>de</strong> uno <strong>de</strong> los módulos para kriging.<br />

pNo<strong>de</strong>_0 = Parameters.Add_No<strong>de</strong>(


20.2. LIBRERÍAS Y MÓDULOS 329<br />

);<br />

NULL, "PARMS", "Additional Parameters",<br />

""<br />

pNo<strong>de</strong>_1 = Parameters.Add_Value(<br />

pNo<strong>de</strong>_0, "PARM_LIN_B", "Linear Regression",<br />

"Parameter B for Linear Regression:\r\n y = Nugget + B * x",<br />

PARAMETER_TYPE_Double, 1.0<br />

);<br />

Un caso particular <strong>de</strong> lo anterior es el caso <strong>de</strong> requerir como entrada un campo <strong>de</strong> una<br />

tabla o <strong>de</strong> la tabla <strong>de</strong> atributos <strong>de</strong> una capa vectorial. En ese caso, la lista <strong>de</strong>splegable para<br />

elegir el campo <strong>de</strong>be ir lógicamente por <strong>de</strong>bajo <strong>de</strong>l parámetro que <strong>con</strong>tiene la capa vectorial o<br />

la tabla, pero a<strong>de</strong>más <strong>de</strong>be existir una <strong>de</strong>pen<strong>de</strong>ncia entre ambos, <strong>de</strong> tal modo que el <strong>con</strong>tenido<br />

<strong>de</strong> la lista se modifique en función <strong>de</strong> la capa o tabla seleccionada.<br />

Para ello, el método Add Table Field() se encarga automáticamente <strong>de</strong> gestionar esa <strong>de</strong>pen<strong>de</strong>ncia.<br />

El siguiente fragmento <strong>de</strong> código aña<strong>de</strong> a la ventana <strong>de</strong> parámetros un campo <strong>con</strong><br />

una capa vectorial y una lista para elegir un campo <strong>de</strong> entre los <strong>de</strong> la tabla <strong>de</strong> atributos <strong>de</strong> la<br />

misma, tal y como se ve en la figura mostrada seguidamente.<br />

pNo<strong>de</strong>_0 = Parameters.Add_Shapes(<br />

NULL, "INPUT", "Shapes",<br />

"",PARAMETER_INPUT<br />

);<br />

pNo<strong>de</strong>_1 = Parameters.Add_Table_Field(<br />

pNo<strong>de</strong>_0, "FIELD", "Attribute",""<br />

);<br />

20.2.2. El método On Execute()<br />

Una vez que la ventana <strong>de</strong> parámetros ha sido <strong>de</strong>finida, es hora <strong>de</strong> escribir los algoritmos<br />

que <strong>con</strong>stituyen el núcleo <strong>de</strong> nuestro módulo.<br />

Cuando el usuario introduce la información y hace clic en Aceptar, <strong>SEXTANTE</strong> llama al<br />

método On Execute(). Es aquí don<strong>de</strong> tienes que <strong>de</strong>sarrollar los algoritmos y don<strong>de</strong> el verda<strong>de</strong>ro<br />

procesado <strong>de</strong> los datos tiene lugar.<br />

Sin embargo, lo primero que <strong>de</strong>bemos hacer antes <strong>de</strong> escribir los algoritmos propiamente<br />

dichos es recoger la información introducida por el usuario y almacenarla en variables más<br />

prácticas para un uso cómodo. Esta información está recogida en el objeto Parameters, y<br />

pue<strong>de</strong> acce<strong>de</strong>rse a ella haciendo uso <strong>de</strong> métodos <strong>de</strong> la clase CParameters.<br />

Aquí pue<strong>de</strong>s ver el código correspondiente a esta parte en el módulo <strong>de</strong> ejemplo.<br />

pInput = Parameters("INPUT")->asGrid();<br />

pResult = Parameters("RESULT")->asGrid();<br />

d = Parameters("DOUBLE")->asDouble();<br />

Para obtener el valor <strong>de</strong> un parámetro, simplemente usa Parameters(i<strong>de</strong>ntificador <strong>de</strong>l parámetro)<br />

(esto te dará un puntero a dicho parámetro), y llama <strong>con</strong> él a alguno <strong>de</strong> los siguientes<br />

métodos, según el tipo <strong>de</strong> parámetro que sea.


330 CAPÍTULO 20. PROGRAMACIÓN DE MÓDULOS DE <strong>SEXTANTE</strong><br />

bool asBool (void)<br />

char asChar (void)<br />

int asInt (void)<br />

long asLong (void)<br />

long asColor (void)<br />

double asDouble (void)<br />

void * asPointer (void)<br />

char * asString (void)<br />

SYS_LOGFONT * asFont (void)<br />

CColors * asColors (void)<br />

CDataObject * asDataObject(void)<br />

CGrid * asGrid (void)<br />

CTable * asTable (void)<br />

CShapes * asShapes (void)<br />

CTIN * asTIN(void)<br />

Si has incluido un campo <strong>de</strong> seleccion múltiple, utiliza el método GetData() para obtener<br />

un puntero a la lista y <strong>de</strong>spues usar los propios métodos <strong>de</strong> la misma para acce<strong>de</strong>r a cada uno<br />

<strong>de</strong> sus elementos. El siguiente ejemplo te ayudará a ver cómo hacer esto.<br />

CParameter_List *pList;<br />

if( (pList = (CParameter_Grid_List *)Parameters("LISTA_DE_CAPAS_RASTER")<br />

->Get_Data()) != NULL && pList->Get_Count() > 0 ){<br />

for (int i=0; i<strong>La</strong>yerGet_Count(); i<strong>La</strong>yer++){<br />

if( (pGrid = pList->asGrid(i)) != NULL ){<br />

//Haz aquí lo que corresponda <strong>con</strong> el grid ya almacenado en pGrid<br />

}<br />

}<br />

}<br />

El método Get Count() se emplea para comprobar que la lista <strong>con</strong>tiene al menos un elemento,<br />

así como para recorrer <strong>de</strong>spués todos ellos uno a uno. Una vez que tienes el objeto<br />

CParameter Grid List ya pue<strong>de</strong>s emplear el método asGrid(), pasándole como parámetro el<br />

número <strong>de</strong>l elemento al que <strong>de</strong>seas acce<strong>de</strong>r (el or<strong>de</strong>n comienza en cero).<br />

Si en lugar <strong>de</strong> una lista <strong>de</strong> capas raster tienes una <strong>de</strong> otro tipo, <strong>de</strong>bes forzar el tipo a<br />

alguna <strong>de</strong> las clases siguientes:<br />

CParameter_Shapes_List<br />

CParameter_TIN_List<br />

CParameter_Table_List<br />

Una vez que se ha recuperado la información proporcionada por el usuario, ya no queda<br />

nada por hacer salvo procesarla. Para ello, <strong>de</strong>sarrolla a <strong>con</strong>tinuación tus i<strong>de</strong>as y algoritmos<br />

utilizando los métodos <strong>de</strong> los objetos que has creado <strong>con</strong> la información introducida a través


20.3. MANEJANDO CAPAS RASTER. LA CLASE CGRID 331<br />

<strong>de</strong> la ventana <strong>de</strong> parámetros. <strong>La</strong>s clases correspondientes son extensas y no tiene sentido<br />

abarcarlas en su totalidad en este capítulo, pero aún así veremos algunas <strong>de</strong> las características<br />

más básicas. Para las restantes, pue<strong>de</strong>s <strong>con</strong>sultar el código fuente <strong>de</strong> otros módulos, o bien las<br />

<strong>de</strong>finiciones <strong>de</strong> las clases más importantes, tales como CGrid, CShapes, CTable o CModule.<br />

Comencemos <strong>con</strong> el trabajo <strong>con</strong> capas raster.<br />

20.3. Manejando capas raster. <strong>La</strong> clase CGrid<br />

<strong>La</strong> parte <strong>de</strong>l código <strong>de</strong>l módulo <strong>de</strong> ejemplo en la que se procesa la información tiene el<br />

siguiente aspecto:<br />

for(y=0; yasDouble(x,y));<br />

}<br />

}<br />

Los métodos Get NX() y Get NY() <strong>de</strong>vuelven el numero <strong>de</strong> columnas y filas <strong>de</strong>l grid respectivamente,<br />

y son métodos <strong>de</strong> la clase CGrid, aunque como ves en el ejemplo anterior, también<br />

son miembros <strong>de</strong> CModule Grid y pue<strong>de</strong>n llamarse sin necesidad <strong>de</strong> hacer referencia a ningún<br />

grid. Eso se <strong>de</strong>be a que el módulo ✭✭sabe✮✮ la extensión <strong>de</strong> grid seleccionada y sus características.<br />

<strong>La</strong> línea <strong>de</strong> proceso principal simplemente toma un dato <strong>de</strong>l grid <strong>de</strong> entrada y asigna dicho<br />

valor multiplicado por la <strong>con</strong>stante d al grid <strong>de</strong> salida, haciendo esto para cada celda. Para<br />

una celda (x,y) (el origen (0,0) es la esquina inferior izquierda) se pue<strong>de</strong> <strong>con</strong>ocer el valor<br />

en un grid <strong>con</strong> alguna <strong>de</strong> las siguientes funciones, <strong>de</strong>pendiendo <strong>de</strong>l tipo <strong>de</strong> dato que se <strong>de</strong>see<br />

recuperar.<br />

virtual BYTE asByte (int x, int y, bool bZFactor = false)<br />

virtual char asChar (int x, int y, bool bZFactor = false)<br />

virtual short asShort (int x, int y, bool bZFactor = false)<br />

virtual int asInt (int x, int y, bool bZFactor = false)<br />

virtual long asLong (int x, int y, bool bZFactor = false)<br />

virtual float asFloat (int x, int y, bool bZFactor = false)<br />

virtual double asDouble (int x, int y, bool bZFactor = false)<br />

El parámetro bZFactor indica si se <strong>de</strong>sea que el valor <strong>de</strong>vuelto incluya la aplicación <strong>de</strong>l<br />

factor Z <strong>de</strong>l grid.<br />

Para asignar un valor a una celda, usa la función<br />

virtual void Set_Value(int x, int y, double Value)<br />

En relación <strong>con</strong> los valores <strong>de</strong> sin datos, pue<strong>de</strong>s modificar éstos estableciendo un nuevo<br />

valor único o bien un rango, <strong>con</strong> los métodos<br />

void Set_NoData_Value (double Value);<br />

void Set_NoData_Value_Range (double loValue, double hiValue);<br />

Pue<strong>de</strong>s <strong>con</strong>ocer el valor <strong>de</strong> sin datos <strong>con</strong> algunas funciones <strong>de</strong> la clase, pero para asignar<br />

este valor a una celda no necesitas, sin embargo, saberlo. Utiliza el método<br />

virtual void Set_NoData (int x, int y)


332 CAPÍTULO 20. PROGRAMACIÓN DE MÓDULOS DE <strong>SEXTANTE</strong><br />

Igualmente, para comprobar si una celda <strong>con</strong>tiene valor <strong>de</strong> sin datos, no compruebes directamente<br />

el valor, sino utiliza el siguiente método<br />

virtual bool is_NoData (int x, int y)<br />

En ocasiones, pue<strong>de</strong>s necesitar algún grid accesorio a<strong>de</strong>más <strong>de</strong> los que introduce el usuario<br />

(por ejemplo, para usarlo como grid intermedio don<strong>de</strong> almacenar información temporal<br />

<strong>de</strong> una operación. Para ello, pue<strong>de</strong>s usar algunas <strong>de</strong> las diferentes formas <strong>de</strong> la función<br />

API Create Grid() (no es un método <strong>de</strong> CGrid. Puesto que lo más habitual es que necesites un<br />

grid <strong>de</strong> las mismas dimensiones y características que uno que ya tienes (uno <strong>de</strong> los introducidos<br />

por el usuario), la forma más frecuente es la <strong>de</strong>finida en el siguiente prototipo<br />

CGrid* API_Create_Grid (<strong>con</strong>st CGrid &Grid);<br />

20.4. Manejando capas vectoriales. <strong>La</strong> clase CShapes<br />

Si se <strong>con</strong>oce bien la jerarquía <strong>de</strong> las capas vectoriales tal y como en su momento fue<br />

explicada, manejar internamente capas vectoriales es sencillo. Para acce<strong>de</strong>r a cada uno <strong>de</strong> los<br />

elementos <strong>de</strong> una capa vectorial existen métodos apropiados <strong>de</strong> uso intuitivo, y el trabajo<br />

tanto <strong>con</strong> las propias capas como <strong>con</strong> sus tablas <strong>de</strong> atributos no es en absoluto complejo.<br />

Empezando por el nivel más alto <strong>de</strong> la jerarquía en<strong>con</strong>tramos la clase CShapes, que almacena<br />

una serie <strong>de</strong> objetos <strong>de</strong> la clase CShape, siguiendo esa jerarquía que ya <strong>con</strong>ocemos. Existen<br />

4 clases que heredan <strong>de</strong> CShape, y que sirven para los cuatro tipos <strong>de</strong> entida<strong>de</strong>s vectoriales<br />

que ya hemos visto: CShape Polygon, CShape Line y CShape Points. Todas ellas no <strong>de</strong>jan <strong>de</strong><br />

ser sino <strong>con</strong>juntos <strong>de</strong> puntos, y para el manejo <strong>de</strong> éstos tienen una serie <strong>de</strong> funciones comunes.<br />

Para <strong>con</strong>ocer las coor<strong>de</strong>nadas <strong>de</strong> el punto i <strong>de</strong> la parte j <strong>de</strong> una entidad (es <strong>de</strong>cir, un objeto<br />

<strong>de</strong> clase CShape), usa el método Get Point() en una llamada como la siguiente.<br />

TGEO_Point pt = Get_Point(i,j);<br />

<strong>La</strong> estructura TGEO Point simplemente tiene dos valores, x e y, que pue<strong>de</strong>s <strong>con</strong>sultar para<br />

saber las coor<strong>de</strong>nadas <strong>de</strong>l punto en ambos ejes.<br />

Para ver un ejemplo práctico <strong>de</strong> cómo crear entida<strong>de</strong>s y cómo leer la información <strong>de</strong> otra<br />

ya existente, el siguiente bloque <strong>de</strong> código toma una capa <strong>de</strong> polígonos (a partir <strong>de</strong> un puntero<br />

pInput) y crea otra (en pOutput) igual. Creo que esta es una buena manera <strong>de</strong> ir aprendiendo<br />

los métodos más útiles <strong>de</strong> estas clases. Por el momento, sólo prestamos atención a la geometría<br />

y no a las tablas <strong>de</strong> atributos.<br />

int i,j,k;<br />

TGEO_Point Point;<br />

CShape *pShape,*pShape2;<br />

for(i=0; iGet_Count(); i++){<br />

pShape = pInput->Get_Shape(i);<br />

pShape2 = pOutput->Add_Shape();<br />

for(int j=0; jGet_Part_Count(); j++){<br />

for(int k=0; kGet_Point_Count(j); k++){<br />

Point = pShape->Get_Point(k,j);<br />

pShape2->Add_Point(Point.x,Point.y,j);<br />

}<br />

}<br />

}


20.5. MANEJANDO TABLAS. LA CLASE CTABLE 333<br />

<strong>La</strong> tabla <strong>de</strong> atributos es un objeto <strong>de</strong> tipo CTable, y se maneja igual que cualquier otra<br />

tabla, como veremos en la siguiente sección. Para acce<strong>de</strong>r a la tabla <strong>de</strong> atributos, usa el<br />

método Get Table() <strong>de</strong> la clase CShapes, que <strong>de</strong>vuelve una referencia a la misma. Aquí tienes<br />

un ejemplo <strong>de</strong> cómo hacer esto.<br />

CTable Table;<br />

Table = pInput->Get_Table();<br />

20.5. Manejando tablas. <strong>La</strong> clase CTable<br />

Para el manejo <strong>de</strong> tablas existen dos clases esenciales: CTable, que <strong>con</strong>tiene la tabla en sí,<br />

y CTable Record, que <strong>con</strong>tiene la información <strong>de</strong> un registro (fila) <strong>de</strong> la tabla.<br />

Con los métodos <strong>de</strong> la clase CTable po<strong>de</strong>mos añadir o eliminar campos, así como añadir o<br />

eliminar registros. Éstos son los prototipos <strong>de</strong> los métodos más usuales.<br />

void Add_Field (<strong>con</strong>st char *Name, TTable_FieldType Type, int iField = -1);<br />

bool Del_Field (int iField);<br />

CTable_Record *Add_Record (CTable_Record *pValues = NULL);<br />

CTable_Record *Ins_Record (int iRecord, CTable_Record *pValues = NULL);<br />

bool Del_Record (int iRecord);<br />

El método Get Record() <strong>de</strong>vuelve un puntero a un registro dado <strong>de</strong> la tabla.<br />

CTable_Record *Get_Record (int iRecord)<br />

Con un puntero a un objeto <strong>de</strong> la clase CTable Record se pue<strong>de</strong> obtener el valor <strong>de</strong> un<br />

campo <strong>de</strong>l mismo <strong>con</strong> los métodos <strong>de</strong>l tipo asXXXX(). Por ejemplo, para recuperar un entero<br />

<strong>de</strong> un registro:<br />

int asInt (int iField);<br />

Si la tabla <strong>con</strong> la que trabajamos es una tabla <strong>de</strong> atributos, po<strong>de</strong>mos acce<strong>de</strong>r al registro<br />

directamente través <strong>de</strong> la clase CShape, ya que cada entidad tiene asociado un único registro.<br />

A <strong>con</strong>tinuación pue<strong>de</strong>s ver dos bloques <strong>de</strong> código, los cuales permiten ambos obtener un<br />

puntero al cuarto registro <strong>de</strong> una tabla <strong>de</strong> atributos (el or<strong>de</strong>n comienza en cero). Se supone<br />

que la tabla tiene suficientes registros, y se obvia la comprobación <strong>de</strong> errores en el ejemplo,<br />

aunque en un módulo real no <strong>de</strong>berías olvidar este hecho.<br />

CTable_Record *pRecord;<br />

//acceso a través <strong>de</strong> CTable<br />

CTable Table;<br />

Table = pInput->Get_Table();<br />

pRecord = Table.Get_Record(3);<br />

//acceso a traves <strong>de</strong> CShape<br />

CShape pShape = pInput(Get_Shape(3));<br />

pShape->Get_Record();


334 CAPÍTULO 20. PROGRAMACIÓN DE MÓDULOS DE <strong>SEXTANTE</strong><br />

Para que veas en forma <strong>de</strong> ejemplo cómo usar todo lo anterior, el siguiente bloque <strong>de</strong> código<br />

amplía el ejemplo <strong>de</strong> la sección anterior, copiando valor a valor también la tabla <strong>de</strong> atributos<br />

<strong>de</strong> una capa a otra.<br />

int i,j,k,iField;<br />

TGEO_Point Point;<br />

CShape *pShape,*pShape2;<br />

for(i=0; iGet_Count(); i++){<br />

pShape = pInput->Get_Shape(i);<br />

pShape2 = pOutput->Add_Shape();<br />

for(int j=0; jGet_Part_Count(); j++){<br />

for(int k=0; kGet_Point_Count(j); k++){<br />

Point = pShape->Get_Point(k,j);<br />

pShape2->Add_Point(Point.x,Point.y,j);<br />

for (iField = 0; iFieldGet_Field_Count(); iField++){<br />

if (pTable->Get_Field_Type(iField) == TABLE_FIELDTYPE_String){<br />

<strong>con</strong>st char *cValue = pShape->Get_Record()->asString(iField);<br />

pShape2->Get_Record()->Set_Value(iField, cValue);<br />

}<br />

else{<br />

double dValue = pShape->Get_Record()->asDouble(iField);<br />

pShape2->Get_Record()->Set_Value(iField, dValue);<br />

}<br />

}<br />

}<br />

}<br />

}<br />

20.6. Módulos interactivos<br />

Crear un módulo interactivo es algo diferente a lo que hemos visto hasta el momento,<br />

aunque no más complejo. Para empezar, los módulos interactivos heredan <strong>de</strong> la clase CModule<br />

Interactive o CModule Grid Interactive en lugar <strong>de</strong> CModule o CModule Grid. Ello da acceso a<br />

otra serie <strong>de</strong> métodos que nos serán muy útiles para recuperar información acerca <strong>de</strong> la parte<br />

interactiva <strong>de</strong>l mismo.<br />

En lo referente a la disposición <strong>de</strong>l código, la principal diferencia resi<strong>de</strong> en el hecho <strong>de</strong> que<br />

los algoritmos principales <strong>de</strong> proceso no <strong>de</strong>ben estar <strong>de</strong>ntro <strong>de</strong>l método On Execute(), sino en<br />

otro <strong>de</strong>nominado On Execute Position(), que es llamado cada vez que se efectúa alguna acción<br />

sobre una representación <strong>de</strong> mapa, tal como mover el ratón o hacer clic sobre un punto. Esta<br />

llamada sólo se produce si se encuentra activa la herramienta Seleccionar.<br />

Aquí tienes la <strong>de</strong>finición <strong>de</strong>l método On Execute Position()<br />

virtual bool On_Execute_Position (CGEO_Point ptWorld,<br />

TModule_Interactive_Mo<strong>de</strong> Mo<strong>de</strong>);<br />

Una buena i<strong>de</strong>a es poner las sentencias <strong>de</strong> asignación <strong>de</strong> variables en el método On Execute()<br />

(que sólo es llamado una vez), y <strong>de</strong>spués los algoritmos propiamente dichos en On Execute Position().<br />

Lo habitual es procesar la información cuando se hace clic en un punto y no cuando éste<br />

se mueve, ya que el uso típico <strong>de</strong> un módulo interactivo es la selección <strong>de</strong> un punto dado a


20.6. MÓDULOS INTERACTIVOS 335<br />

partir <strong>de</strong> cuyas coor<strong>de</strong>nadas que procesar. Por ello, y para el caso <strong>de</strong> un módulo interactivo<br />

no raster (que here<strong>de</strong> <strong>de</strong> CModule Interactive), es <strong>con</strong>veniente empezar por comprobar que la<br />

acción realizada es la que buscamos. Para ello, comprobamos el valor <strong>de</strong> la variable Mo<strong>de</strong>, <strong>de</strong><br />

tipo TModule Interactive Mo<strong>de</strong>, <strong>de</strong>finido como se muestra a <strong>con</strong>tinuación.<br />

type<strong>de</strong>f enum<br />

{<br />

MODULE_INTERACTIVE_UNDEFINED = 0,<br />

MODULE_INTERACTIVE_LDOWN,<br />

MODULE_INTERACTIVE_LUP,<br />

MODULE_INTERACTIVE_LDCLICK,<br />

MODULE_INTERACTIVE_MDOWN,<br />

MODULE_INTERACTIVE_MUP,<br />

MODULE_INTERACTIVE_MDCLICK,<br />

MODULE_INTERACTIVE_RDOWN,<br />

MODULE_INTERACTIVE_RUP,<br />

MODULE_INTERACTIVE_RDCLICK,<br />

MODULE_INTERACTIVE_MOVE,<br />

MODULE_INTERACTIVE_MOVE_LDOWN,<br />

MODULE_INTERACTIVE_MOVE_MDOWN,<br />

MODULE_INTERACTIVE_MOVE_RDOWN<br />

}<br />

TModule_Interactive_Mo<strong>de</strong>;<br />

Si por ejemplo quieres capturar simplemente un clic <strong>de</strong>l botón izquierdo, aña<strong>de</strong> este código<br />

al inicio <strong>de</strong>l método On Execute Position().<br />

if( Mo<strong>de</strong> != MODULE_INTERACTIVE_LDOWN)<br />

{<br />

return( false );<br />

}<br />

<strong>La</strong>s coor<strong>de</strong>nadas ✭✭reales✮✮ <strong>de</strong>l punto seleccionado pue<strong>de</strong>n <strong>con</strong>ocerse haciendo uso <strong>de</strong> los<br />

siguientes métodos.<br />

Get xPosition()<br />

Get yPosition()<br />

Éstas pue<strong>de</strong>n sustituirse por los métodos <strong>de</strong> la clase CGeo Rect, a la que pertenece el objeto<br />

ptWorld, ya que este objeto <strong>con</strong>tiene las coor<strong>de</strong>nadas reales <strong>de</strong>l punto seleccionado.<br />

Si el módulo es <strong>de</strong> tipo raster, las coor<strong>de</strong>nadas <strong>de</strong> celda se obtienen <strong>con</strong> los siguientes<br />

métodos.<br />

Get xGrid()<br />

Get xGrid()<br />

Es, sin embargo, mejor i<strong>de</strong>a comprobar que las coor<strong>de</strong>nadas son válidas (es <strong>de</strong>cir, que se<br />

ha seleccionado un punto <strong>de</strong>ntro <strong>de</strong> la capa raster y no uno fuera <strong>con</strong> el que no se pue<strong>de</strong><br />

trabajar), haciendo uso <strong>de</strong>l método Get Grid Pos() al inicio.<br />

bool Get_Grid_Pos (int &x, int &y);


336 CAPÍTULO 20. PROGRAMACIÓN DE MÓDULOS DE <strong>SEXTANTE</strong><br />

Este bloque <strong>de</strong> código que ves a <strong>con</strong>tinuación pue<strong>de</strong> sustituir al anterior inicio <strong>de</strong>l método<br />

On Execute Position() en el caso <strong>de</strong> tratarse <strong>de</strong> un módulo interactivo <strong>con</strong> capas raster.<br />

int iX, iY;<br />

if( Mo<strong>de</strong> != MODULE_INTERACTIVE_LDOWN || !Get_Grid_Pos(iX, iY) )<br />

{<br />

return( false );<br />

}<br />

20.7. Llamando a otros módulos<br />

Dentro <strong>de</strong> tu módulo pue<strong>de</strong>s utilizar las capacida<strong>de</strong>s <strong>de</strong> otros módulos, simplemente llamándolos<br />

y pasándoles los parámetros a<strong>de</strong>cuados. Para ver cómo funciona esto, crearemos una versión<br />

simplificada <strong>de</strong>l módulo <strong>de</strong> ejemplo, en el cual el parámetro DOUBLE (que luego asignábamos a<br />

una variable llamada d) tome un valor fijo. En lugar <strong>de</strong> reescribir todo el módulo, simplemente<br />

creamos uno que pida al usuario los parámetros requeridos excepto dicho valor, y <strong>de</strong>spués <strong>con</strong><br />

ellos y <strong>con</strong> el valor fijo llamamos al módulo <strong>de</strong> ejemplo.<br />

Supongo que ya podrás escribir por ti mismo todo el código correspondiente a la ventana<br />

<strong>de</strong> parámetros, por lo que tan solo <strong>de</strong>sarrollaré la parte que se incluye <strong>de</strong>ntro <strong>de</strong>l método<br />

On Execute(). Para el parámetroDOUBLE usaré un valor fijo <strong>de</strong> 5. He aquí la llamada al módulo:<br />

CMiModulo* pM = new CMiModulo;<br />

pTemplate->Get_Parameters()->Set_Parameter("INPUT", Parameters("INPUT");<br />

pTemplate->Get_Parameters()->Set_Parameter("OUTPUT", Parameters("OUTPUT");<br />

pTemplate->Get_Parameters()->Set_Parameter("DOUBLE", PARAMETER_TYPE_Double ,5);<br />

pTemplate->Execute(Get_Callback());<br />

<strong>de</strong>lete(pM);<br />

Únicamente tienes que crear un objeto <strong>de</strong> la clase que <strong>con</strong>tiene el módulo a ejecutar, pasarle<br />

los parámetros necesarios y ejecutarlo. Sencillo, ¿verdad?.<br />

Como pue<strong>de</strong>s ver, en el caso <strong>de</strong> que pases un parámetro obtenido directamente <strong>de</strong> la<br />

ventana <strong>de</strong> parámetros, no es necesario especificar el tipo <strong>de</strong>l mismo. Sin embargo, al pasar el<br />

valor fijo, sí que <strong>de</strong>be especificarse que se trata <strong>de</strong> un valor <strong>de</strong> precisión doble. Suponiendo que<br />

tienes los punteros a las capas raster <strong>de</strong> entrada y salida almacenados en las variables pInput<br />

y pOutput, pue<strong>de</strong>s reescribir lo anterior <strong>de</strong> la siguiente forma.<br />

CMiModulo Modulo<br />

pTemplate.Get_Parameters()->Set_Parameter("INPUT", PARAMETER_TYPE_Grid, pInput);<br />

pTemplate.Get_Parameters()->Set_Parameter("OUTPUT", PARAMETER_TYPE_Grid, pOutput);<br />

pTemplate.Get_Parameters()->Set_Parameter("DOUBLE", PARAMETER_TYPE_Double ,5);<br />

pTemplate.Execute(Get_Callback());<br />

Para ver otro ejemplo, imagina que quieres calcular una capa <strong>de</strong> pendientes y orientaciones<br />

a partir <strong>de</strong> una dada que has obtenido como entrada para tu módulo (supongamos que tienes<br />

un puntero a la misma almacenado en pGrid). El siguiente código te serviría para crear dos<br />

nuevas capas <strong>con</strong> dichas variables.<br />

CMorphometry Morphometry;<br />

Morphometry.Get_Parameters()->Set_Parameter("ELEVATION" , Parameters("ELEVATION");<br />

Morphometry.Get_Parameters()->Set_Parameter("SLOPE" , Parameters("SLOPE");


20.8. COMUNICÁNDOSE CON EL USUARIO 337<br />

Morphometry.Get_Parameters()->Set_Parameter("ASPECT" , Parameters("ASPECT");<br />

Morphometry.Execute() )<br />

Para el caso <strong>de</strong> la pendiente, como es una variable muy habitual, la clase CGrid incorpora<br />

un método que calcula la pendiente en una celda mediante la metodología <strong>de</strong> Zevenbergen<br />

& Thorne. Pue<strong>de</strong>s cambiar lo anterior por el siguiente bloque <strong>de</strong> código. De este modo, no<br />

necesitas la <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> la otra librería,<br />

for(y=0; ySet_Value(x, y, slope);<br />

m_pAspectGrid ->Set_Value(x, y, aspect);<br />

}<br />

else{<br />

m_pSlopeGrid ->Set_NoData(x, y);<br />

m_pAspectGrid ->Set_NoData(x, y);<br />

}<br />

}<br />

}<br />

Para que los módulos que <strong>de</strong>sarrolles puedan ser llamados <strong>de</strong>s<strong>de</strong> otros <strong>de</strong>bes <strong>de</strong>finirlos<br />

como tales. Aña<strong>de</strong> en el fichero MLB Interface.h un bloque como el siguiente (en este caso<br />

correspon<strong>de</strong> a la librería <strong>de</strong> <strong>análisis</strong> mormofétrico):<br />

#if<strong>de</strong>f ta_morphometry_EXPORTS<br />

#<strong>de</strong>fine ta_morphometry_EXPORT _SAGA_DLL_EXPORT<br />

#else<br />

#<strong>de</strong>fine ta_morphometry_EXPORT _SAGA_DLL_IMPORT<br />

#endif<br />

sustituye ta morphometry EXPORTS por nombre–<strong>de</strong>–tu–librería EXPORTS y ta morphometry<br />

EXPORT por nombre–<strong>de</strong>–tu–librería EXPORT (ése es el <strong>con</strong>venio que se sigue, y es<br />

<strong>con</strong>veniente seguirlo en tus propio <strong>de</strong>sarrollos), y no olvi<strong>de</strong>s añadir nombre–<strong>de</strong>–tu–librería EX-<br />

PORTS a las directivas <strong>de</strong> preprocesado.<br />

Con eso ya permites que en otros módulos (tuyos o <strong>de</strong> otro <strong>de</strong>sarrollador) se pueda hacer<br />

uso <strong>de</strong> las capacida<strong>de</strong>s <strong>de</strong>l módulo actual.<br />

20.8. Comunicándose <strong>con</strong> el usuario<br />

Los módulos más complejos, o aquellos que aun no siendo complejos se ejecuten sobre<br />

capas <strong>de</strong> gran tamaño, pue<strong>de</strong>n requerir un tiempo elevado en ejecutarse. Durante este tiempo,<br />

es una buena i<strong>de</strong>a informar al usuario acerca <strong>de</strong> lo que está sucediendo y, en la medida <strong>de</strong> lo<br />

posible, darle una estimación <strong>de</strong>l tiempo que aún resta <strong>de</strong> ejecución. También es interesante<br />

en muchos casos proporcionar información sobre la ejecución <strong>de</strong>l módulo no relacionada <strong>con</strong><br />

el tiempo <strong>de</strong> ejecución, sino <strong>con</strong> otros aspectos tales como avisos o errores.<br />

Todo esto pue<strong>de</strong> realizarse <strong>de</strong> diversas maneras, las cuales ya has visto en su momento en<br />

los distintos módulos que se han <strong>de</strong>scrito en otros capítulos. Ahora es el momento <strong>de</strong> ver cómo<br />

preparar tus propios módulos para establecer esa necesaria comunicación <strong>con</strong> el usuario.<br />

En primer lugar, pue<strong>de</strong>s mostrar información en la barra <strong>de</strong> estado acerca <strong>de</strong> la óperación<br />

que se realiza en cada momento, usando el método Process Set Text(*char). Por ejemplo:


338 CAPÍTULO 20. PROGRAMACIÓN DE MÓDULOS DE <strong>SEXTANTE</strong><br />

Process_Set_Text("Calculando capa <strong>de</strong> pendientes..."};<br />

EL progreso <strong>de</strong> la operación se pue<strong>de</strong> mostrar mediante el método Set Progress(double,<br />

double). El primer parámetro es el valor actual <strong>de</strong>l índice <strong>de</strong> progreso, mientras que el último<br />

es el valor final. Si el primero es igual a cero, la barra <strong>de</strong> progreso aparece completamente gris,<br />

mientras que en caso <strong>de</strong> ser igual al segundo la barra se muestra completamente azul.<br />

Aquí pue<strong>de</strong>s ver un ejemplo.<br />

Set_Progress(50,100);<br />

Esto indicaría que la operación actual se ha realizado hasta la mitad.<br />

En ocasiones, sin embargo, no sabes exactamente cuánto llevará terminar una operación<br />

(es <strong>de</strong>cir, que no tienes un valor final que pasar al anterior método), pero incluso en estos casos<br />

es interesante hacerle ver al usuario que el programa esta trabajando. Para ello pue<strong>de</strong>s utilizar<br />

el método Progress Blink(), el cual crea una barra <strong>de</strong> progreso oscilante. Aña<strong>de</strong> una llamada a<br />

este método cada vez que se complete un ciclo en el proceso. Al llamarla la barra se <strong>de</strong>splaza<br />

ligeramente, <strong>de</strong> tal modo que si la llamas <strong>de</strong>masiado frecuentemente se moverá muy rápido,<br />

mientras que si sitúas la llamada en otras partes <strong>de</strong>l código quizás vaya <strong>de</strong>masiado lenta y no<br />

dé sensación alguna <strong>de</strong> que el programa trabaja. Prueba diferentes <strong>con</strong>cepciones <strong>de</strong> la i<strong>de</strong>a <strong>de</strong><br />

ciclo (diferentes lugares <strong>de</strong>ntro <strong>de</strong> tu código), y escoge aquella que te gustaría <strong>de</strong>s<strong>de</strong> el punto<br />

<strong>de</strong> vista <strong>de</strong>l usuario, no <strong>de</strong>l programador.<br />

20.9. Soporte multilingüe y ayuda <strong>con</strong>textual<br />

Como ya sabes, <strong>SEXTANTE</strong> se basa en el software SAGA, y éste a su vez recibe aportaciones<br />

directas <strong>de</strong>s<strong>de</strong> el proyecto <strong>SEXTANTE</strong>, que a fecha <strong>de</strong> hoy incluyen cerca <strong>de</strong> 80 módulos<br />

y características <strong>de</strong>l núcleo y la API tan importantes como el motor <strong>de</strong> documentación encargado<br />

<strong>de</strong> generar ficheros en formato PDF. Tanto el núcleo como los módulos se encuentran en<br />

castellano, pero no es difícil imaginar que no existen dos versiones distintas <strong>de</strong>l código fuente<br />

— una en inglés para SAGA y otra en castellano para <strong>SEXTANTE</strong> — y que un cambio en el<br />

código <strong>de</strong> algún módulo existente obliga a reescribirlas ambas. Por una parte se encuentra el<br />

código, y por otra, en ficheros distintos, la traducción <strong>de</strong> los nombres <strong>de</strong> parámetros y otras<br />

ca<strong>de</strong>nas <strong>de</strong> texto que el módulo emplea. Para gestionar esto, la API <strong>de</strong> <strong>SEXTANTE</strong> incluye<br />

la función TL(), <strong>de</strong> la cual veremos a <strong>con</strong>tinuación un ejemplo <strong>de</strong> uso.<br />

Si no tienes intención <strong>de</strong> dar soporte multilingüe a tus módulos, no es necesario que leas<br />

este apartado. Si, por el <strong>con</strong>trario, <strong>de</strong>seas hacerlo, o quieres, por ejemplo, traducir a otro<br />

idioma distinto los módulos <strong>de</strong> <strong>SEXTANTE</strong>, he aquí algunas indicaciones al respecto.<br />

Para que una ca<strong>de</strong>na <strong>de</strong> texto no aparezca en el idioma original en que se encuentra en el<br />

código fuente <strong>de</strong>l módulo, sino que se busque su traducción en un fichero adicional, utiliza la<br />

función TL(). Para el caso <strong>de</strong> nuestro módulo <strong>de</strong> ejemplo, el siguiente bloque <strong>de</strong> texto muestra<br />

la creación <strong>de</strong> la ventana <strong>de</strong> parámetros teniendo en cuenta el soporte multilingüe.<br />

Parameters.Set_Name(_TL("MiModulo");<br />

Parameters.Set_Description(_TL("MiModulo");<br />

Parameters.Add_Grid(NULL, "INPUT", _TL("Input"),<br />

_TL("Input for module calculations."), PARAMETER_INPUT);<br />

Parameters.Add_Grid(NULL, "RESULT", "Output",<br />

_TL("Output of module calculations."), PARAMETER_OUTPUT);


20.9. SOPORTE MULTILINGÜE Y AYUDA CONTEXTUAL 339<br />

Parameters.Add_Value(NULL, "BOOLEAN", _TL("Boolean"),<br />

_TL("A value of type boolean."), PARAMETER_TYPE_Bool, true);<br />

Parameters.Add_Value(NULL, "INTEGER", "Integer",<br />

_TL("A value of type integer."), PARAMETER_TYPE_Int, 200);<br />

Parameters.Add_Value(NULL, "DOUBLE", "Double",<br />

_TL("A floating point value."), PARAMETER_TYPE_Double, 3.145);<br />

Parameters.Add_Choice(NULL, "METHOD" , _TL("Method",<br />

_TL("Choose a method from this select option."),<br />

_TL("First Method|"<br />

"Se<strong>con</strong>d Method|"),<br />

0 );<br />

Observa que, aun siendo ca<strong>de</strong>nas <strong>de</strong> texto, los <strong>de</strong>scriptores internos <strong>de</strong> los módulos (las<br />

ca<strong>de</strong>nas INPUT o RESULT) no se aplican <strong>con</strong> la función TL().<br />

Una vez hecho esto, ahora <strong>de</strong>bes crear un fichero llamado como la librería que <strong>con</strong>tiene<br />

al módulo, pero <strong>con</strong> extension .lng, situado en el mismo directorio don<strong>de</strong> se encuentre dicha<br />

librería. En él <strong>de</strong>bes añadir una entrada <strong>con</strong> el siguiente formato para ca<strong>de</strong>na a traducir.<br />

ENTRY(ca<strong>de</strong>na_<strong>de</strong>_texto_en_código_fuente)<br />

’’ca<strong>de</strong>na_<strong>de</strong>_texto_traducida’’<br />

Por ejemplo, aquí tienes una parte <strong>de</strong>l fichero que correspon<strong>de</strong>ría al la librería que hemos<br />

creado (que <strong>de</strong>bería llamarse MiLibreria.lng<br />

ENTRY(Method)<br />

’’Método’’<br />

ENTRY(Input)<br />

’’Entrada’’<br />

ENTRY(Output)<br />

’’Salida’’<br />

ENTRY(Choose a method from this select option.)<br />

’’Seleccione un método’’<br />

<strong>La</strong> función TL() es sensible a mayúsculas, así que vigila que estés copiando las ca<strong>de</strong>nas<br />

<strong>de</strong> forma literal.<br />

Si se le pasa una ca<strong>de</strong>na para la cual no se encuentra traducción en el fichero asociado (o<br />

éste no existe), la función <strong>de</strong>vuelve la misma ca<strong>de</strong>na pasada como parámetro.<br />

Como ves, la programación <strong>de</strong> un buen módulo incluye no sólo el propio código, sino también<br />

preocuparse por aspectos tales como una posible traducción <strong>de</strong>l mismo a otros idiomas.<br />

A<strong>de</strong>más <strong>de</strong> esto, otra <strong>de</strong> las tareas relacionadas es la <strong>de</strong> documentar el módulo para en la<br />

medida <strong>de</strong> lo posible facilitar su uso.<br />

Recuerda que <strong>SEXTANTE</strong> incluye una función para mostrar ayuda <strong>con</strong>textual, simplemente<br />

<strong>de</strong>bes incluir una carpeta <strong>con</strong> el nombre <strong>de</strong> la librería y <strong>de</strong>ntro <strong>de</strong> ésta un fichero html<br />

<strong>con</strong> el nombre <strong>de</strong>l módulo en cuestión. Si usas una versión traducida (es <strong>de</strong>cir, que éste tomando<br />

los nombres <strong>de</strong> módulo y librería <strong>de</strong> un fichero .lng), <strong>de</strong>bes nombrar ambos ficheros


340 CAPÍTULO 20. PROGRAMACIÓN DE MÓDULOS DE <strong>SEXTANTE</strong><br />

<strong>con</strong> su traducción, pues es ésta, y no la <strong>de</strong>nominación original presente en el código fuente, la<br />

que <strong>SEXTANTE</strong> buscará para ofrecer ayuda <strong>con</strong>textual


Bibliografía<br />

[1] Al–Smadi, M. Incorporating Spatial and Temporal Variation of Watershed Response in a GIS–Based Hydrologic<br />

Mo<strong>de</strong>l. Virginia Polytechnic Institute and State University, 184 págs, 1998<br />

Can be downloa<strong>de</strong>d freely, along with [95] and [50], from http://scholar.lib.vt.edu/theses/<br />

[2] Band, L.E. Extraction of channel networks and topographic parameters from digital elevation data, in<br />

Beven, K.J.; Kirkby, M.J. Channel network hydrology. John Wiley and Sons. 1993.<br />

[3] Band, L.E. Topographic partition of watersheds with digital elevation mo<strong>de</strong>ls, Wat. Resour. Res., 22(1):15–<br />

24. 1986<br />

[4] Band L.E. Distributed parameterization of complex terrain. Surveys in Geophysics 12: 249–270, 1993<br />

[5] Bao, J. Using GIS for Hydrologic Data–Processing and Mo<strong>de</strong>ling in Texas. CRWR Online Report 97-4.<br />

Center for research in water resources. 131 pp., 1997<br />

Available at http://www.ce.utexas.edu/centers/crwr/reports/online.html<br />

[6] Bauer, J.; Roh<strong>de</strong>nburg, H.; Bork, H.-R. Ein Digitales Reliefmo<strong>de</strong>ll als Vorraussetzung fuer ein <strong>de</strong>terministisches<br />

Mo<strong>de</strong>ll <strong>de</strong>r Wasser- und Stoff-Fluess, <strong>La</strong>ndschaftsgenese und <strong>La</strong>ndschaftsoekologie, H.10, Parameteraufbereitung<br />

fuer <strong>de</strong>terministische Gebiets-Wassermo<strong>de</strong>lle, Grundlagenarbeiten zu Analyse von Agrar-<br />

Oekosystemen, (Eds.: Bork, H.-R.; Roh<strong>de</strong>nburg, H.), p.1–15, 1985<br />

[7] Berry, J.K. Fundamental operations in computer–assisted map analysis, International Journal of Geographic<br />

Information Systems, 2, 119–136. 1987<br />

[8] Beven, K.J.; M.J. Kirkby, A physically based, variable <strong>con</strong>tributing area mo<strong>de</strong>l of basin hydrology, Hydrol.<br />

Sci. Bull., 24, 43-69, 1979.<br />

[9]<br />

Bertolo, F Catchment <strong>de</strong>lineation and characterisation: A review, EC–JRC, Space Applications Institute,<br />

(EUR 19563 EN) Ispra (VA), Italy, 36 págs, 2000<br />

Download it free from http://agrienv.jrc.it/publications/pdfs/CatchRev.pdf<br />

[10] Beven, K.J. and Moore, I.D. (eds.) Terrain Analysis and Distributed Mo<strong>de</strong>lling in Hydrology, John Wiley<br />

and Sons, Chichester, UK, 7–34.<br />

[11] Beven, K.J., Kirkby; M.J.; Schoffield, N.; Tagg, A. Testing a Physically–based Flood Forecasting Mo<strong>de</strong>l<br />

(TOPMODEL) for Three UK Catchments, Journal of Hydrology, 69, 119–143, 1984 1995<br />

[12]<br />

[13] Blaszczynski, J. <strong>La</strong>ndform characterization with geographic information systems, Photogrammetric Engineering<br />

and Remote Sensing, Vol. 63, No. 2, pp. 183–191. 1997<br />

[14] Bonham–Carter, G.F. Geographic Information Systems for Geoscientists: Mo<strong>de</strong>ling with GIS, Kidlington,<br />

Elsevier, 398 págs. 1994<br />

[15] Brabyn, L. GIS Analysis of Macro <strong>La</strong>ndform Proceedings of The 10th Annual Colloquium of the Spatial<br />

Information Research Centre. SIRC 98. 1998<br />

[16] Brabyn, L. Classification of macro landforms using GIS. ITC Journal 97: 26–40, 1997<br />

[17] Burrough, P.A.; McDonnell, R.A. Principles of Geographical Information Systems. Oxford University<br />

Press. 333 pp. 1998<br />

341


[18] Burt, T.P.; Butcher, D.P. Topographic <strong>con</strong>trols of soil moisture distributions. Journal of Soil Science 36:<br />

469–486, 1986<br />

[19] Carrara, A.; Bitelli, G.; Carla, R. Comparison of techniques for generating digital terrain mo<strong>de</strong>ls from<br />

<strong>con</strong>tour lines. International Journal of Geographical Information Systems. Vol. 11, no. 5, pp. 451–473.<br />

1997<br />

[20] Carter, J.R. Digital representations of topographic surfaces. Photogrammetric Engineering and Remote<br />

Sensing 54: 1577–1580, 1988<br />

[21] Chairat, S. y Delleur J. W. Effects of the topographic in<strong>de</strong>x distribution on predicted runoff using GRASS.<br />

Water Resources Bulletin 29: 1029–1034. 1993<br />

[22] Chang, K.T.; Tsai, B.W. The effect of DEM resolution on slope and aspect mapping. Cartography and<br />

Geographic Information Systems, Vol. 18, no. 1, pp. 69–77. 1991<br />

[23] Charleux-Demargne J. Qualité <strong>de</strong>s Modèles Numériques <strong>de</strong> Terrain pour l’Hydrologie — Application à la<br />

Caractérisation du Régime <strong>de</strong> Crues <strong>de</strong>s Bassins Versants —. Thèse, Université <strong>de</strong> Marne–la–Vallée, 275<br />

p. 2001<br />

Can be downloa<strong>de</strong>d fromhttp://www.montpellier.cemagref.fr/doc/publications/theses/julie-charleux-<strong>de</strong>margne.html<br />

[24] Chen, H. Object Watershed Link Simulation (OWLS). PhD Dissertation, Oregon State University. 1996<br />

Source co<strong>de</strong> and text downloadable from http://www.hydromo<strong>de</strong>l.com<br />

[25] Chen, H.; Beschta, R.Dynamic Hydrologic Simulation of the Bear Brook Watershed in Maine (BBWM).<br />

Environmental Monitoring and Assessment 55:53–96, 1999<br />

[26] Chorowicz, J.; Ichoku, C.; Riazanoff, S.; Kim, Y.; Cervelle, B. A combined algorithms for automated<br />

drainage network extraction, Wat. Resour. Res., 28(5): 1293–1302. 1992<br />

[27] Chorowicz, J.; Kim, J;Manoussis, S.; Rudant, J.P.; Foin P. et al A new technique for recognition of<br />

geological and geomorphological patterns in digital terrain mo<strong>de</strong>ls, Remote. Sens. Environ. Vol. 29, pp.<br />

229-239., 1989<br />

Clark, I; Harper, W.H. Practical Geostatistics 2000 Ecosse North America Llc, Columbus, Ohio, 442 págs.,<br />

2000<br />

[28] Collins, S.H.M; Moon, G.C. Algorithms for <strong>de</strong>nse digital terrain mo<strong>de</strong>ls. Photogrammetric Engineering<br />

and Remote Sensing 47: 71–76, 1981<br />

[29] Collins F.C.; Bolstad, P.V. A comparison of spatial interpolation techniques in temperature estimation.<br />

Proceedings of Third International Conference/Workshop on Integrating GIS and Environmental Mo<strong>de</strong>lling<br />

CD-ROM. Santa Fe, New Mexico, USA, 1996.<br />

Available at http://www.ncgia.ucsb.edu/<strong>con</strong>f/SANTA FE CD-ROM/sf papers/collins fred/collins.html<br />

[30] Conrad, O. Derivation of Hydrologically Significant Parameters from Digital Terrain Mo<strong>de</strong>ls. PhD Thesis.<br />

Dept. for Physical Geography, University of Göttingen, 1998<br />

Original thesis from the autor of SAGA and DiGeM. Can be downloa<strong>de</strong>d (in German) fromhttp://www.geogr.uni–goettingen.<strong>de</strong>/pg/saga/digem/in<strong>de</strong>x.html<br />

[31] Costa-Cabral, M. C.; Burges,S. J. Digital elevation mo<strong>de</strong>l networks (DEMON): A mo<strong>de</strong>l of flow over<br />

hillslopes for computation of <strong>con</strong>tributing and dispersal areas. Wat. Resour. Res. 30: 1681–92. (1994)<br />

[32] Cowen, J. A proposed method for calculating the LS factor for use with the USLE in a grid–based<br />

environment. Proceedings of the thirteenth annual ESRI user <strong>con</strong>ference, pp. 65–74. 1993 Cressie, N.A.C.<br />

Statistics for Spatial Data, Revised Edition, Wiley Series in Probability and Mathematical Statistics. New<br />

York, Wiley, 1993<br />

[33] Desmet, P.J.J.; Govers, G. Comparison of routing algorithms for digital elevation mo<strong>de</strong>ls and their implications<br />

for predicting ephemeral gullies. International Journal of Geographical Information Systems 10:<br />

311–331, 1996<br />

[34] Desmet, P.J.J.; Govers, G. A GIS procedure for automatically calculating the USLE LS factor on topographically<br />

complex landscape units. Journal of Soil and Water Conservation 51: 427–433, 1996<br />

[35] Desmet, P.J.J.; Govers, G. Comment on “Mo<strong>de</strong>lling topographic potential for erosion and <strong>de</strong>position using<br />

GIS”. International Journal of Geographical Information Science 11: 603–610, 1997<br />

[36] Deursen, W.P.A.; Heil, G.W.; PCRaster. Department of Physical Geography, Utrecht University, Utrecht,<br />

The Netherlands. 1995<br />

Some interesting technical i<strong>de</strong>as an be found at the PCRaster website at http://www.pcraster.nl/<br />

[37] Dietrich, W.E., Wilson, C.J.; Montgomery, D.R.; McKean, J. Analysis of erosion thresholds, channel<br />

networks, and landscape morphology using a digital terrain mo<strong>de</strong>l, J. Geol., 101, 259–278, 1993.


[38] Dikau, R. The application of a digital relief mo<strong>de</strong>l to landform analysis in geomorphology. In Raper, J.(ed.)<br />

Three dimensional application in Geographic Information Systems, pp 51-77. Taylor and Francis. 1989<br />

[39] Dikau, R. Computergestützte geomorphographie und ihre anwendung in <strong>de</strong>r regionalisierung <strong>de</strong>s reliefs.<br />

Petermanns Geographische Mitteilungen, 138:99-114. 1994<br />

[40] Drake, N.A.; Vafeidis, A.; Wainwright, J.; and Zhang, X.; Mo<strong>de</strong>lling soil erosion using remote sensing and<br />

GIS techniques, Proceedings of RSS 95 Remote Sensing in Action, 11-14 September 1995, Southampton,<br />

217–224. 1995<br />

[41] Duan, J.; Miller, N. A generalized power function for the subsurface transmissivity profile in TOPMODEL,<br />

Wat. Resour. Res. 33 (11) 2559–2562. 1997<br />

[42] Dubayah, R.; Rich, P.M. Topographic solar radiation mo<strong>de</strong>ls for GIS. International Journal of Geographical<br />

Information Systems 9: 405–419, 1995<br />

[43] Dubin, A. M.; Lettenmaier, D.P. Assessing the Influence of Digital Elevation Mo<strong>de</strong>l Resolution on Hydrologic<br />

Mo<strong>de</strong>ling, Water Resources Series, Technical Report 159, University of Washington, Seattle. 1999<br />

[44] Dunn, M.; Hickey, R. The effect of slope algorithms on slope estimates within a GIS. Cartography, Vol.<br />

27, no. 1, pp. 9–15 1998<br />

[45] Dymond, J.R.; Derose, R.C.; Harmsworth, G.R. Automated mapping of land components from digital<br />

elevation data. Earth Surface Processes and <strong>La</strong>ndforms 20: 131–137, 1995<br />

[46] Dymond, J. R.; Harmsworth, G.R. Towards automated land resource mapping using digital terrain mo<strong>de</strong>ls,<br />

ITC Journal, Vol. 2, pp. 129–138. 1994<br />

[47] Evans, I. S., General geomorphometry, <strong>de</strong>rivatives of altitu<strong>de</strong>, and <strong>de</strong>scriptive statistics. En Chorley, R. J.<br />

(ed.) Spatial Analysis in Geomorphology, Methuen, London. pp.17-90. 1972<br />

[48] Evans, I.S. An integrated system of terrain analysis and slope mapping, Zeitschrift für Geomorphologie,<br />

N.F. Supplementband, 36, 274–295. 1980<br />

[49] Fairfield, J.; Leymarie P. Drainage networks from grid digital elevation mo<strong>de</strong>ls. Wat. Resour. Res. 27(5):<br />

709–717, 1991<br />

[50] Fedak, R. Effect of Spatial Scale on Hydrologic Mo<strong>de</strong>ling in a Headwater Catchment. Virginia Polytechnic<br />

Institute and State University, 179 págs. 1999<br />

[51] Felicísimo, A. M. Mo<strong>de</strong>los Digitales <strong>de</strong>l Terreno. Introducción y aplicaciones en la Ciencias ambientales.<br />

Oviedo, Pentalfa, 222 págs. 1994<br />

Great reference about terrain analysis. Can be downoa<strong>de</strong>d (in Spanish) from http://www.etsimo.uniovi.es/<br />

˜ feli/<br />

[52] Florinski, I. V. Combined analysis of digital terrain mo<strong>de</strong>ls and remotely sensed data in landscape investigations,<br />

Prog. Phys. Geogr., 22(1), 33–60, 1998.<br />

[53] Florinsky, I. Accuracy of local topographic variables <strong>de</strong>rived from digital elevation mo<strong>de</strong>ls. International<br />

Journal of Geographical Information Science, Vol. 12, no. 1, pp. 47–61. 1998<br />

[54] Fortin, J.P., Moussa R.; Bocquillon C.; Villeneuve, J.P. Hydrotel, un modèle hydrologique distribué pouvant<br />

bénéficier <strong>de</strong>s données fournies par la télédétection et les systèmes d ′ information géographique. Revue<br />

<strong>de</strong>s Sciences <strong>de</strong> l´Eau, 8 : 97–124. 1995<br />

Available at http://www.inrs-eau.uquebec.ca/activites/mo<strong>de</strong>les/hydrotel/fr/accueil.htm<br />

[55] Frances, F.; Benito, J. <strong>La</strong> mo<strong>de</strong>lacion distribuida <strong>con</strong> pocos parámetros <strong>de</strong> las crecidas. Ingeniería <strong>de</strong>l<br />

agua. Vol. 2 N o 4, pp. 7–24, 1995<br />

[56] Franklin, S. Geomorphometric processing of digital elevation mo<strong>de</strong>ls, Computers and Geosciences, Vol. 13,<br />

No. 6, pp. 603–609. 1987<br />

[57] Freeman, T.G. Calculating catchment area with divergent flow based on a regular grid, Computers and<br />

Geosciences, 17(3): 413–422. 1991<br />

[58] Forgy, E. Cluster Analysis of multivariate data: efficiency vs. interpretability of classifications, Biometrics<br />

21:768, 1965<br />

[59] Gao, J. Resolution and accuracy of terrain representation by grid DEMs at a micro–scale. International<br />

Journal of Geographical Information Science. Vol. 11, no. 2, pp. 199–212. 1997<br />

[60] Garbrecht, J,; Martz L.W. Grid size <strong>de</strong>pen<strong>de</strong>ncy of parameters extracted from digital elevation mo<strong>de</strong>ls.<br />

Computers and Geosciences 20: 85–7. 1994<br />

[61] Garbrecht, J.; Martz, L. W. Comment on “A Combined Algorithm for Automated Drainage Network<br />

Extraction” by J. Chorowicz, C. Ichoku, S. Riazanoff, Y. J. Kim, and B. Cervelle, Wat. Resour. Res.,<br />

29(2):535–536, 1993.


[62] Garbrecht, J.; Martz L.W. Network and Subwatershed Parameters Extracted From Digital Elevation<br />

Mo<strong>de</strong>ls: The Bills Creek Experience. Water Resources Bulletin, American Water Resources Association,<br />

29(6):909–916, 1993.<br />

[63] Garbrecht, J.; Martz L.W. y Starks, P.J. Automated Watershed Parameterization from Digital <strong>La</strong>ndscapes:<br />

Capabilities and Limitations. Proceedings of 14th Annual American Geophysical Union Front Range Branch<br />

Hydrology Days, Colorado State University, Fort Collins, Colorado, pp. 123–134, 1994.<br />

[64] Garbrecht, J.; Martz L.W. Digital <strong>La</strong>ndscape Parameterization for Hydrologic Applications. Proceedings of<br />

HydroGIS ’96, International Conference on Application of Geographic Information Systems in Hydrology<br />

and Water Resources Management, Vienna, Austria, IAHS Publication No. 235, pp. 169–173, 1996.<br />

[65] Garbrecht, J.; Martz L.W. Comment on “Digital Elevation Mo<strong>de</strong>l Grid Size, <strong>La</strong>ndscape Representation,<br />

and Hydrologic Simulation” by Weihua Zhang and David R. Montgomery. Wat. Resour. Res., 32(5):1461–<br />

1462, 1996.<br />

[66] Garbrecht, J.; Martz L.W. The Assignment of Drainage Direction over Flat Surfaces in Raster Digital<br />

Elevation Mo<strong>de</strong>ls. Journal of Hydrology, 193:204–213. 1997<br />

[67] Garbrecht, J.; Martz L.W. Automated Channel Or<strong>de</strong>ring and No<strong>de</strong> In<strong>de</strong>xing for Raster Channel Networks.<br />

it Computers and Geosciences, 23(9): 961–966. 1997<br />

[68] Goovarets, P. Performance comparison of geostatistical algorithms for incorporating elevation into the<br />

mapping of precipitation. Journal of Hydrology 228:113–129. 2000<br />

On–line version can be downloa<strong>de</strong>d from http://www.geovista.psu.edu/sites/geocomp99/Gc99/023/gc<br />

023.htm<br />

[69] Gousie, M; Franklin, R. Converting Elevation Contours to a Grid. Proceedings of the Eighth International<br />

Symposium on Spatial Data Handling. pp. 647–656. 1998<br />

Can be downloa<strong>de</strong>d from http://cs.wheatonma.edu/mgousie/<br />

[70] Gousie, M. Contours to Digital Elevation Mo<strong>de</strong>ls: Grid–Based Surface Re<strong>con</strong>struction Methods. PhD thesis,<br />

Rensselaer Polytechnic Institute, 1998.<br />

[71] Gousie, M.; Franklin, W. R. Constructing a DEM from Grid–based Data by Computing Intermediate Contours.<br />

GIS 2003: Proceedings of the Eleventh ACM International Symposium on Advances in Geographic<br />

Information Systems pp. 71–77, New Orleans, 2003<br />

[72] Goward, S., Markham, B., Dye, D., Dulaney, W., and Yang., J. Normalized difference vegetation in<strong>de</strong>x<br />

measurements from the Advanced Very High Resolution Radiometer, Remote Sens. Environ. 35:257-277,<br />

1991<br />

[73] Gutman, G. Vegetation indices from AVHRR: an update and future prospects,Remote Sens. Environ.,<br />

35:121-136, 1991<br />

[74] Gyasi–Agyei, Y., G. Willgoose, and F. P. De Troch, Effects of vertical resolution and map scale of digital<br />

elevation mo<strong>de</strong>ls on geomorphological parameters used in hydrology, Hydrol. Processes, 9, 363–382, 1995.<br />

[75] Hammer, R.D.; Young, F.J.; Wollenhaupt, N.C.; Barney, T.L; Haithcoate, T.W. Slope class maps from<br />

soil survey and digital elevation mo<strong>de</strong>ls, Soil Science Society of America Journal, 59(2), 509–519. 1995.<br />

[76] Helmlinger, K.R.; Kumar, P.; Foufoula–Georgiou, E. On the use of digital elevation mo<strong>de</strong>l data for Hortonian<br />

and fractal analyses of channel networks, Wat. Resour. Res., 29(8), 2599–2613. 1993<br />

[77] Hennrich, K.; Schmidt, J.; Dikau, R. Regionalization of geomorphometric parameters in hydrologic mo<strong>de</strong>lling<br />

using GIS. IAHS Publications.<br />

[78] Hickey, R.; Smith, A.; Jankowski, P. Slope Length Calculations from a DEM within Arc/Info GRID,<br />

Computing, Environment and Urban Systems, Vol. 18, No. 5, pp. 365–380. 1994<br />

[79] Hickey, R. Slope Angle and Slope Length Solutions for GIS. Cartography, Vol. 29, no. 1, pp. 1–8. 2000<br />

[80] Hilditch, C.J., Comparison of thinning algorithms on a parallel processor, Image Vision Comput., vol. 1,<br />

no. 3, pp. 115-132, 1983.<br />

[81] Hjelmfelt, A. T., Jr. Fractals and the river–length catchment–area ratio, Wat. Resour. Bull., 24(2), 455–<br />

459, 1988.<br />

[82] Holmgren, P. Multiple flow direction algorithms for runoff mo<strong>de</strong>lling in grid based elevation mo<strong>de</strong>ls: an<br />

empirical evaluation, Hydrological Processes, 8: 327–334. 1994<br />

[83] Horn, B.K.P. Hill shading and the reflectance map, Proceedings of the I.E.E.E., 69, 14. 1981<br />

[84] Horritt, M. S.; Bates, P. D. Effects of spatial resolution on a raster based mo<strong>de</strong>l of flood flow. Journal of<br />

Hydrology. 253, 239–249. 2001


[85] Horton, R.E., Erosional <strong>de</strong>velopment of streams and their drainage basins: Hydrophysical approach to<br />

quantitative morphology, Bull. Geol. Soc. Am., 56, 275–370, 1945.<br />

[86] Hutchinson, M.F. A new procedure for gridding elevation and stream line data with automatic removal of<br />

spurious pits. Journal of Hydrology, 106, 211–232. 1988.<br />

[87] Hutchinson, M. F. Interpolating mean rainfall using thin plate smoothing splines. International Journal<br />

of Geographical Information Systems 9: 385–403. 1995<br />

[88] Jenson, S.K.; Domingue, J.O. Extracting topographic structure from digital elevation mo<strong>de</strong>l data for<br />

geographic information system analysis. Photogrammetric Engineering and Remote Sensing 54: 1593–1600,<br />

1988<br />

[89] Jenson, S. K. Applications of hydrologic information automatically extracted from Digital Elevation Mo<strong>de</strong>l.<br />

Hydrological Processes Vol. 5, Issue No. 1, pp. 31–44. 1991<br />

[90] Johnson R.D.; Kasischke, E.S. Change vector analysis: a technique for the multispectral monitoring of<br />

land cover and <strong>con</strong>dition. Int. J. Remote Sensing, vol. 19, no. 3, 411-426, 1998.<br />

[91] Jones, J.A.A. The initiation of natural drainage networks. Progress in Physical Geography 11: 205–245,<br />

1987<br />

[92] Jones, K.H. A comparison of eight algorithms used to compute slopes as a local property of the DEM,<br />

Proceedings of the GIS Research UK 1996 Conference, 7–12. 1996.<br />

[93] Julien, P. Y.; Saghafian, B.; Og<strong>de</strong>n, F. L. Raster–based hydrologic mo<strong>de</strong>ling of spatially varied surface<br />

runoff. Water Resources Bulletin 31: 523–536. 1995<br />

[94] Kahn, K.N. a Geographic Information System based spatially distributed rainfall-runoff mo<strong>de</strong>l. M.S Thesis.<br />

University of Pittsburgh.<br />

Available at http://etd.library.pitt.edu/ETD/available/etd-02082002-171103<br />

[95] Kilgore, J. Development and Evaluation of a GIS-Based Spatially Distributed Unit Hydrograph Mo<strong>de</strong>l.<br />

Virginia Polytechnic Institute and State University, 1997<br />

[96] Kumar, L.; Skidmore, A.K.; Knowles, E. Mo<strong>de</strong>lling topographic variation in solar radiation in a GIS<br />

environment. International Journal of Geographical Information Science 11: 475-97, 1997<br />

[97] <strong>La</strong>mmers, R. B.; Band, L. E. Automating object representation of drainage basins. Computers and Geosciences,<br />

16, 787–810. 1990<br />

[98] <strong>La</strong>nfear, K.J. A fast Algorithm for Automatically Computing Strahler Stream Or<strong>de</strong>r. Water Resources<br />

Bulletin, Vol. 26, Num 6, pp. 977–981, 1990<br />

[99] Lea, N. L. An aspect driven kinematic routing algorithm. En Parsons, A. J.; Abrahams, A. D. Overland<br />

Flow: Hydraulics and Erosion Mechanics, New York, Chapman & Hill. 1992<br />

[100] Liang, C.; Mackay, D.S. A general mo<strong>de</strong>l of watershed extraction and representation using globally optimal<br />

flow paths and up–slope <strong>con</strong>tributing areas. International Journal of Geographical Information Science,<br />

14(4), 337–358, 2000 Available along with [102] at http://water.geog.buffalo.edu/ehmg/pubs.html<br />

[101] Lynch, S.D. Converting Point Estimates of Daily Rainfall onto a Rectangular Grid. Proceedings of the<br />

ESRI User Conference 98. 1999.<br />

[102] Mackay, D. S. y Band, L. E. Extraction and representation of nested catchment areas from digital elevation<br />

mo<strong>de</strong>ls in lake–dominated topography. Water Resour. Res. 34: 897–901. 1998<br />

[103] Martínez, V.; Dal–Ré, R.; García, A.I.; Ayuga, F.; Mo<strong>de</strong>lación distribuida <strong>de</strong> la escorrentía superficial<br />

en pequeñas cuencas mediante SIG. Evaluación experimental, Ingenieria Civil No 117, CEDEX Centro <strong>de</strong><br />

Estudios <strong>de</strong> Técnicas Aplicadas, 2000;<br />

[104] Martz, L. W. y Garbrecht, J. Numerical Definition of Drainage Network and Subcatchment Areas from<br />

Digital Elevation Mo<strong>de</strong>ls. Computers and Geosciences, 18(6):747–761, 1992.<br />

[105] Martz, L. W. y Garbrecht, J. DEDNM: A Software System for the Automated Extraction of Channel<br />

Network and Watershed Data from Raster Digital Elevation Mo<strong>de</strong>ls. Proceedings of the Symposium on<br />

Geographic Information Systems in Water Resources, J. M. Harlin and K. J. <strong>La</strong>nfear (Eds.), American<br />

Water Resources Association, Mobile, Alabama, pp. 211–220, 1993.<br />

[106] Martz, L. W. y Garbrecht, J. Automated Extraction of Drainage Network and Watershed Data from<br />

Digital Elevation Mo<strong>de</strong>ls. Water Resources Bulletin, American Water Resources Association, 29(6):901–<br />

908, 1993.<br />

[107] Martz, L. W. y Garbrecht J. Comment on “Automated Recognition of Valley Lines and Drainage Networks<br />

From Grid Digital Elevation Mo<strong>de</strong>ls: A Review and a New Method” by A. Tribe. Journal of Hydrology,<br />

167(1):393–396, 1995.


[108] Martz, L.W.; <strong>de</strong> Jong, E. Catch: A FORTRAN program for measuring catchment area from digital<br />

elevation mo<strong>de</strong>ls, Computers and Geosciences, 14(5): 627–640. 1988<br />

[109] Martz, L.W. and Garbrecht, J. An outlet breaching algorithm for the treatment of closed <strong>de</strong>pressions in<br />

a raster DEM. Computers and Geosciences 25, 835–844. 1999<br />

[110] Martz, L.W.; Garbrecht, J.The treatment of flat areas and closed <strong>de</strong>pressions in automated drainage<br />

analysis of raster digital elevation mo<strong>de</strong>ls. Hydrological Processes 12, 843–855. 1998<br />

[111] Mark, D.M. Automated <strong>de</strong>tection of drainage networks from digital elevation mo<strong>de</strong>ls, Cartographica,<br />

21(2/3): 168–178. 1984<br />

[112] Marks, D.; Dozier, J.; Frew, J. Automated Basin Delineation From Digital Elevation Data. Geo. Processing,<br />

2: 299–311. 1984<br />

[113] McCool, D.K.; Foster, G.R.; Mutchler, C.K.; Meyer, L.D. Revised slope length factor for the Universal<br />

Soil Loss Equation. Trans. ASAE, 32, 1571–1576. 1989<br />

[114] Mitasova, H.; Hofierka, J. ; Zlocha, M. y Iverson, L. R. Mo<strong>de</strong>ling topographic potential for erosion and<br />

<strong>de</strong>position using GIS. International Journal of Geographical Information Systems 10: 629–41. 1996<br />

[115] Mitasova, H.; Mitas, L. Multiscale soil erosion simulations for land use management. En Harmon, R.;<br />

Doe, W. (eds.) <strong>La</strong>ndscape erosion and landscape evolution mo<strong>de</strong>ling. Kluwer Aca<strong>de</strong>mic/Plenum Publishers,<br />

pp. 321–347. 2001<br />

[116] Montgomery, D.R.; W.E. Dietrich, Where do channels begin?, Nature, 336, 232–234, 1988.<br />

[117] Montgomery, D.R.; W.E. Dietrich, Source areas, drainage <strong>de</strong>nsity, and channel initiation, Water Resour.<br />

Res., 25, 1907–1918, 1989.<br />

[118] Montgomery, D.R.; W.E. Dietrich, Channel initiation and the problem of landscape scale, Science, 255,<br />

826–830, 1992.<br />

[119] Montgomery, D.R.; Foufoula–Georgiou, E. Channel network source representation using digital elevation<br />

mo<strong>de</strong>ls, Wat, Resour. Res., 29(12), 3925–3934. 1993.<br />

[120] Monmonier, M.S. Measures of Pattern Complexity for Choropleth Maps, The American Cartographer, 1,<br />

2, 159-169. 1974.<br />

[121] Moore, I.D.; Burch, G.J. Sediment transport capacity of sheet and rill flow: Application of unit stream<br />

power theory. Wat. Resour. Res. 22: 1350–1356, 1986<br />

[122] Moore, I.D. and Burch, G.J. Physical basis of the length–slope factor in the Universal Soil Loss Equation.<br />

Soil Science Society of America Journal 50: 1294–1298, 1986<br />

[123] Moore, I.D.; Burch, G.J. Mo<strong>de</strong>lling erosion and <strong>de</strong>position: Topographic effects. Transactions of the<br />

American Society of Agricultural Engineers 29: 1624–1630, 1640. 1986<br />

[124] Moore, I.D.; Nieber, J.L. <strong>La</strong>ndscape assessment of soil erosion and non–point source pollution. Journal<br />

of the Minnesota Aca<strong>de</strong>my of Science 55: 18–25. 1991<br />

[125] Moore, I.D. and Wilson, J.P. Length–slope factors for the Revised Universal Soil Loss Equation: Simplified<br />

method of estimation. Journal of Soil and Water Conservation 47: 423–428. 1992<br />

[126] Moore, I.D.; Lewis, A.; Gallant, J.C. Terrain attributes: Estimation methods and scale effects. En Jakeman,<br />

A.J.; Beck, M.B.; McAleer, M.J. (eds.) Mo<strong>de</strong>lling Change in Environmental Systems. New York,<br />

NY, John Wiley and Sons: 189–214, 1993<br />

[127] Moore, I. D.; Grayson, R. B.; <strong>La</strong>dson, A. R. Digital terrain mo<strong>de</strong>lling: a review of hydrological, geomorphological,<br />

and biological applications. Hydrological Processes, 5(3):3–30. 1991<br />

[128] Moore, I.D.; Wilson, J.P. Length–slope factors for the Revised Universal Soil Loss Equation: Simplified<br />

method of estimation. J. Soil and Water Cons. 47(5):423–428. 1992<br />

[129] Morillo, J.; Pozo, J.; Pérez, F.; Rodríguez, M.C.; Rebollo, F.J. Análisis <strong>de</strong> calidad <strong>de</strong> un mo<strong>de</strong>lo digital<br />

<strong>de</strong> elevaciones generado <strong>con</strong> distintas técnicas <strong>de</strong> interpolación. Actas <strong>de</strong>l XIV Congreso Internacional <strong>de</strong><br />

Ingeniería Gráfica Santan<strong>de</strong>r, España, 2002<br />

[130] Murphy, D.L. Estimating Neighborhood Variability with a Binary Comparison Matrix, Photogrammetric<br />

Engineering and Remote Sensing, 51, 6, 667-674. 1985.<br />

[131] O’Callaghan, J. F. y Mark D.M. The extraction of drainage networks from digital elevation data. Computer<br />

Vision, Graphics and Image Processing 28: 323–44. 1984<br />

[132] Olaya, V. Integración <strong>de</strong> mo<strong>de</strong>los computacionales geomorfológicos hidrologicos y selvicolas para el <strong>de</strong>sarrollo<br />

<strong>de</strong> soluciones SIG específicas en hidrología forestal <strong>de</strong> pequeñas y medianas cuencas vertientes.<br />

Proyecto Fin <strong>de</strong> Carrera, Universidad Politécnica <strong>de</strong> Madrid, Madrid, 813 págs, 2002


[133] . Perry, C.R. Jr.; L.F. <strong>La</strong>utenschlager. Functional equivalence of spectral vegetation indices. Remote Sens.<br />

Environ. 14:169-182, 1984.<br />

[134] Peuker, T.K.; Douglas, D.H. Detection of surface–specific points by parallel processing of discrete terrain<br />

elevation data, Computer Graphics and Image Processing, Vol.4, No.4, 375–387, 1975<br />

[135] Pilesjo, P.; Zhou, Q., A multiple flow direction algorithm and its use for hydrological mo<strong>de</strong>lling, Geoinformatics’96<br />

Proceedings, 26-28 Abril, West Palm Beach, FL, 2: 366–376. 1996<br />

[136] Pilesjo, P.; Zhou, Q.; Harrie, L. Estimating flow distribution over digital elevation mo<strong>de</strong>ls using a formbased<br />

algorithm. Geographical Information Sciences, 4(1-2), pp 44–51. 1998<br />

[137] Pilotti, M.; Gandolfi, C.; Bischetti, G.B. I<strong>de</strong>ntification and analysis of natural channel networks from<br />

digital elevation mo<strong>de</strong>ls, Earth Surface Processes and <strong>La</strong>ndforms, 21: 1007–1020. 1996<br />

[138] Planchon, O.; Darboux, F. A fast, simple and versatile algorithm to fill the <strong>de</strong>pressions of digital elevation<br />

mo<strong>de</strong>ls, Catena, Vol. 46, pp. 159–176, 2001<br />

[139] Qian, J.; Ehrich, R.W.; Campbell, J.B., DNESYS — An expert system for automatic extraction of<br />

drainage networks from digital elevation data —, IEEE Transactions on Geoscience and Remote Sensing,<br />

28(1): 29–45. 1996<br />

[140] Quinn, P.F.; Beven, K.J.;<strong>La</strong>mb, R.; The ln(a/ tan β) in<strong>de</strong>x: how to calculate it and how to use it within<br />

the TOPMODEL framework, Hydrological Processes, 9:161–182. 1995<br />

[141] Quinn, P.F.; Beven, K.J.; Chevallier, P.; Planchon, O.; The prediction of hillslope flow paths for distributed<br />

hydrological mo<strong>de</strong>lling using digital terrain mo<strong>de</strong>ls, Hydrological Processes, 5: 59–79. 1991<br />

[142] Richardson, A. J. & Wiegand, C. L. Distinguishing vegetation from soil background information. Photogr.<br />

E. R. 43: 1541-1552. 1977.<br />

[143] Rieger, W., Automated river line and catchment area extraction from DEM data, Proceedings of 17th<br />

Congress of ISPRS, 2-14 August, Washington, D.C., B4: 642–649. 1992<br />

[144] Robinson, G. J. The accuracy of digital elevation mo<strong>de</strong>ls <strong>de</strong>rived from digitised <strong>con</strong>tour data, Photogramm.<br />

Rec., 14(83), 805–814, 1994<br />

[145] Rubin, J. Optimal Classification into Groups: An Approach for Solving the Taxonomy Problem, J. Theoretical<br />

Biology, 15:103-144, 1967<br />

[146] Saghafian, B.; Julien, P.Y.; Rajaie, H. Runoff hydrograph simulation based on time variable isochrone<br />

technique Journal of Hydrology, 261 (1–4) pp. 193-203, 2002<br />

[147] Srivastava A. Comparison of two algorithms for removing <strong>de</strong>pressions and <strong>de</strong>lineating flow networks for<br />

grid digital elevation mo<strong>de</strong>ls. Virginia Polytechnic Institute and State University, 132 págs. 2000<br />

[148] Star, J,; Estes, J, Geographic Information Systems. Prentice Hall, Englewood Cliffs, New Jersey, 1990<br />

[149] Strahler, A. N. Quantitative analysis of watershed geomorphology. EOS Trans. Agu. 38. 912–920<br />

[150] Tabios G.Q.M; Salas, J.D. A comparative analysis of techniques for spatial interpolation of precipitation.<br />

Water Resour. Bull., 365–380. 1985 bibitemtarboton4 Tarboton, D. G. A new method for the <strong>de</strong>termination<br />

of flow directions and upslope areas in grid digital elevation mo<strong>de</strong>ls. Water Resour. Res. 33: 309–319. 1997<br />

The original article about the D∞ method. Can be downloa<strong>de</strong>d from http://www.engineering.usu.edu/cee/faculty/dtarb/<br />

along with other articles by the same author.<br />

[151] Tarboton, D.G.; Bras, R.L.; Rodriguez—Iturbe, I. On the extraction of channel networks from digital<br />

elevation data. Hydrological Processes, Vol.5, 81–100, 1991<br />

[152] Tarboton, D.G.; Shankar, U. (1998), The I<strong>de</strong>ntification and Mapping of Flow Networks from Digital<br />

Elevation Data, Invited Presentation at AGU Fall Meeting, San Francisco, 1998<br />

[153] Tarboton, D.G.; Ames, D. P. Advances in the mapping of flow networks from digital elevation data,<br />

World Water and Environmental Resources Congress, Orlando, Florida, ASCE. 2001<br />

[154] Tarboton, D.G. Terrain Analysis Using Digital Elevation Mo<strong>de</strong>ls in Hydrology, 23rd ESRI International<br />

Users Conference, San Diego, California, 2003<br />

[155] Tribe, A. Automated recognition of valley lines and drainage networks from grid digital elevation mo<strong>de</strong>ls:<br />

a review and a new method. Journal of Hydrology, 139: 263–293. 1992<br />

[156] Tribe, A. Automated recognition of valley heads from digital elevation data, Earth Surface Processes and<br />

<strong>La</strong>ndforms, Vol.16, 33–49, 1991<br />

[157] Tribe, A. Towards the automated recognition of landforms (valley heads) from digital elevation mo<strong>de</strong>ls,<br />

Proc. of the 4th Intern. Symposium on Spatial Data Handling, 45–52, 1990


[158] Turcotte, R.; Fortin, J.–P.; Rousseau, A.N.; Massicotte, S.; Villeneuve, J.–P. Determination of the drainage<br />

structure of a watershed using a digital elevation mo<strong>de</strong>l and a digital river and lake network. Journal<br />

of Hydrology, 240(3-4):225-242. 2001<br />

[159] Turner, M.G. <strong>La</strong>ndscape Ecology: The Effect of Pattern on Process, Annu. Rev. Ecol. Syst., 20, 171-197.<br />

1989.<br />

[160] United States Geological Survey. Digital Elevation Mo<strong>de</strong>ls: Data Users Gui<strong>de</strong>. Reston, VA, United States<br />

Geological Survey, 1993<br />

[161] United States Geological Survey. A Bibliography of Terrain Mo<strong>de</strong>ling (Geomorphometry), the Quantitative<br />

Representation of Topography — Supplement 4. United States Geological Survey, 157 págs., 2001<br />

A huge collection of more than 1600 references. Available at http://geopubs.wr.usgs.gov/open-file/of02-<br />

465/<br />

[162] Van Remortel, R.; Hamilton, R.; Hickey, R. Estimating the LS factor for RUSLE through iterative slope<br />

length processing of digital elevation data. Cartography, Vol. 30, no. 1, pp. 27–35. 2001<br />

[163] Walker, J.P.; Willgoose, G.R. On the effect of DEM accuracy on hydrology and geomorphology mo<strong>de</strong>ls,<br />

Wat. Resour. Res., 35(7), 2259–2268. 1998<br />

[164] Wilson, J.P.; Gallant, J.C. (eds.) Terrain Analysis: Principles and Applications. New York, NY, John<br />

Wiley and Sons, 2000<br />

[165] Wilson, J.P. Estimating the topographic factor in the universal soil loss equation for watersheds. Journal<br />

of Soil and Water Conservation, 41, 179–184. 1986<br />

[166] Wise, S.M. The effect of GIS interpolation errors on the use of DEMs in geomorphology. En <strong>La</strong>ne, S.N.;<br />

Richards, K.S.; Chandler, J.H. (eds.) <strong>La</strong>ndform Monitoring, Mo<strong>de</strong>lling and Analysis. Wiley, Chichester.<br />

139-164, 1998<br />

[167] Wise S.M. Assessing the quality for hyrdological applications of digital elevation mo<strong>de</strong>ls <strong>de</strong>rived from<br />

<strong>con</strong>tours. Hydrological Processes 14, 1909-1929, 2000<br />

[168] Wolock, D.M.; McCabe Jr., G.J. Comparison of single and multiple flow direction algorithms for computing<br />

[169] Wood, J. The geomorphological characterisation of digital elevation mo<strong>de</strong>ls. PhD Thesis. Department of<br />

Geography, University of Leicester. Leicester, UK. 1996.<br />

Can be downloa<strong>de</strong>d from http://www.geog.le.ac.uk/jwo/research/<strong>de</strong>m char/thesis/in<strong>de</strong>x.html<br />

Knowledge is of two kinds. We know a subject ourselves, or we know where we can find information on it.<br />

SAMUEL JOHNSON


Índice alfabético<br />

Áreas <strong>de</strong> influencia<br />

según umbral, 104<br />

Índice <strong>de</strong> <strong>con</strong>vergencia, 132<br />

Documentos PDF, 190<br />

Añadir coor<strong>de</strong>nadas a puntos, 221<br />

Añadir entidad, 60<br />

Añadir nueva parte, 58<br />

Añadir posición, 73<br />

Acumulación <strong>de</strong> flujo, 142, 196<br />

Agregar, 96<br />

AHP, 283<br />

Ajustar a extensión <strong>con</strong> datos válidos, 100<br />

Ajustar función, 233<br />

Ajustar N puntos en polígono, 225<br />

Ajustar rampa <strong>de</strong> colores, 63<br />

Altura <strong>de</strong> llama, 271<br />

Altura media aguas arriba, 143<br />

Ampliar capa <strong>de</strong> puntos mediante grids, 204<br />

Análisis completo, 192<br />

Análisis <strong>de</strong> agregados, 290<br />

Análisis <strong>de</strong> flujo D8, 137, 146<br />

Análisis <strong>de</strong> patrones, 301<br />

Análisis <strong>de</strong> riesgos, 266<br />

Análisis <strong>de</strong>l Terreno<br />

Morfometría local, 19<br />

Análisis residual, 245<br />

Anaglifos, 74<br />

Ancho <strong>de</strong>l marco <strong>de</strong> coor<strong>de</strong>nadas, 65<br />

Anidar funciones, 86<br />

API, 5<br />

ArcGIS, 1, 6, 47, 214<br />

Archivos<br />

abrir, 10<br />

ArcView, 1, 13, 214<br />

vista <strong>de</strong>, 13<br />

Area aguas abajo, 149<br />

Area aguas arriba, 147<br />

Area aportante, 139, 142, 153, 154, 165<br />

Area aportante específica, 153<br />

Area planimétrica, 181<br />

Area real, 181<br />

Asignar tabla a capa vectorial, 212<br />

Aumentar alcance visual, 74<br />

349<br />

Aumentar exageración, 71<br />

Aviso sonoro, 21<br />

Balance neto, 168<br />

BEHAVE, 267<br />

Berry, J., 182<br />

bertolo, 341<br />

Buscaminas, 314<br />

Buscar en tabla <strong>de</strong> atributos, 208<br />

C++, 321<br />

Caché <strong>de</strong> archivos, 25<br />

Calado <strong>de</strong> flujo, 165<br />

Calculadora <strong>de</strong> mapas, 83, 105, 111, 218, 275<br />

Calculadora <strong>de</strong> tablas<br />

tablas <strong>de</strong> atributos, 213<br />

Calicatas, 170<br />

Cambiar formato <strong>de</strong> almacenamiento, 88, 158, 264<br />

Cambiar orientación, 89<br />

Capa <strong>de</strong> valor extremo, 280<br />

Capacidad <strong>de</strong> campo, 169<br />

Capacidad <strong>de</strong> retención <strong>de</strong> agua, 169<br />

Capas<br />

raster<br />

abrir, 10<br />

representación, 23<br />

vectorial<br />

abrir, 10<br />

color <strong>de</strong> bor<strong>de</strong>, 52<br />

crear, 60, 206<br />

edición, 55<br />

guardar, 55<br />

jerarquía, 55<br />

relleno, 51<br />

representación, 48<br />

selección, 15, 53<br />

Capas vectoriales<br />

unir, 211<br />

Celdas sin datos, 25<br />

Centroi<strong>de</strong>s, 220<br />

Change Vector Analysis, CVA, 300<br />

Clark, 342<br />

Clasificación cruzada, 303<br />

Clasificación supervisada, 296<br />

Clusters, 290


Codificación <strong>de</strong> direcciones <strong>de</strong> flujo, 157<br />

Color, 27<br />

Color <strong>de</strong> fondo, 72<br />

Color Graduado, 28<br />

Color graduado, 30<br />

Combinar grids, 115, 218<br />

Completar grid, 263<br />

completar grid, 102<br />

Composición RGB, 310<br />

Compresión RTL, 25<br />

Conectividad <strong>de</strong> flujo, 138<br />

<strong>con</strong>servar formato <strong>de</strong> almacenamiento, 95<br />

Consulta, 207<br />

Consulta <strong>de</strong> valores, 308<br />

Contaminación <strong>de</strong> bor<strong>de</strong>, 146<br />

Contar puntos en polígono, 226<br />

Convolución, 81<br />

Copia, 90<br />

Cortar grid, 97, 100, 194<br />

Crear capa <strong>de</strong> gráficos (sectores/barras), 230<br />

Crear capa <strong>de</strong> puntos equidistantes a partir <strong>de</strong> líneas,<br />

222<br />

Crear grid <strong>de</strong> valor <strong>con</strong>stante, 111<br />

Crear malla <strong>de</strong> puntos, 223, 224<br />

Crear retícula, 225<br />

Crear tabla <strong>de</strong> asignación, 50, 236<br />

cressie, 342<br />

CSV, 125<br />

Cuencas, 157<br />

Cuencas vertientes, 201<br />

Curvas <strong>de</strong> nivel, 199<br />

Curvatura<br />

horizontal, 130<br />

vertical, 130<br />

D inf, 140<br />

D8, 140, 145, 148, 161, 168, 172<br />

dBase, 233<br />

Definición <strong>de</strong> flujo en <strong>de</strong>presiones, 136<br />

DEMON, 140<br />

Descripción(pestaña), 18<br />

Desplazar(herramienta), 16<br />

Desvincular tabla <strong>de</strong> capa vectorial, 236<br />

Detección <strong>de</strong> bor<strong>de</strong>s, 78<br />

Diagramas, 44<br />

<strong>de</strong> puntos, 39, 46<br />

Diferencia altitudinal <strong>con</strong> la red <strong>de</strong> drenaje, 161<br />

DiGeM, 11<br />

Dimensión fractal <strong>de</strong> una superficie, 304<br />

Dirección <strong>de</strong> flujo, 138<br />

Dirección <strong>de</strong> flujo forzada, 136, 141<br />

Disminuir alcance visual, 74<br />

Disminuir distancia en perspectiva, 71<br />

Disminuir exageración, 71<br />

Distancia <strong>de</strong> flujo, 144<br />

Distancia <strong>de</strong> flujo a red <strong>de</strong> drenaje, 160<br />

distancia Inversa, 240<br />

Distancias <strong>de</strong> flujo, 151<br />

Documentos PDF, 188, 216<br />

DWVK, 169<br />

Editar entidad seleccionada, 59<br />

Editar posiciones, 73<br />

Eliminacion <strong>de</strong> Ruido, 76<br />

Eliminar <strong>de</strong>presiones, 136<br />

Eliminar parte seleccionada, 59<br />

Eliminar punto seleccionado, 58<br />

Eliminar todas las posiciones, 73<br />

Eliminar ultima posición, 73<br />

Enlace automático (snap), 59<br />

distancia <strong>de</strong>, 59<br />

Enumerar atributo, 236<br />

Enviar al fondo, 17<br />

ESRI, 119<br />

Estadísticas <strong>de</strong> grid en polígonos, 204<br />

Estadísticas <strong>de</strong> puntos en polígonos, 249<br />

Estadísticas para grids, 247<br />

Estadísticas zonales, 248<br />

ETP, 174<br />

Exportar capa vectorial, 124<br />

Exportar raster, 123<br />

Extensión <strong>de</strong> grid, 40<br />

Factor LS, 154, 168<br />

Factor para escala logarítmica, 30<br />

Factor Z, 24, 129, 143, 259<br />

Familias <strong>de</strong> planos, 65<br />

FD8, 140, 148<br />

Filtrar agregados por número <strong>de</strong> celdas, 283<br />

Filtro<br />

<strong>de</strong>tección <strong>de</strong> bor<strong>de</strong>s, 78<br />

gaussiano, 79<br />

laplaciano, 80<br />

multidireccional <strong>de</strong> Lee, 80<br />

realce, 78<br />

suavizado, 78<br />

Filtros, 75<br />

matriz, núcleo <strong>de</strong> <strong>análisis</strong>, 81<br />

paso alto, 82<br />

paso bajo, 82<br />

Prewitt, 82<br />

simple, 76<br />

Sobel, 82<br />

Firma espectral, 294<br />

Formas <strong>de</strong>l terreno, 134<br />

Fuente, 48<br />

Función (crear grid a partir <strong>de</strong>), 107, 118, 145<br />

Función <strong>de</strong> miembro, 277<br />

Garmin, 125<br />

GDAL, 120<br />

Generación <strong>de</strong> relieve, 109<br />

Geoestadística, 239, 244<br />

Georreferenciar, 287<br />

GPL, 2<br />

GPSBabel, 124<br />

GPX2SHP, 124<br />

Gradiente, 196<br />

GRASS, 1<br />

Grid a tabla <strong>de</strong> puntos, 205, 210<br />

Grids a partir <strong>de</strong> grid clasificado y tabla, 310<br />

Guardar un mapa como una imagen, 64<br />

Hill–climbing, 290


Hipsometría, 133<br />

Histograma, 36, 129<br />

acumulado, 38<br />

<strong>con</strong>vertir a tabla, 38<br />

Humedad <strong>de</strong> suelo, 169<br />

IDRISI, 2<br />

Importar capa vectorial, 122<br />

Importar datos meteorológicos, 125<br />

Importar grids, 119<br />

Importar imagen, 311<br />

Indice <strong>de</strong> agregación, 302<br />

Indice <strong>de</strong> potencia <strong>de</strong> cauce, 153<br />

Indice <strong>de</strong> prioridad, 270<br />

Indice <strong>de</strong> protección, 182<br />

Indice topográfico, 153, 174<br />

Indices <strong>de</strong> vegetación, 297<br />

Indices Topográficos, 152<br />

Intensidad <strong>de</strong> llama, 271<br />

Interpolación<br />

en pantalla, 26<br />

Interpolar colores, 72<br />

Intersección <strong>de</strong> polígonos, 218<br />

Inventario Forestal Español, 223<br />

Invertir, 90<br />

Isocronas, 312<br />

Isolineas, 200<br />

Jerarquías analíticas, 283<br />

KRA, 140<br />

Kriging, 242<br />

ordinario, 242<br />

universal, 243<br />

Lógica difusa, 277<br />

intersección, 280<br />

unión, 280<br />

Líneas<br />

simplificar, 229<br />

Líneas a polígonos, 222<br />

<strong>La</strong>ndsat, 295<br />

Leaf Area In<strong>de</strong>x, LAI, 297<br />

Leyenda(pestaña), 18<br />

Linex, 2<br />

Linux, 3, 321<br />

Longitud <strong>de</strong> flujo, 151<br />

Longitud <strong>de</strong> pendiente, 151<br />

Máscaras, 116<br />

Módulos<br />

abrir librería <strong>de</strong>, 19<br />

ayuda <strong>con</strong>textual, 20, 339<br />

cargar, 18<br />

<strong>de</strong>scargar, 18<br />

estructura modular, 18<br />

interactivos, 288<br />

menú, 19<br />

pestaña, 18, 21<br />

Magellan, 125<br />

Makefiles, 321<br />

Man<strong>de</strong>lbrot, 314<br />

Manejo <strong>de</strong> memoria, 25<br />

Mapa(Representación), 13<br />

MDT, 13, 16, 26, 27, 32, 76, 127, 142, 155, 165, 168,<br />

174, 181, 188, 191, 193, 196, 200, 205, 233,<br />

244, 258, 267, 281, 303, 309<br />

Medición <strong>de</strong> distancias, 64<br />

MFD, 145, 161<br />

MinGW, 321<br />

Modificar valor <strong>de</strong> una celda, 308<br />

Modo <strong>de</strong> representación<br />

lineal, 30<br />

logarítmico, 30<br />

Modulos<br />

interactivos, 97, 166<br />

Morfometría Local, 128, 138, 143<br />

Morfometría local, 319<br />

Mostrar Bor<strong>de</strong>s, 62<br />

Mostrar Capa, 13<br />

Mostrar en función <strong>de</strong> la escala, 33<br />

Mostrar histograma, 36<br />

Mostrar leyenda, 24<br />

Mostrar Puntos, 62<br />

Mostrar siempre, 33<br />

Mostrar valores <strong>de</strong> celdas, 33<br />

Motor <strong>de</strong> documentación, 190<br />

Mover hacia abajo, 17<br />

Mover hacia arriba, 17<br />

Multiple Flow Direction(MFD), 139<br />

Número <strong>de</strong> clases, 28<br />

Número <strong>de</strong> Curva, 112, 164<br />

Número <strong>de</strong> Manning, 164, 171<br />

NDVI, 298<br />

Newton–Raphson, 314<br />

Nombre <strong>de</strong> capa, 24<br />

Normalizar, 83<br />

Normalizar grid, 278<br />

Nueva capa <strong>con</strong> entida<strong>de</strong>s seleccionadas, 209<br />

Or<strong>de</strong>n <strong>de</strong> representación, 17<br />

Or<strong>de</strong>n <strong>de</strong> Strahler, 166<br />

Or<strong>de</strong>nar grid, 281<br />

Orientación, 129, 259<br />

Orientación media aguas arriba, 144<br />

Parámetros<br />

abrir, 19<br />

archivo <strong>de</strong>, 318<br />

archivos <strong>de</strong>, 19<br />

guardar, 19<br />

ventana <strong>de</strong>, 19<br />

Pendiente, 128, 258<br />

Pendiente media aguas arriba, 143<br />

Perfiles, 183<br />

a partir <strong>de</strong> coor<strong>de</strong>nadas, 186<br />

según línea <strong>de</strong> flujo, 186<br />

según linea <strong>de</strong> flujo, 261<br />

simple, 184<br />

Photoshop, 105<br />

Polígonos a PDF, 217<br />

Polígonos <strong>de</strong> Thiessen, 241, 257, 263<br />

Polares a rectangulares, 260


Poligonos a líneas, 222<br />

Por vecindad, 241, 257<br />

Probabilidad base, 268<br />

Probabilidad compuesta, 268<br />

Procesado paralelo, 141<br />

Procesado recursivo, 141<br />

Proj4, 285<br />

Propieda<strong>de</strong>s geométricas <strong>de</strong> polígonos, 221<br />

Proyectos<br />

abrir, 12<br />

crear, 12<br />

guardar, 12<br />

Radiación solar, 177<br />

Radio <strong>de</strong> variaza, 251<br />

Rampa <strong>de</strong> color<br />

<strong>con</strong>figurar, 29<br />

pre<strong>de</strong>finidas, 29<br />

Rango <strong>de</strong> valores, 36<br />

Rasterizar capa vectorial, 201, 239<br />

Ray tracing, 176<br />

Reclasificar, 90, 92, 114<br />

Recoger puntos, 287<br />

Rectangulares a polares, 260<br />

Red <strong>de</strong> Drenaje, 167<br />

Red <strong>de</strong> drenaje, 155, 160, 201, 318<br />

Redon<strong>de</strong>ar valor <strong>de</strong> escala, 67<br />

Reescalar, 93<br />

Reestablecer, 35<br />

Reflejar, 90<br />

Regresión, 252<br />

<strong>de</strong>talles <strong>de</strong> la, 41<br />

diagramas <strong>de</strong> puntos, 39<br />

ecuación <strong>de</strong>, 41<br />

múltiple, 252<br />

mostrar curva <strong>de</strong>, 41<br />

Rellenar datos, 101<br />

Remuestrear, 93, 96, 103, 194<br />

Representación<br />

Clasificación <strong>de</strong> colores, 27<br />

clasificación <strong>de</strong> colores, 50<br />

etiquetas, 48<br />

tamaño, 49<br />

valores, 33<br />

Representatividad, 250<br />

Reproducir bucle, 73<br />

Reproducir una vez, 73<br />

Reproyectar una capa vectorial, 228<br />

Resumen, 214<br />

RGB, 27, 310<br />

Rho8, 140, 145, 150<br />

Riesgo, 269<br />

Rotar tabla, 237<br />

Rugosidad <strong>de</strong>l relieve, 182<br />

Ruta <strong>de</strong> mínimo coste, 255, 261<br />

Símbolo único, 27<br />

SAGA, 2, 11<br />

Secciones transversales, 187<br />

Selección <strong>de</strong> entida<strong>de</strong>s vectoriales, 15, 53<br />

Selección(herramienta), 15<br />

Seleccionar celdas, 35<br />

Seleccionar usando capa, 208<br />

Seleccionar(herramienta), 98<br />

Semivarianzas, 244<br />

Series temporales, 300, 313<br />

Shapefile, 11, 233<br />

shapefile, 119<br />

Simplificar líneas, 189, 229<br />

Simulación, 266, 270<br />

simulación flujo en la<strong>de</strong>ra, 172<br />

Sincronizar extensión <strong>de</strong> mapas, 63<br />

Single Flow Direction(SFD), 139<br />

Sintetizar, 291<br />

Sinuosidad, 167<br />

Skeletonize, 291<br />

Sombreado, 27, 31<br />

Sombreado analítico, 176<br />

sombreado <strong>con</strong> fuente <strong>de</strong> luz <strong>de</strong>finida, 179<br />

SRTM30, 120<br />

Superficie <strong>de</strong> coste acumulado<br />

anisotrópica, 256<br />

isotrópica, 256<br />

Surfer, 120<br />

SVG, 68<br />

Tabla<br />

Añadir fila, 44<br />

abrir, 43<br />

crear, 44<br />

editar, 43<br />

Eliminar fila, 44<br />

eliminar todas las filas, 44<br />

Insertar fila, 44<br />

Tablas<br />

añadir fila, 32<br />

abrir, 10<br />

eliminar fila, 32<br />

eliminar todas las filas, 32<br />

insertar fila, 32<br />

Tamaño <strong>de</strong> agregación, 97<br />

Tamaño <strong>de</strong> papel, 67<br />

Tamaño en pantalla, 48<br />

Tamaño en unida<strong>de</strong>s <strong>de</strong> mapa, 48<br />

Tamaño fijo, 48<br />

Teselación <strong>de</strong> Voronoi, 241<br />

The Gimp, 105<br />

Tiempos <strong>de</strong> salida (Isocronas), 162<br />

velocidad <strong>con</strong>stante, 162<br />

velocidad variable, 163<br />

TIN, 10, 61, 193<br />

abrir, 10<br />

Convertir, 195<br />

crear, 194<br />

representación, 61<br />

TOPMODEL, 152, 173<br />

Traer al frente, 17<br />

Transformar entida<strong>de</strong>s, 227<br />

Transmisividad, 152<br />

Transparencia, 26, 33<br />

Trazado <strong>de</strong> flujo, 141<br />

Unida<strong>de</strong>s, 24<br />

Unir capas, 211, 224


Unir grids, 98<br />

USGS, 285<br />

USLE, 151, 154<br />

UTM, 286<br />

Variables <strong>de</strong> entorno, 316<br />

Vecino más cercano, 95<br />

Vectorizar grid, 200<br />

Ventana <strong>de</strong> <strong>análisis</strong>, 77<br />

Ver vista completa, 16<br />

Visible, 295<br />

Vista 3D, 262<br />

secuenciador, 73<br />

Vista(Representación <strong>de</strong> Mapa)<br />

<strong>con</strong>figurar, 17<br />

Vistas 3D, 69<br />

guardar, 73<br />

Volúmenes, 191<br />

Voltear, 90<br />

Windows, 3<br />

Zonas <strong>de</strong> entrenamiento, 294<br />

Zonas <strong>de</strong> influencia<br />

simples, 102<br />

Zoom(herramienta), 16, 37

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!