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
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