Qgis 2018
Qgis 2018
Qgis 2018
QGIS Project
06 de February de 2018
Contents
1 Introducción al Curso 1
1.1 Preámbulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Preparando los Datos de los Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Module: El Interfaz 11
2.1 Una Breve Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Lesson: Añadiendo tu primera capa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Lesson: Una vista general de la interfaz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8 Rasters 207
8.1 Lesson: Trabajando con Datos Ráster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
8.2 Lesson: Cambiando la Simbología Ráster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
8.3 Lesson: Análisis del Terreno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
i
9.4 Lesson: Ejercicio Suplementario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
ii
18.11 Calculadora vectorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
18.12 Definir Extensiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
18.13 salidas en HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
18.14 Primer ejemplo de análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
18.15 Cortando y uniendo capas raster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
18.16 Análisis hidrológico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
18.17 Iniciando con el modelador gráfico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
18.18 Modelos más complejos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
18.19 Cálculos numéricos en el modelador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
18.20 Un modelo dentro de un modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
18.21 Using modeler-only tools for creating a model . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
18.22 Interpolación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
18.23 Más de interpolación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
18.24 Ejecución iterativa de algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
18.25 Ejecución más iterativa de algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
18.26 La interfaz de procesamiento por lote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
18.27 Modelos en la interfaz de procesamiento por lote . . . . . . . . . . . . . . . . . . . . . . . . . . 565
18.28 Pre y post-ejecución de la secuencia de comandos hooks . . . . . . . . . . . . . . . . . . . . . . 566
18.29 Otros programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
18.30 Interpolacion y contorneo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
18.31 Simplificación y suavizado vectorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
18.32 La planificación de un parque solar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
18.33 Usar lineas de codigo R en Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
18.34 R Sintaxis en los scripts de processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
18.35 R Syntax Summary table for Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
18.36 Predicción de deslizamientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
iii
21.15 Results For Construcion de geometría . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
21.16 Results For Modelo de características simples . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
iv
CHAPTER 1
Introducción al Curso
1.1 Preámbulo
1.1.1 Antencedentes
En 2008 lanzamos Introducción ligera a SIG, completamente gratuito, un recurso de contenido abierto para la
gente que desee aprender de SIG sin agobiarse con una nueva jerga de nueva terminología. Este fue patrocinado
por el gobierno Sudafricano y ha sido un fenomenal éxito, con gente alrededor del mundo escribiéndonos para
contarnos como utilizan los materiales para dar cursos universitarios, enseñarles SIG y otros. La introducción
ligera no es un tutorial de software sino que más bien es un texto genérico (aunque utilicemos QGIS en todos
los ejemplos) para cualquiera aprendiendo sobre SIG. También esta el manual de QGIS que proporciona una
detallada descripción de la aplicación. Sin embargo, no está estructurado como un tutorial más bien como una
guía de referencia. En Linfiniti Consulting CC. frecuentemente impartimos cursos de capacitación y nos hemos
dado cuenta y hemos dado que un tercer recurso es necesario - uno que lleva al lector secuencialmente a través del
aprendizaje de los aspectos clave de QGIS en un formato formador-estudiante que lleva a producir este trabajo.
Este manual de capacitación pretende proveer todos los materiales necesarios para un curso de 5 dias sobre QGIS,
PostgreSQL y PostGIS. El curso está estructurado en contenidos para ajustarse a usuarios con nivel principiante,
intermedio y avanzado, y tiene muchos ejercicios con respuestas comentadas a lo largo del texto.
1.1.2 Licencia
El manual de capacitación de Quantum GIS libre por Linfiniti Consulting CC esta bajo una licencia de Linfiniti
y esta licenciado bajo un Creative Commons Attribution 4.0 International. Los permisos más allá del alcance de
esta licencia pueden estar disponibles a continuación.
Hemos publicado este manual de capacitación para QGIS bajo una licencia liberal que te permite copiar, modificar
y redistribuir libremente esta obra. Una versión completa de la licencia está disponible al final de este documento.
En simples términos, las directrices de uso son las siguientes:
• No puedes presentar esta obra como tuya, o eliminar ninguno de los textos o créditos de autoria de esta obra.
• No puedes redistribuir esta obra bajo una licencia con permisos más restrictivos que los permisos con los
que la obra se ofrece.
• Si añades partes significativas a la obra y estas revierten en el proyecto (al menos un módulo completo)
puedes añadir tu nombre al final de l lista de autores de este documento (que aparecerá en la portada).
• Si aportas cambios menores y correcciones, puedes añadirte a la lista de contribuidores más abajo.
• Si traduces este documento en su totalidad, puedes añadir tu nombre a la lista de autores en la forma de
“Traducido por Joe Bloggs”.
1
QGIS Training Manual, Publicación 2.18
• Si no estás seguro sobre lo que puedes hacer dentro de los términos de esta licencia, por favor, ponte en
contacto con office@linfiniti.com y te aconsejaremos sobre si lo que pretendes hacer es aceptable.
• Si se publica este trabajo en un sitio de publicación de uno mismo como http://lulu.com, requerimos que se
done los beneficios al proyecto QGIS.
• Esta obra no puede ser comercializada excepto con el permiso expreso de los autores. Para ser claros,
por comercialización nos referimos a que no puedes venderla para beneficiarte, crear obras comerciales
derivadas de esta obra (por ej. vender contenido para su uso en articulos en revistas). La única excepción
es si todos los beneficios son donados al proyecto QGIS. Sí puedes (y te animamos a ello) utilizar esta obra
como libro de texto para dar cursos de capacitación, incluso en el caso de que el curso es de naturaleza
comercial. En otras palabras, se te anima a hacer dinero organizando cursos de capacitación que utilizan
esta obra como libro de texto, pero no puedes beneficiarte de la venta del libro - cuyos beneficios deberían
ser contribuidos a QGIS:
Esta obra no es en ningún caso un tratado completo de todas las cosas que puedes hacer con QGIS y animamos a
otros a añadir materiales para cubrir cualquier laguna. Linfiniti Consulting CC. puede crear materiales adicionales
para ti como un servicio comercial, con el entendimiento de que tales trabajos deberán convertirse en parte del
contenido principal y serán publicados bajo la misma licencia.
1.1.4 Autores
• Rüdiger Thiede (rudi@linfiniti.com) - Rudi ha escrito los materiales de instrucción de QGIS y parte de los
materiales de PostGIS.
• Tim Sutton (tim@linfiniti.com) - Tim ha supervisado y guiado el proyecto y es co-autor de las partes sobre
PostgreSQL y PostGIS. Tim es también el autor del tema spinx personalizado que es utilizado en este
manual.
• Horst Düster (horst.duester@kappasys.ch ) - Horst es co-autor de las partes sobre PostgreSQL y PostGIS.
• Marcelle Sutton (marcelle@linfiniti.com) - Marcelle se ha encargado de revisar el texto y ha proporcionado
consejo editorial durante la creación de esta obra.
1.1.6 Patrocinadores
1.1.7 Datos
Nota: Los datos de ejemplo utilizados en todo el manual pueden ser descargados aquí:
https://github.com/qgis/QGIS-Training-Data/archive/QGIS-Training-Data-v1.0.zip. Puede guardar los archivos
en una carpeta llamada exercise_data.
Los datos de muestra que acompañan este material están disponibles gratuitamente y proceden de las siguientes
fuentes:
• Conjuntos de datos de Calles y Lugares de OpenStreetMap (http://www.openstreetmap.org/)
• Límites de propiedades (urbanas y rurales), zonas acuáticas de NGI (http://www.ngi.gov.za/)
• SRTM DEM del CGIAR-CGI (http://srtm.csi.cgiar.org/)
The source of this document is available at GitHub QGIS Documentation repository. Consult GitHub.com for
instructions on how to use the git version control system.
Despite our efforts, you could find some errors or miss some information while following this training. Please
report them at https://github.com/qgis/QGIS-Documentation/issues.
Se puede obtener siempre la última versión de este documento al visitar la versión en linea que es parte del sitio
web de la documentación de QGIS (http://docs.qgis.org).
Nota: Hay enlaces para versiones en linea y PDF de la documentación y manuales de capacitación.
Los datos de muestra proporcionados con el Manual de Capacitación están relacionados con la ciudad de Swellen-
dam y sus alrededores. Swellendam se encuentra a alrededor de 2 horas al este de Ciudad del Cabo en el Cabo
Oeste de Sudáfrica. El conjunto de datos contiene nombres de elementos tanto en inglés como en afrikáans.
Cualquier persona puede utilizar este conjunto de datos sin dificultad, pero puede ser que prefieras usar datos de
tu propio país o ciudad natal. Si eliges esa opción, tus datos localizados se utilizarán en todas las lecciones desde
el Módulo 3 al Módulo 7.2. Los módulos siguientes utilizan fuentes de datos más complejas que puede que estén
disponibles para tu región o puede que no.
Nota: Este procedimiento está dirigido a organizadores de cursos o a usuarios con más experiencia en QGIS
que deseen crear conjuntos de datos de muestra localizados para sus cursos. Un conjunto de datos generales
es distribuido con el Manual de Capacitación, pero puedes seguir estas instrucciones si quieres reemplazar el
conjunto de datos que viene por defecto.
Nota: Los datos de ejemplo utilizados en todo el manual pueden ser descargados aquí:
https://github.com/qgis/QGIS-Training-Data/archive/QGIS-Training-Data-v1.0.zip. Puede guardar los archivos
en una carpeta llamada exercise_data.
Nota: Estas instrucciones asumen que tienes un buen conocimiento de QGIS y no tienen la intención de ser
utilizadas como material de enseñanza.
Si deseas reemplazar el conjunto de datos con datos localizados para tu curso, esto puede hacerse fácilmente con
herramientas incluidas en QGIS. La región que elijas utilizar debería tener una buena mezcla de zonas urbanas y
rurales, incluyendo carreteras de distinto nivel, zonas delimitadas (como reservas naturales, cultivos) y elementos
acuáticos, como arroyos y ríos.
• Abre un nuevo proyecto de QGIS
• In the Vector menu dropdown, select OpenStreetMap → Download Data. You can then manually enter the
co-ordinates of the region you wish to use, or you can use an existing layer to set the co-ordinates.
• Elige donde guardar el archivo .osm resultante y haz click en Aceptar:
• Entonces puedes abrir el archivo .osm utilizando el botón Añadir Capa Vectorial. Puede que necesites
seleccionar Todos los archivos en la ventana del explorador. Como alternativa, puedes arrastrar el archivo
dentro de la ventana de QGIS.
• En el cuadro de diálogo que se abre, selecciona todas las capas, excepto las capas de kbd:other_relations y
multilinestrings:
This will load three layers into your map which relate to OSM’s nam-
Zoom Full
ing conventions (you may need to to see the vector data).
Necesitamos extraer los datos útiles de estas capas, renombrarlas y crear los correspondientes archivos shape:
• Primero, haz doble clic en la capa multipolygons para abrir el diálogo Propiedades de la capa.
• En la pestaña General, haz clic en Constructor de Consultas para abrir la ventana del Constructor de Con-
sultas.
Esta capa contiene tres campos cuyos datos datos tendremos que extraer para utilizar durante todo el Manual de
Capacitación:
• building
• natural (especificamente, zonas acuáticas)
• landuse
Puedes revisar los datos dentro de tu región para ver que tipos de resultados pueden puedes sacar de tu región. Si
encuentras que “landuse” no contiene resultados, puedes excluirla.
Necesitarás escribir expresiones de filtrado para cada campo para extraer los datos que necesitamos. Utilizaremos
el campo “building” como ejemplo aquí:
• Introduce la siguiente expresión en el área de texto: building != "NULL" y haz clic en click Probar
para ver cuantos resultados dará la consulta. Si el número de resultados es pequeño, puede ser que quieras
mirar en la Tabla de Atributos de la capa para ver que es lo que los datos OSM han producido para tu región:
• Haz clic en Aceptar y verás que los elementos de la capa que no son “buildings” (construcciones) se han
quitado del mapa.
Ahora necesitamos guardar los datos resultantes como un archivo shape para que lo puedas usar durante tu curso:
• Haz clic derecho en la capa multipolygons y selecciona Guardar como...
• Asegurate de que el tipo de archivo es ESRI Shapefile y guardalo en tu nueva carpeta
exercise_data, en una carpeta llamada “epsg4326”.
• Asegurate de que Sin simbología está seleccionado (añadiremos simbología como parte del curso más ade-
lante).
• También puedes seleccionar Añadir archivo guardado al mapa.
Una vez que la capa buildings ha sido añadida al mapa, puedes repetir el proceso para los campos natural y
Nota: ¡Asegúrate de que limpias el filtro previo (en el diálogo guilabel:Propiedades de la capa) de la capa the
multipolygons layer antes de seguir con la siguiente expresión de filtro!
Lo importante es que tengas 6 capas que correspondan con las mostradas arriba y que todas esas capas tengan
algunos datos.
El último paso es crear un archivo spatiallite a partir de la capa landuse para utilizar durante el curso:
• Haz clic derecho en la capa landuse y selecciona Guardar como...
• Selecciona SpatialLite como el formato y guarda el archivo como kbd:landuse en la carpeta “epsg4326”.
• Haz clic en Aceptar.
• Borra el archivo landuse.shp y otros que estén relaciondos con el (si fueron creados).
Para el Módulo 6 (Creación de Datos Vectoriales) y el Módulo 8 (Rasters), necesitarás tambien imágines raster
(SRTM DEM) que cubran la región que has seleccionado para tu curso.
El CGIAR-CGI (http://srtm.csi.cgiar.org/) proporciona algunos SRTM DEM que puede descargar desde
http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp.
You’ll need images which cover the entire region you have chosen to use. If you kept same data as the training
manual, you can use the extent shown in the figure_set_osm_region figure above, otherwise adapt your extent.
Keep the GeoTiff format. Once the form is filled, click on the Click here to Begin Search >> button and
download the file(s).
Una vez que haya descargado los archivo(s) necesarios, se deberán guardar en el directorio exercise_data,
bajo las subcarpetas raster/SRTM.
En el módulo 6, lección 1.2 muestra imagenes en primer plano de las tres campos de deportes escolares que los
estudiantes pidieron digitalizar. Por lo tanto, tendrá que reproducir estas imagenes usando su nuevo archivo tiff
del SRTM DEM. No es obligatorio usar los campos de deportes escolares: cualquier tipo de uso de suelo de las
escuelas puede ser utilizado (ej. diferentes construcciones escolares, parques infantiles o estacionamientos).
Como referencia, las imágenes en los datos de ejemplo son:
Habiendo creado tu conjunto de datos localizado, el paso final es sustituir los tokens en el archivo conf.py, de
modo que los nombres apropiados aparezcan en tu versión localizada del Manual de Capacitación.
Los tokens que tienes que sustituir son los siguientes:
• majorUrbanName: por defecto es “Swellendam”. Sustituyelo por el nombre de una ciudad importante
en tu región.
• schoolAreaType1: por defecto es “athletics field”. Sustituyelo por el nombre del tipo de zona escolar
en tu región.
• largeLandUseArea: por defecto es “Bontebok National Park”. Sustituyelo por el nombre de un polí-
gono grande de uso del suelo en tu región.
• srtmFileName: este es predeterminado a srtm_41_19.tif. Reemplazar este con el nombre de
archivo de su SRTM DEM.
• localCRS: este predeterminado WGS 84 / UTM 34S. Debe reemplazar este con el CRS correcto de su
región.
Module: El Interfaz
¡Bienvenido a nuestro curso! En los proximos dias, te enseñaremos como usar QGIS facil y eficientemente. Si
eres nuevo en SIG, te diremos qué necesitas para empezar. Si eres un usuario con experiencia, verás como QGIS
cumple todas las funciones que esperas de un programa SIG, ¡y más!
En éste módulo introducimos el propio QGIS, además de explicar la interfaz de usuario.
Después de completar ésta sección, serás capaz de identificar correctamente los elementos básicos de la pantalla
de QGIS y sabrás qué hace cada uno, y cargar un shapefile dentro de QGIS.
Advertencia: Éste curso incluye introducciones para añadir, borrar y alterar bases de datos del SIG. Hemos
proporcionado bases de datos de entrenamiento para éste propósito. Antes de usar técnicas descritas aquí en
tus propios datos, siempre asegúrate de que tienes los backups adecuados!
Cualquier texto con esta apariencia se refiere a algo en la pantalla en lo que puedes clicar.
El texto que se ve → como → ésto te dirige a través de los menus.
Éste tipo de texto se refiere a algo que tú puedes escribir, como un comando, ruta de acceso, o nombre
de archivo.
Éste curso sirve para distintos niveles de usuario. Dependiendo de la categoría en la que consideres que estás,
puedes esperar un set diferente de resultados. Cada categoria contiene información esencial para la siguiente, así
que es importante hacer todos los ejercicios que están en o por debajo de tu nivel de experiencia.
Básico
En ésta categoría, el curso asume que tienes poca o ninguna experiencia anterior con conocimiento teorico de SIG
o de operaciones con programas SIG.
Una limitada base teórica te será proporcionada para explicarte el propósito de la acción que vayas a llevar a cabo
en el programa, con énfasis de aprender haciendo.
Cuando completes el curso, tendrás un concepto de las posibilidades del SIG mejorado, y cómo aprovechar su
poder a través de QGIS.
11
QGIS Training Manual, Publicación 2.18
Intermedio
En ésta categoría, se asume que tienes conocimientos y experiencia en el uso diario de SIG.
Seguir las instruciones para el nivel principiante te proporcionará una base familiar, así como te informará de casos
en los que QGIS funciona de forma algo diferente a otros softwares que hayas podido usar. También aprenderás
como utilizar las funciones de análisis con QGIS.
Cuando completes el curso, deberías utilizar QGIS de forma cómoda en todas las funciones que necesitas de un
GIS para el uso diario.
Avanzado
En ésta categoría, se asume que tienes conocimiento y experiencia en SIG y bases de datos espaciales, utilizando
datos en un servidor remoto, quizás escribiendo scripts para fines analíticos, etc.
Siguiendo las instrucciones para los otros dos niveles te familiarizará con el enfoque que el interfaz QGIS sigue, y
asegurará que sabes como aceder a las funciones básicas que necesitas. También te enseñará como utilizar sistema
de plugins de QGIS, acceso a bases de datos y mucho más.
Cuando completes el curso, deberías estar bien informado de las operaciones diarias del QGIS, así como sus
funciones más avanzadas.
Como la información se vuelve cada vez más espacialmente consciente, no hay escasez de herramientas capaces
de satisfacer algunas o incluso todas las funciones utilizadas en SIG. ¿Por qué debería uno utilizar QGIS en lugar
de otros paquetes de software de GIS?.
Aquí hay solo algunas de las razones:
• Es gratis. Instalando y utilizando QGIS te cuesta la total cantidad de cero dinero. Sin cuota inicial, ni cargo
fijo, nada.
• Es libre. Si necesitas más funciones en QGIS, puedes hacer más que esperar a que sean incluidas en la
siguiente versión. Puedes patrocinar el desarrollo de la función, o añadirla tu mismo si estás familiarizado
con programación.
• Está en constante desarrollo. Porque cualquiera puede añadir nuevas funciones y mejorar las ya existentes,
QGIS nunca se estanca. El desarrollo de una nueva herramienta puede ocurrir tan rápidamente como tu lo
necesitas.
• Extensa ayuda y documentación está disponible. Si te estancas con cualquier cosa, puedes ayudarte con la
extensa documentación, tus compañeros de QGIS, o incluso en los promotores.
• Multiplataforma. QGIS puede ser instalado en MacOS, Windows y Linux.
Ahora que sabes por qué quieres usar QGIS, te podemos enseñar cómo. La primera lección te guiará para crear tu
primer mapa QGIS.
Iniciaremos la aplicación, y crearemos un mapa básico para utilizar los ejemplos y ejercicios.
El objetivo de esta misión: Empezar con un mapa de ejemplo.
Nota: Antes de comenzar este ejercicio, QGIS debe estar instalado en su computadora. También, descargue el
archivo training_manual_exercise_data.zip desde Zona de descarga de datos de QGIS.
Inicia QGIS desde su acceso directo en el escritorio, menú, etc., dependiendo de como hayas configurado su
instalación.
Nota: Las capturas de pantalla para este curso se tomaron utilizando QGIS 2.0 en MacOS. Dependiendo de tu
instalación, las pantallas que encontrarás puede que sean algo diferentes. Sin embargo, los mismos botones estarán
disponibles, y las instrucciones funcionarán en cualquier SO. Necesitarás QGIS 2.0 (la versión más reciente al
momento de la escritura) para usar este curso.
2.2.2 In Conclusion
Ahora te has familiarizado con la función del botón Añadir Capa Vectorial, pero ¿Qué pasa con todas las otras?
¿Cómo funciona la interfaz? Antes de continuar con cosas mas complicadas, primero echemos un buen vistazo a
la disposición general de la interfaz QGIS. Este es el tema de la siguiente lección.
Exploraremos la interfaz de usuario de QGIS, de forma que se familiarice con los menús, barras de herramientas,
lienzo del mapa y lista de capas, que forman la estructura básica de la interfaz.
El objetivo de esta lección: Entender los fundamentos de la interfaz de usuario de QGIS.
La lista de capas
En la lista de capas puede ver una lista, en cualquier momento, de todas las capas que están disponibles.
Expandiendo los elementos colapsados (haciendo clic en la flecha o símbolo más a su lado) se obtiene más infor-
mación sobre el aspecto actual de la capa.
Un clic derecho sobre una capa mostrará un menú con muchas opciones extra. ¡Pronto estará usando algunas de
ellas, así que écheles un vistazo!
Algunas versiones de QGIS tienen una casilla Controlar orden de renderizado justo debajo de la lista de capas.
No se preocupe si no la ve. Si está presente asegúrese de que está marcada por el momento.
Nota: Una capa vectorial es un conjunto de datos, normalmente de un tipo específico de objetos, tales como
carreteras, árboles, etc. Una capa vectorial puede consistir en puntos, líneas o polígonos.
El panel de exploración
El explorador de QGIS es un panel que le permite navegar fácilmente por su base de datos. Puede acceder a
archivos vectoriales comunes (ej. archivos shape de ESRI o MapInfo), bases de datos (ej. PostGIS, Oracle,
Spatialite o MYSQL Spatial) y conexiones WMS/WFS. También puede ver sus datos de GRASS.
Barras de herramientas
Sus conjuntos de herramientas más utilizadas se pueden convertir en barras de herramientas para un acceso más
rápido. Por ejemplo, la barra de herramientas Archivo le permite guardar, abrir, imprimir e iniciar un nuevo
proyecto. Puede fácilmente personalizar la interfaz para ver sólo las herramientas que use más a menudo, aña-
diendo o eliminando barras de herramientas según necesite mediante el menú Configuración → Barras de her-
ramientas.
Incluso si no son visibles en una barra de herramientas, todas sus herramientas estan disponibles a través de los
menús. Por ejemplo, si elimina la barra de herramientas Archivo (que contiene el botón Guardar), aún podrá
guardar su mapa al hacer clic en el menú Proyecto y luego en Guardar.
La barra de estado
Muestra información sobre el mapa actual. También le permite ajustar la escala del mapa y ver las coordenadas
del cursor del ratón en el mapa.
Trate de identificar los cuatro elementos listados arriba en su pantalla, sin referirse al diagrama de arriba. Vea si
puede identificar sus nombres y funciones. Se familiarizará más con estos elementos a medida que los use en los
próximos días
Compruebe sus resultados
Trate de encontrar cada una de estas herramientas en su pantalla. ¿Para qué sirven?
1.
2.
3.
4.
5.
Nota: Si alguna de estas herramientas no está visible en su pantalla, pruebe activando algunas barras de her-
ramientas que estén actualmente ocultas. Tenga también presente que si no hay espacio suficiente en la pantalla
una barra de herramientas se puede acortar ocultando alguna de sus herramientas. Puede ver las herramientas
ocultas haciendo clic en el botón con una flecha derecha en cualquier barra de herramientas que se encuentre co-
lapsada. Puede ver un consejo con el nombre de cualquier herramienta manteniendo el ratón sobre la herramienta
un instante.
Ahora que ha visto como funciona la interfaz de QGIS puede usar las herramientas disponibles y comenzar a
mejorar su mapa. Este es el tema de la siguiente lección.
En este módulo, crearás un mapa básico, que se utilizará más tarde como la base para más demostraciones de las
funcionalidades de QGIS.
Los datos vectoriales son posiblemente el tipo más común de los datos que se encuentran en el uso diario de
los SIG. En él se describen los datos geográficos en términos de puntos, que se puede conectar a las líneas y
polígonos. Cada objeto en un conjunto de datos de vectores se llama una característica, y se asocia con los datos
que describe esa característica.
El objetivo de esta lección. Aprender acerca de la estructura de los datos vectoriales, y cómo cargar un conjunto
de datos vectoriales dentro de un mapa.
Es importante saber que los datos con los que estarás trabajando no solo representan dónde están los objetos
espacialmente, sino también te dicen qué son esos objetos.
Desde el ejercicio anterior, deberías tener la capa roads cargada en tu mapa. Lo que puedes ver ahora mismo no
es más que la posición de las calles.
Para ver todos los datos disponibles para ti, con la capa roads seleccionada en el panel Capas:
• Clica en el botón:
Te mostrará una tabla con mas datos sobre la capa roads. Estos datos extra se llaman capa de atributos. Las lineas
que puedes ver en tu mapa representan donde van las calles; esto son datos espaciales.
Estas definiciones se usan comúnmente en SIG, ¡por eso es esencial recordarlas!
• Ahora puedes cerrar la capa de atributos.
Los datos vectoriales representan características en términos de puntos, lineas y polígonos en un plano de coorde-
nadas. Esto es usado normalmente para guardar características discretas, como calles y bloques de una ciudad.
El Archivo Shape es un formato específico de archivo que te permite guardar datos SIG en grupos de archivos
asociados. Cada capa consiste en muchos archivos con el mismo nombre, pero diferentes tipos de archivo. Los
Archivos Shape son faciles de enviar de un lado a otro, y la mayoría de los software SIG pueden leerlos.
17
QGIS Training Manual, Publicación 2.18
Regresa al ejercicio introductorio en la sección previa para instrucciones sobre cómo añadir una capa vectorial.
Cargar los datos establecidos desde la carpeta epsg4326 en su mapa siguiendo el mismo método:
• “lugares”
• “agua”
• “ríos”
• “construcciones”
Comprueba tus resultados
Los conjuntos de datos te permiten guardar un gran volumen de datos asociados en un archivo. Puede que te
resulte familiar un sistema de manejo de conjuntos de datos (SMCD) como Microsoft Acces. Las aplicaciones
SIG pueden también utilizar conjuntos de datos. SIG-específicos SMCD (como PostGIS) tienen funciones extra,
ya que necesitan manejar datos espaciales.
Nota: ¡Recuerda guardar el mapa a menudo! El archivo del mapa no contiene ninguno de los datos directamente,
pero recuerda qué capas cargaste dentro de tu mapa.
Las capas en tu lista de Capas están dibujadas en el mapa en cierto orden. La capa de abajo de la lista está dibujada
primero, y la capa de la parte superior de la lista es la última dibujada. Cambiando el orden de la lista, puedes
cambiar el orden en el que dibujan en el mapa.
Nota: Dependiendo de la versión de QGIS que estés usando, puede que tengas una casilla de verificación por
debajo de tu lista de Capas leyendo Control rendering order. Esto dede ser comprobado (activado) para mover las
capas arriba y abajo en la lista de Capas para traerlas al frente o enviarlas atrás en el mapa. Si la versión de QGIS
no tiene esa opción, entonces estará activada por defecto y no tendrás que preocuparte por ello.
El orden en el que las capas se han cargado en el mapa probablemente no sea lógico en este punto. Es posible que
la capa calles esté completamente escondida porque otras capas estén por encima de ella.
Por ejemplo, este orden de capas...
... podría resultar en calles y sitios escondidos ya que se ejecutan por debajo de áreas urbanas.
Para resolver este problema:
• Clica y arrastra sobre una capa en la lista de Capas.
• Reordena las capas para que queden así:
Verás que el mapa ahora tiene más sentido visual, con calles y construcciones apareciendo sobre las regiones del
territorio.
3.1.5 In Conclusion
Ahora has añadido todas las capas que necesitas desde muchas fuentes diferentes.
Utilizando la paleta aleatoria asignada automáticamente cuando cargas las capas, tus mapas actuales probable-
mente no sean fáciles de leer. Sería preferible asignar tu propia elección de colores y símbolos. Esto es lo que
aprenderás a hacer en la siguiente lección.
La simbología de una capa es su apariencia visual en el mapa. La fortaleza básica del SIG sobre otras formas de
representación de datos espaciales es que con el SIG, puedes obtener una representación visual dinámica de los
datos con los que estás trabajando.
Además, la apariencia visual del mapa (la cual depende de la simbología de las capas individuales) es muy im-
portante. El usuario final de los mapas que tú produces necesitará ver lo que el mapa representa con facilidad. De
la misma forma, necesitarás ser capaz de explorar los datos con los que trabajas, y una buena simbología ayuda
mucho.
En otras palabras, tener una buena simbología no es solo un lujo o simplemente bonito. De hecho, es esencial para
ti usar el SIG adecuadamente y producir mapas e información que la gente pueda usar.
El objetivo de esta lección: Ser capaz de crear cualquier simbología que quieras para una capa vectorial.
Para cambiar la simbología de una capa, abre su Propiedades de la capa. Empieza cambiando el color de la
landuse layer.
• Clic derecho en la capa landuse en la lista de capas.
• Selecciona Propiedades en el menú que aparece.
Nota: Por defecto, también puedes acceder a las propiedades de la capa con doble clic en la capa en la lista de
capas.
En la ventana de Propiedades:
• Selecciona la pestaña Estilo en el extremo izquierdo:
De momento está bien, pero hay más simbología en una capa además del color. Lo siguiente que queremos es
eliminar las líneas entre las diferentes áreas de uso para que el mapa no esté tan visualmente desordenado.
• Abre la ventana Propiedades de la capa para la capa landuse.
Bajo la pestaña Estilo, verás el mismo tipo de diálogo que antes. Esta vez, sin embargo, harás más que cambiar
rápidamente el color.
• En el panel Capas de símbolos, expande el desplegable Fill (si es necesario) y selecciona la opción Relleno
sencillo:
• Clic en el desplegable Estilo de borde. En este momento, debería mostrar una corta linea y las palabras
Línea sólida.
• Cámbialo a Sin plumilla.
• Clic en Aceptar.
Ahora la capa landuse no tendrá ninguna linea entre áreas.
• Cambia la simbología de la capa water otra vez para que tenga un trazado externo azul oscuro.
• Cambia la simbología de la capa rivers para una representación más sensible de las vías fluviales.
Comprueba tus resultados
Algunas veces encontraras que una capa no es adecuada para una escala dada. Por ejemplo, un conjunto de datos
de todos los continentes puede tener pocos detalles, y no ser muy preciso a nivel de calles. Cuando esto ocurre,
quieres ser capaz de ocultar el conjunto de datos a escalas inapropiadas.
En nuestro caso, puede que decidamos ocultar las construcciones vistas a pequeñas escalas. Este mapa, por
ejemplo...
Nota: Puedes usar la rueda de tu ratón para ampliar o disminuir el zoom. También puedes utilizar las herramientas
de zoom para ampliar a una ventana:
Ahora sabes como cambiar la simbología simple de capas, el siguiente paso es crear simbología más compleja.
QGIS te permite hacer esto utilizando capas de símbolos.
• Regrese al panel de propiedades de símbolos landuse (haga clic Relleno sencillo en el panel Capas de
símbolos).
En este ejemplo, los símbolos actuales no tienen contorno (es decir, usan el estilo de borde No Pen)
Seleciona Fill en el panel Capas de símbolos. Después clic en el botón Añadir capa de símbolos:
(Por ejemplo, puede que aparezca de diferente color, pero tú vas a cambiarlo de todos modos.)
Ahora hay una segunda capa de símbolos. Siendo un color sólido, por supuesto esto ocultará completamente el
anterior tipo de símbolo. Además, tiene el estilo de borde Línea sólida, lo que no queremos. Claramente este
símbolo tiene que ser cambiado.
Nota: Es importante no confundirse entre una capa de mapa y una capa de símbolos. Una capa de mapa es un
vector (o raster) que ha sido cargada dentro del mapa. Una capa de símbolos es parte de un símbolo utilizado para
representar una capa del mapa. Este curso se referirá por lo general a capas del mapa como una capa, pero una
capa de símbolos siempre será llamada capa de símbolos, para prevenir confusión.
• Clic en Aceptar. Ahora puedes ver tus resultados y ajustarlos como necesites.
Puedes incluso añadir múltiples capas de símbolos extra y crear un nuevo tipo de textura para tu capa de este
modo.
¡Es divertido! Pero probablemente tenga demasiados colores para usar en el mapa real...
• Recordando ampliar si es necesario, crea una textura simple para la capa buildings utilizando los métodos
anteriores.
Comprueba tus resultados
Cuando las capas de símbolos están representadas, también están representadas en una secuencia, similar a la
forma en la que diferentes capas del mapa se representan.
• Dale a la capa roads una capa símbolo extra (utilizando el método para añadir capas símbolo demostrado
anteriormente).
• Dale a la linea base un Ancho de borde de 0.3, color blanco y selecciona Línea de guiones del menú
desplegable Estilo de borde.
• Dale a la nueva capa superior un grosor de 1.3 y asegúrate de que es un Línea sólida.
Notarás que ocurre esto:
Selecciona Activar niveles de símbolos. Puedes ajustar entonces el orden de capa de cada símbolo introduciendo
el número de nivel correspondiente. 0 es la capa del fondo.
En nuestro caso, queremos revertir el orden, como esto:
También nota que los puntos de intersección de las calles ahora están “unidos”, por lo que una calle no está
representada por encima de otra.
Cuando hayas terminado, recuerda guardar el símbolo para no perder tu trabajo si lo vuelves a cambiar en el
futuro. Puedes guardar tu actual estilo de símbolo con clic en el botón Guardar estilo bajo la pestaña Estilo del
cuadro de diálogo Propiedades de la capa. Generalmente, deberias guardar como Archivo de estilo de capa de
QGIS.
Guarda tu estilo en exercise_data/styles. Puedes cargar estilos guardados previamente en cualquier
momento con clic en el botón Cargar estilo.... Antes de cambiar un estilo, ten en mente que cualquier estilo no
guardado que reemplaces se perderá.
Los niveles de símbolos funcionan para diferentes capas (es decir, capas conteniendo múltiples símbolos). Como
todavía no hemos cubierto la clasificación, trabajarás con algunos datos preclasificados rudimentarios.
• Crea un nuevo mapa y añade solamente el conjunto de datos roads.
• Aplica el estilo advanced_levels_demo.qml facilitado en exercise_data/styles.
• Amplia el área Swellendam.
• Utilizando capas de símbolos, asegúrate que los contornos de las capas fluyen unos dentro de los otros como
en la imagen siguiente:
Además de ajustar los colores de relleno y usar patrones predefinidos, puedes utilizar diferentes tipos de capas
de símbolos. El único tipo que hemos estado usando hasta ahora ha sido el tipo Relleno sencillo. Las capas de
símbolos más avanzadas te permiten personalizar tus símbolos incluso más.
Cada tipo de vector (punto, linea y polígono) tiene su propio conjunto de tipos de capas de símbolos. Primero
veremos los tipos disponibles para puntos.
• Se puede acceder a los distintos tipos de capa símbolo seleccionando la capa Marcador sencillo en el panel
Capas de símbolos, al hacer clic en la lista desplegable Tipo de capa del símbolo:
• Investiga las diversas opciones disponibles para ti, y elige un símbolo con el estilo que creas apropiado.
• Si tienes dudas, utiliza Marcador sencillo redondeado con un borde blanco y un relleno verde pálido, con
un Tamaño de 3,00 y un Estilo de línea exterior de 0.5.
• Selecciona la capa Marcador sencillo en el panel Capas de símbolos. Cambia las propiedades del símbolo
para que coincida con el cuadro de diálogo siguiente:
• Ensure that the symbol levels are correct (via the Advanced → Symbol levels dialog we used earlier) before
applying the style.
Una vez has aplicado el estilo, echa un vistazo a los resultados en el mapa. Como puedes ver, esos símbolos
cambian de dirección a lo largo de la calle pero no siempre se curvan con ella. Esto es útil para algunos propósitos,
pero no para otros. Si lo prefieres, puedes cambiar la capa símbolo a la forma en la que estaba antes.
Para ver las varias opciones disponibles para los datos poligonales:
• Cambia el tipo de capa de símbolos para la capa water, como antes para las otras capas.
• Investiga qué opciones diferentes de la lista se pueden hacer.
• Elige una de aquellas que encuentres adecuadas.
• Si tienes dudas, utiliza Patrón de relleno de puntos con las siguientes opciones:
Como resultado, tienes un símbolo de textura para la capa de agua, con el beneficio añadido de poder cambiar el
tamaño, forma y distancia de los diferentes puntos que forman la textura.
Nota: Para hacer este ejercicio, necesitará tener un software de edición de vector libre Inkscape instalado.
Deberías encontrarlo familiar si has utilizado otros programas de edición de imágenes vector, como Corel.
Primero, cambiaremos el lienzo a un tamaño apropiado para texturas pequeñas.
• Clic en el elemento del menú Archivo → Propiedades del documento. Esto te dará el cuadro de diálogo
Propiedades del documento.
• Cambia Unidades predet. a px.
• Cambia Ancho y Altura a 100.
• Cierra el cuadro de diálogo cuando hayas terminado.
• Clic en el elemento del menú Ver → Zoom → Página para ver la página con la que estás trabajando.
• Selecciona la herramienta Círculo.
• Haga clic y arrastre en la página para dibujar un elipse. Para convertir el elipse en un circulo, mantenga el
botón Ctrl mientras está dibujándolo.
• Haga clic derecho sobre el circulo que acaba de crear y abra sus opciones Relleno y borde. Puede modificar
su representación, como:
– Cambie el color Relleno a un azul-grisaseo pálido,
– Asignar al borde un color oscuro en la pestaña Pintar borde,
– Y reduzca el espesor del borde bajo la pestaña Estilo de borde.
• Si el símbolo te satisface, entonces guárdelo como landuse_symbol bajo el directorio dónde esta el curso,
bajo exercise_data/symbols, como archivo SVG.
En QGIS:
• Abra las Propiedades de la capa para la capa landuse.
• En la pestaña Estile, cambie la estructura del símbolo al seleccionar SVG Fill como opción Tipo de capa
de símbolo, como se muestra a continuación.
• Haga clic en el botón Explorador para seleccionar su imagen SVG. Se añade al árbol de símbolo y
ahora puede personalizar sus diferentes características (colores, ángulo, efectos, unidades...).
Puede que también desee actualizar el borde de la capa svg (vea a continuación):
Una vez que valide el diálogo, objetos espaciales en capa landuse ahora debería estar cubierto por un conjunto
de símbolos, mostrando una textura como la del siguiente mapa. Si las texturas no están visibles, podría necesitar
un acercamiento al lienzo del mapa o establecer en las propiedades de la capa una Ancho de textura más grande.
3.2.13 In Conclusion
Cambiando la simbología de las diferentes capas has transformado una colección de archivos vector en un mapa
legible. No solo tú puedes ver qué está pasando, ¡es incluso bonito a la vista!
Cambiar símbolos para capas completas es útil, pero la información contenida dentro de cada capa no está todavía
disponible para alguien que lea esos mapas. ¿Cómo se llaman esas calles? ¿A qué regiones administrativas
pertenecen ciertas áreas? ¿Cuales son las superficies relativas de las granjas? Toda esta información todavía está
oculta. La siguiente lección te explicará como representar estos datos en tu mapa.
La clasificación de datos vectoriales te permite asignar diferentes símbolos a elementos (diferentes objetos en la
misma capa), en función de sus atributos. Esto permite a alguien que use el mapa, ver fácilmente los atributos de
distintos elementos.
Hasta ahora, ninguno de los cambios que hemos hecho en el mapa han influido a los objetos que están siendo
mostrados. En otras palabras, todos los usos del territorio están igual, y todas las calles se ven igual. Cuando se
mira el mapa, los observadores no saben nada sobre las calles que están viendo; solo que hay una calle de una
forma determinada en una determinada área.
Pero la fortaleza del SIG es que todos los objetos son visibles en el mapa también tienen atributos. Los mapas en
un SIG no son solo imágenes. No solo representan objetos ni sitios, si no también información sobre esos objetos.
El objetivo de esta lección: Explorar los datos de atributo de un objeto y entender para qué pueden ser útiles los
datos.
Abre la tabla de atributos para la capa places (referida atrás en la sección “Trabajando con Datos Vectoriales” si
es necesario) ¿Qué campo sería el mas útil para representar el formulario de etiquetas? y ¿por qué?
Comprueba tus resultados
4.1.2 In Conclusion
Ahora sabes como usar la tabla de atributos para ver qué hay realmente en los datos que estas usando. Cualquier
conjunto de datos solo te será útil si tiene los atributos que te interesan. Si sabes qué atributos necesitas, puedes
rápidamente decidir si serás capaz de utilizar un conjunto de datos dado, o si necesitas buscar otro que contenga
los datos requeridos.
Atributos diferentes son útiles para objetivos diferentes. Algunos de ellos pueden estar representados directamente
como texto para ser visto por el usuario. Aprenderás a hacerlo en la siguiente lección.
51
QGIS Training Manual, Publicación 2.18
Las etiquetas se pueden añadir a un mapa para mostrar información sobre un proyecto. Cualquier capa vectorial
puede tener etiquetas asociadas a él. Esas etiquetas se basan en los datos de atributo de una capa para su contenido.
Nota: El cuadro de diálogo Propiedades de la capa tiene una pestaña Etiquetas que ofrece la misma función,
pero para este ejemplo utilizaremos la Herramienta de etiquetado, accediendo a través del botón de la barra de
herramientas.
El objetivo de esta lección: Aplicar etiquetas útiles y que queden bien en una capa.
Antes de ser capaz de acceder a la herramienta de Etiquetas, necesitarás asegurarte de que está activada.
• Ves al elemento del menú View → Toolbars.
• Asegúrate de que el elemento Etiqueta está marcado. Si no lo está, haz clic en el elemento Etiqueta y se
activará.
• Haz clic en la capa places en la Lista de capas, para que quede resaltado.
• Haga clic en el siguiente botón de la barra de herramientas:
Esto te abrirá el cuadro de diálogo Configuración del etiquetado de la capa.
• Comprueba el cuadro junto a Etiquetar esta capa con.
Necesitarás elegir el campo de atributos que será utilizado en las etiquetas. En la lección anterior decidiste que el
campo NAME era el más adecuado para tus objetivos.
• Selecciona name de la lista:
• Clic en Aceptar.
El mapa debería tener ahora etiquetas como estas:
Dependiendo de los estilos que elegiste para tu mapa en las lecciones anteriores, puede que encuentres que las
etiquetas no tienen el formato apropiado y se solapan o están demasiado lejos de sus puntos marcadores.
• Abre la Herramienta de etiquetado de nuevo haciendo clic en su botón como antes.
• Asegúrese de que Texto está seleccionado en la lista de opciones del lado izquierdo, después, actualice las
opciones de formato de texto para que coincida con lo que se muestra aquí:
¡El problema de fuente está resuelto! Ahora nos dirigimos al problema con las etiquetas solapadas con los puntos,
pero antes de hacer esto, echemos un vistazo a la opción Margen.
• Abre el cuadro de diálogo Herramienta de etiquetado.
• Selecciona Margen de la lista de opciones de la izquierda.
• Seleccione la casilla de verificación junto a Dibujar buffer de texto, después elija las opciones para que
coincida con los que se muestran aquí:
Ahora podemos situar la posición de las etiquetas en relación con sus puntos marcadores.
• En el cuadro de diálogo Herramienta de etiquetado, ve a la pestaña Ubicación.
• Cambie el valor de Distancia a 2mm y cerciórese que Alrededor del punto este seleccionado.
En muchos casos, la localización de un punto no necesita ser demasiado precisa. Por ejemplo, muchos de los
puntos en la capa places se refieren a ciudades o suburbios enteros, y el punto específico asociado a estas car-
acterísticas no es tan preciso a gran escala. De hecho, dar un punto que es demasiado específico es a menudo
confuso para el lector del mapa.
Para nombrar un ejemplo: en el mapa del mundo, el punto dado para la Unión Europea puede que esté en algún
lugar de Polonia. Para alguien leyendo el mapa, ver un punto etiquetado como Unión Europea en Polonia, puede
parecer que la capital de la Unión Europea es Polonia.
Así, para prevenir este tipo de malentendidos, a menudo es útil desactivar los símbolos de punto y reemplazarlos
completamente por etiquetas.
En QGIS, también puedes hacerlo cambiando la posición de las etiquetas para representarlas directamente encima
de los puntos a los que se refieren.
• Abre el cuadro de diálogo Configuración de etiquetas de capa para la capa places.
• Selecciona la opción Ubicación de la lista de opciones.
• Haz clic en el botón Desplazamiento desde el punto.
Esto revelara las opciones Cuadrante que puedes utilizar para ajustar la posición de las etiquetas en relación con
el punto marcador. En este caso, queremos centrar la etiqueta en el punto, así que elegiremos centrar cuadrante:
• Oculta los símbolos de punto editando el estilo de capa como normalmente, y ajusta el tamaño de altura y
anchura de Marcador de elipse a 0:
Si estabas con el zoom disminuido en el mapa, verás que algunas de las etiquetas desaparecen a escalas mayores
para evitar solaparse. A veces es lo que quieres cuando utilizas conjuntos de datos con muchos puntos, pero otras
veces perderás información valiosa de este modo. Hay otra posibilidad para manejar estas situaciones, la cual
cubriremos en un ejercicio más adelante en esta lección.
• Vuelve a los ajustes de etiqueta y símbolos para tener un punto marcador y una etiqueta compensados a
2.00mm. Puede que quieras ajustar el estilo del punto marcador o de las etiquetas en este punto.
Comprueba tus resultados
• Ajusta el mapa a escala 1:100000. Puedes hacerlo escribiéndolo en la caja Escala en la Barra de estado.
• Modifica tus etiquetas para adecuarlas a la vista en esa escala.
Comprueba tus resultados
Ahora que sabes como etiquetar trabajos, hay un problema adicional. Los puntos y polígonos son fáciles de
etiquetar, pero ¿Qué pasa con las líneas? Si las etiquetas del mismo modo que los puntos, el resultado se verá así:
Ahora daremos un nuevo formato a las etiquetas de la capa roads para que sean fáciles de entender.
• Oculta la capa Places para que no te moleste.
• Activa las etiquetas de la capa streets como antes.
• Ajusta el Tamaño de fuente a 10 para poder ver más etiquetas.
• Amplía el zoom al área de la ciudad Swellendam.
• En el cuadro de diálogo Herramienta de etiquetado, elige los siguientes ajustes:
Probablemente encontrarás el estilo de texto con valores por defecto y las etiquetas resultarán difíciles de leer.
Ajusta el formato de texto de las etiquetas a un Color gris oscuro o negro y un Margen amarillo pálido.
El mapa se verá parecido a esto, dependiendo de la escala:
Verás que algunos de los nombres de las calles aparecen más de una vez y que no siempre son necesarios. Para
prevenir esto:
• En el cuadro de diálogo Configuración del etiquetado de la capa, elige la opción Representación y selec-
ciona Combinar líneas combinadas para evitar etiquetas duplicadas:
Como puedes ver, esto oculta muchas de las etiquetas que antes eran visibles, por la dificultad de hacer que algunas
sigan las curvas de las calles y continúen siendo legibles. Puedes decidir qué opciones usar, dependiendo de lo
que creas que será mas útil para hacer que se vea mejor.
Nota: Estamos saltando hacia adelante un poco para demostrar algunos ajustes avanzados de las etiquetas. En el
nivel avanzado, se asume que sabrás qué significa lo siguiente. En caso contrario, eres libre de dejar esta sección
y volver cuando hayas cubierto los materiales requeridos.
• Utiliza esto para ajustar y personalizar los tamaños de fuente para cada tipo de sitio distinto (es decir, cada
tecla en el campo PLACE).
Comprueba tus resultados
No podemos cubrir todas las opciones en este curso, pero date cuenta de que el Herramienta de etiquetado tiene
muchas otras funciones útiles. Puedes ajustar representación basada en escala, alterar las prioridades de repre-
sentación para las etiquetas en una capa, y ajustar cada opción de etiquetas utilizando la capa de atributos. Puedes
incluso ajustar la rotación, posición XY, y otras propiedades de una capa (si tienes diferentes campos de atributos
situados para tal fin), entonces edita las propiedades utilizando las herramientas adyacentes a la Herramienta de
etiquetado principal:
(Estas herramientas estarán activas si los campos de atributo requeridos están disponibles y el modo edición está
activado.)
Eres libre de explorar más posibilidades del sistema de etiquetas.
4.2.9 In Conclusion
Has aprendido a usar la capa de atributos para crear etiquetas dinámicas. Esto puede hacer tu mapa mucho más
informativo y estilizado.
Ahora que sabes cómo los atributos conllevan una diferencia visual en tu mapa, ¿Como los usamos para cambiar
la simbología de los objetos? ¡Ese es el tema de la siguiente lección!
Las etiquetas son una buena forma de comunicar información como nombres de sitios individuales, pero no pueden
ser usados para todo. Por ejemplo, digamos que alguien quiere saber para qué es usada cada etiqueta landuse.
Utilizando etiquetas, obtendrías esto:
Esto dificulta la lectura el etiquetado del mapa e incluso sería abrumador si hay muchos usos diferentes del
territorio en un mapa.
El objetivo de esta lección: Aprender como clasificar los datos vectoriales efectivamente.
• En el nuevo panel, cambiar Columna por landuse y Rampa de color por Greens.
• Clic el botón etiquetado Clasificar:
• Clic Aceptar.
Verás algo como esto:
• Clic en la flecha (o signo de suma) siguiente a landuse en Lista de capas, verás las categorias explicadas:
Ahora nuestros polígonos de usos del territorio están correctamente coloreados y clasificados estando las áreas
con el mismo uso del territorio del mismo color. Puede que quieras quitar el borde negro de la capa landuse:
La categoría vacía se usa para colorear cualquier objeto que no tenga un valor definido para uso del territorio
o que tiene un valor NULL. Es importante mantener esta categoría para que las áreas con un valor NULL sigan
representadas en el mapa. Puede que quieras cambiar el color a uno que represente mejor el valor en blanco o
NULL.
¡Recuerda guardar tu mapa ahora para no perder todos tus laboriosos cambios!
Si solo estás siguiendo el contenido del nivel básico, usa el conocimiento que has ganado anteriormente para
clasificar la capa buildings. Ajusta la categorización en la columna de buildings y usa la rampa de color Spectral.
En clasificación nominal, las categorías en las que los objetos están clasificados están basadas en nombres; no
tienen orden. Por ejemplo; nombres de ciudades, códigos postales, etc.
En clasificación ordinal, las categorías están organizadas en cierto orden. Por ejemplo, ciudades del mundo se dan
en un rango dependiendo de la importancia para el comercio mundial, viajes, cultura, etc.
En clasificación de intervalos, los números están en una escala con valores positivos, negativos y nulos. Por
ejemplo: altura sobre/bajo el nivel del mar, temperatura sobre/bajo congelación (0 grados Centígrados), etc.
En clasificación por razones, los números están en una escala con solo valores positivos y nulos. Por ejemplo:
temperatura sobre cero absoluto (0 grados Kelvin), distancia desde un punto, cantidad media mensual de tráfico
en una calle dada, etc.
En el ejemplo anterior, usamos clasificación nominal para asignar cada granja a la ciudad que la administra. Ahora
usaremos clasificación de rango para clasificar las granjas por área.
• Guarda tu simbología de usos del territorio (si quieres conservarla) con clic en el botón Guardar estilo del
cuadro de diálogo Estilo.
Vamos a reclasificar la capa, así que las clases existentes se perderán si no están guardadas.
• Cierra el cuadro de diálogo Estilo.
• Abre la Tabla de Atributos para la capa landuse.
Queremos clasificar las áreas de usos del territorio por tamaño, pero hay un problema: no tienen un campo de
tamaño, así que tendremos que crearlo.
• Entra en el modo edición clicando en este botón:
• Clic Aceptar.
El nuevo campo será añadido (en el extremo derecho de la tabla; puede que necesites desplazarte horizontalmente
para verlo). Sin embargo, en este momento no está muy lleno, solo tiene muchos valores NULL.
Para solucionar este problema, necesitaremos calcular las áreas.
• Abre el campo calculadora:
• Cambia los valores en la parte de arriba del cuadro de diálogo para que se vea como esto:
Nota: Esas áreas están en grados. Luego los calcularemos en metros cuadrados.
Estarás usando esto para denotar áreas, con áreas pequeñas como Color 1 y áreas grandes como Color 2.
• Elige los colores apropiados.
En el ejemplo, el resultado se ve así:
• Clic Aceptar.
• Elige un nombre adecuado para la nueva capa de rampa de color.
• Clic en Aceptar despues de nombrarlo.
Ahora tendrás algo como esto:
Es común combinar múltiples criterios para una clasificación, pero desafortunadamente la clasificación normal
solo tiene en cuenta un atributo. Ahí es donde la clasificación basada en reglas entra en juego.
• Abrir el cuadro de diálogo Propiedades de la Capa para la capa landuse.
• Escoge la pestaña Estilo.
• Ve al estilo de clasificación Basado en reglas. Tendrás esto:
• Añada un nuevo criterio "landuse" != ’residential’ AND "AREA" >= 0.00005 y elija un
color verde intermedio.
• Añade otro criterio nuevo "name" = ’ |majorUrbanName| ’ y asígnale un color azul grisáceo os-
curo para indicar la importancia de la ciudad en la región.
• Haz clic y arrastra el criterio a la parte superior de la lista.
Esos filtros son exclusivos, en ellos se excluyen algunas áreas del mapa (es decir, aquellas que son más pequeñas
que 0.00005, no son residenciales y no están en ‘Swellendam‘). Esto significa que los polígonos excluidos adop-
tarán la categoría de estilo (sin filtro) por defecto
Sabemos que los polígonos excluidos en nuestro mapa no pueden ser áreas residenciales, así que le daremos una
categoría adecuada de verde pálido por defecto.
Tu cuadro de diálogo ahora ha quedado así:
Ahora tienes un mapa con las áreas residenciales más destacadas Swellendam y otras áreas no residenciales col-
oreadas de acuerdo con su tamaño.
4.3.6 In Conclusion
La simbología nos permite representar los atributos de una capa de una forma sencilla de entender. También
permite a los que visualicen el mapa entender el significado de las características, utilizando atributos relevantes
que hemos escogido. Dependiendo del problema al que te enfrentes, aplicarás diferentes técnicas de clasificación
para resolverlos.
Ahora tenemos un bonito mapa, pero ¿Cómo obtendremos del QGIS un formato que se pueda imprimir o conver-
tirlo en una imagen o PDF? ¡Ese es el tema de la siguiente lección!
En este módulo aprenderás como usar el Diseñador de Mapas de QGIS para producir mapas de calidad con todos
los elementos de mapa que son requisito.
Ahora que tienes un mapa, necesitas ser capaz de imprimirlo o exportarlo a un documento. Ya que el archivo de
mapa de SIG no es una imagen. Más bien guarda el estado del programa SIG, con referencias a todas las capas,
sus etiquetas, colores, etc. Así que para alguien que no tenga los datos o el mismo programa SIG (como QGIS),
el archivo del mapa será inútil. Afortunadamente, QGIS puede exportar el archivo del mapa a un formato que
cualquier ordendor pueda leer, así como imprimir el mapa si tienes una impresora conectada. Exportar y imprimir
se gestiona a través del Diseñador de Mapas.
El objetivo de esta lección: Utilizar el Diseñador de Mapas del QGIS para crear un mapa básico con todos los
ajustes requeridos.
QGIS te permite crear múltiples mapas utilizando el mismo archivo de mapa. Por esta razón, tiene una herramienta
llamada Administrador de diseñadores.
• Haz clic en el menú Proyecto → Administrador de diseñadores para abrir esta herramienta. Verás un cuadro
de diálogo en blanco Administrador de diseñadores aparecer.
• Haz clic en el botón Añadir y da al nuevo diseñador el nombre Swellendam.
• Haz clic en Aceptar.
• Haz clic en el botón Mostrar.
(También podrías cerrar el cuadro de diálogo y navegar a un diseñador a través de los menús Proyecto → Dis-
eñadores de impresión, como en la imagen inferior.)
91
QGIS Training Manual, Publicación 2.18
Cualquier ruta que escojas te llevará ahí, verás ahora la ventana :guilabel:‘ Diseñador de impresión‘:
En este ejemplo, la composición ya estaba de la forma en que la queremos. Asegúrate de que la tuya también está
así.
• En la ventana Diseñador de impresión, comprueba que los valores de Diseño → Papel y Calidad están
ajustados como sigue:
• Tamaño: A4 (210x297mm)
• Orientación: Landscape
• Resolución de exportación: 300dpi
Ahora tienes la disposición de la página como la querías, pero esta página todavía está en blanco. Le falta el mapa
claramente. ¡Vamos a solucionarlo!
Nota: Puede que tu mapa se vea muy diferente, ¡Por supuesto! Esto depende en cómo esta ajustado tu propio
proyecto. ¡Pero no te preocupes! Estas instrucciones son generales, así que funcionarán adecuándose a la forma
en que se vea el mapa.
• Asegúrate de ajustar los márgenes a lo largo de las esquinas, y dejar un espacio en la parte superior para el
título.
• Amplía y disminuye el zoom de la página (¡pero no del mapa!) utilizando esos botones:
• Haga zum y desplace el mapa en la ventana principal de QGIS. También puede desplazar el mapa utilizando
la herramienta Mover contenido del elemento:
Cuando amplíes, el mapa no se actualizará por sí mismo. Así que no pierdas el tiempo dibujando de nuevo el
mapa mientras amplíes la página a donde quieras, también significa que si amplías o disminuyes el zoom, el mapa
estará en una incorrecta resolución y se verá mal o será ilegible.
• Actualiza el mapa clicando el botón:
Recuerda que el tamaño y posición que te da el mapa no son la final necesariamente. Siempre puedes volver y
cambiarla si no te satisface. Por ahora, necesitas asegurarte que has guardado tu trabajo en el mapa. Como un
Diseñador en QGIS es parte de un archivo de mapa principal, necesitaras guardar tu proyecto principal. Ves a
la ventana QGIS principal (la que tiene Lista de capas y los otros elementos familiares con los que has estado
trabajando), y guarda tu proyecto desde ahí como normalmente.
Ahora tu mapa se ve bien en la página, pero a tus lectores/usuarios no se les ha dicho qué está pasando todavía.
Necesitan algún contexto, que les proveerás añadiendo los elementos del mapa. Primero, añadamos un título.
• Busque el botón Alinear y haga clic en la flecha del menú desplegable junto a él para revelar las opciones
de posición y haga clic en Alinear al centro:
Para asegurarte que no mueves los elementos accidentalmente ahora que los has alineado:
• Haz clic derecho en ambos, mapa y etiqueta.
Un pequeño candado aparecerá en la esquina para decirte que el elemento no puede arrastrarse ahora. Siempre
puedes hacer clic derecho en un elemento de nuevo para desbloquearlo.
Ahora la etiqueta está centrada en el mapa, pero los contenidos no lo están. Para centrar los contenidos de la
etiqueta:
• Selecciona la etiqueta clicando en ella.
• Haz clic en la pestaña Propiedades del elemento del panel lateral de la ventana del Diseñador.
• Cambia el texto de la etiqueta a “Swellendam”:
• Utiliza la interfaz para ajustar las opciones de alineación y fuente:
• Elige una fuente grande pero discreta (por ejemplo usa la fuente por defecto con un tamaño de 36) y ajusta
la Alineación horizontal a Centro.
También puedes cambiar el color de la fuente, pero probablemente sea mejor mantenerla en negro como por
defecto.
Los ajustes por defecto no añaden un marco a la caja de texto del título, si quieres añadir un marco, puedes hacerlo
así:
• En la pestaña Propiedades del elemento, desplázate hacia abajo hasta que veas la opción Marco.
• Haz clic en la casilla de verificación para habilitar el marco. También puedes cambiar el color del marco y
su grosor.
En este ejemplo, no habilitaremos los marcos, así que aquí está nuestra página hasta el momento:
El lector del mapa también necesita ser capaz de ver qué significan las cosas representadas en el mapa. En algunos
casos, como los nombres de los sitios, es muy obvio. En otros casos es mas difícil de adivinar, como los colores
de las granjas. Así que añadamos una leyenda nueva.
No necesitamos todo lo que está en la leyenda, así que elimina los elementos no deseados.
• En la pestaña Propiedades del elemento, encontrarás el panel Elementos de la leyenda.
• Selecciona la entrada buildings.
Como la leyenda cambiará de anchura con los nuevos nombres de capas, puede que desees mover y cambiar el
tamaño de la leyenda y/o el mapa. Este es el resultado:
¡Finalmente el mapa está listo para exportarlo! Verás los botones de exportación en la esquina superior izquierda
de la ventana Diseñador.
El botón de la izquierda es Imprimir, que se enlaza con la impresora. Las opciones de impresión cambiarán
dependiendo del modelo de impresora con la que trabajes, probablemente sea mejor consultar el manual de la
impresora o una guía general de impresión para más información sobre este tema.
Los otros tres botones te permiten exportar la página del mapa a un archivo. Hay tres formatos entre los que elegir:
• Exportar como imagen
• Exportar como SVG
• Exportar como PDF
Exportar como una imagen te dará una selección de varios formatos de imagen comunes a elegir. Es probablemente
la opción más simple, pero la imagen creada está “muerta” y es difícil de editar.
Las otras dos opciones son mas comunes.
Si va a enviar el mapa a un cartógrafo (que desee editar el mapa para publicarlo), es mejor exportarlo como SVG.
SVG significa “Gráfico de Vectores Escalares”, y puede ser importado a programas como Inkscape u otro software
de edición de imágenes vectoriales.
Si vas a mandar el mapa a un cliente, es más común utilizar un PDF, ya que es más fácil de usar y de ajustar las
opciones de impresión. También algunos cartógrafos pueden preferirlo, si tienen programas que les permita editar
este formato.
Para nuestros propósitos, utilizaremos PDF.
5.1.7 In Conclusion
En la siguiente página, te daremos tareas para completar. Esto te permitirá practicar con las técnicas que has
aprendido hasta ahora.
5.2 Ejercicio 1
Abre tu proyecto de mapa existente y revísalo a fondo. Si notas algún error pequeño o cosas que te hubiera gustado
solucionar antes, hazlo ahora.
Mientras personalizas tu mapa, sigue preguntándote cosas a ti mismo. ¿És el mapa fácil de leer y entender para
alguien que no esté familiarizado con los datos? Si viera el mapa en internet, o en un póster, o una revista,
¿Atraería my atención? ¿Querría leer este mapa si no fuera mío?
Si estas haciendo este curso en un nivel Básico o Intermedio , lee técnicas de secciones más avanzadas.
Si ves algo que te gustaría hacer en tu mapa, ¿Por qué no intentas implementarlo?
Si te están presentando el curso, el presentador puede querer que entregues una versión final de tu mapa, exportado
a PDF, para evaluarlo. Si estás haciendo el curso por ti mismo, es recomendable que te evalúes tu mismo utilizando
el mismo criterio. Tus mapas serán evaluados respecto a la apariencia general de la simbología y el propio mapa,
así como la apariencia y la disposición de la página del mapa y sus elementos. Recuerda que el énfasis en la
evaluación de la apariencia del mapa siempre será en facilidad de uso. Cuanto mejor se vea el mapa y más
fácilmente se entienda con un simple vistazo, mejor.
¡Feliz personalización!
5.2.1 In Conclusion
Los primeros cuatro modelos te han enseñado a crear y dar estilo a un mapa vectorial. En los próximos cuatro
módulos, aprenderás a usar QGIS para un análisis completo SIG. Esto incluye crear y editar datos vectoriales;
analizar datos vectoriales; utilizar y analizar datos raster; y utilizar SIG para solucionar un problema de principio
a fin, utilizando tanto fuentes de datos raster como vectoriales.
Crear mapas utilizando datos existentes solo es el comienzo. En este módulo, aprenderás como modificar datos
vectoriales y crearás nuevos conjuntos de datos por completo.
Los datos que has usado vienen de algún sitio. Para la mayoría de aplicaciones comunes, los datos ya existen;
pero cuanto más particular y especializado sea el proyecto, más difícil será encontrar datos disponibles. En estos
casos, necesitarás crear tus propios datos nuevos.
El objetivo de esta lección: Crear un nuevo conjunto de datos.
Antes de poder añadir nuevos datos vectoriales, necesitas un conjunto de datos vectoriales al que añadirlos. En
nuestro caso, empezarás creando nuevos datos por completo, en lugar de editar un conjunto de datos existente.
Además, necesitarás definir de antemano tu propio conjunto de datos nuevo.
Necesitarás abrir el cuadro de diálogo Nueva capa de archivo shape que te permitirá definir una nueva capa.
• Navega y haz clic en la entrada del menú Capa → Nueva → Nueva capa de archivo shape.
Se presentará el siguiente cuadro de diálogo:
103
QGIS Training Manual, Publicación 2.18
Es importante decidir qué tipo de conjunto de datos quieres en este punto. Cada tipo de capa vectorial esta
“construida de forma diferente” en sus bases, así que una vez hayas creado la capa, no puedes cambiar su tipo.
Para el siguiente ejercicio, crearemos nuevas características para describir áreas. Para estas características, nece-
sitarás crear un conjunto de datos poligonal.
• Haz clic en el botón de opción Polígono:
Esto no tiene impaco en el resto del cuadro de diálogo, pero hará que se use el tipo correcto de geometría cuando
el conjunto de datos vectorial se cree.
El siguiente campo te permite especificar el Sistema de Referencia de Coordenadas, o SRC. Un SRC especifica la
descripción de un punto en la Tierra en términos de coordenadas, y como hay muchas formas de hacer esto, hay
muchos SRC diferentes. El SRC de este proyecto es WGS84, así que es el correcto por defecto.
A continuación hay una colección de campos agrupados en Nuevo atributo. Por defecto una capa tiene solo un
atributo, el campo id (que deberías ver en Lista de atributos) inferior. Sin embargo, para que los datos que crees
sean útiles, necesitas decir algo sobre las características que crearás en la nueva capa. Para tus propósitos actuales,
será suficiente añadir un campo llamado nombre.
• Replica la configuración siguiente, luego haz clic en el botón Añadir a la lista de atributos.
Cuando creas nuevos datos, obviamente deben ser sobre objetos que existen realmente en el terreno. Además,
necesitarás obtener la información de alguna parte.
Hay muchas formas posibles de obtener datos sobre objetos. Por ejemplo, podrías utilizar un GPS para capturar
puntos en el mundo real y luego importar los datos al QGIS. O podrías sondear los puntos con un teodolito e
introducir las coordenadas manualmente para crear nuevas características. También podrías digitalizar procesos
para trazar objetos desde sensores de datos remotos, como imagenes de satélite o fotografía aérea.
Para nuestro ejemplo, estarás utilizando un enfoque de digitalización. Las muestras de bases de datos raster se
proporcionan, así que necesitarás importarlas cuando sea necesario.
Nota: Si la simbología de la capa buildings está cubriendo parte o la totalidad de la capa raster, puedes desactivar
la capa temporalmente deseleccionándola en el Lista de capas. También puede que quieras ocultar la simbología
de roads si te molesta.
Para empezar a digitalizar, necesitarás introducir modo de edición. Los software SIG normalmente lo requieren
para prevenir que edites o borres accidentalmente datos importantes. El modo edición se activa o desactiva indi-
vidualmente para cada capa.
Para introducir el modo edición para la capa propiedad_escolar:
• Haz clic en la capa en la Lista de capas para seleccionarla. (Asegúrate que seleccionas la capa correcta, ¡de
lo contrario editarás la capa incorrecta!)
Otros cuatro botones relevantes todavía están desactivados, pero se activarán cuando empecemos a interactuar con
nuestros nuevos datos.
Puedes usar:
• la herramienta Mover objeto(s) espacial(es) para mover el elemento entero,
• la Herramienta de nodos para mover solo un punto que puedas haberte dejado sin seleccionar.
• :guilabel:‘ Borrar lo seleccionado‘ para eliminar completamente el elemento para volver a probar de nuevo,
y
• el elemento del menú:menuselection:Edición –> Deshacer o el acceso directo ctrl + z en el teclado
para deshacer errores.
• Digitaliza la propia escuela y el campo superior. Utiliza esta imagen para asistirte:
Nota: Cuando hayas terminado de añadir elementos a la capa, recuerda guardar tus ediciones y salir del modo
edición.
Nota: Puedes dar estilo al relleno, borde, formato y situación de la etiqueta de propiedad_escolar utilizando las
técnicas aprendidas en lecciones anteriores. En nuestro ejemplo, usaremos un borde discontinuo de púrpura claro
sin relleno.
• Crea una nuevo elemento lineal llamada rutas.shp con atributos id y tipo. (Utiliza la propuesta
anterior para guiarte.)
• Vamos a digitalizar dos rutas que todavía no están marcadas en la capa calles; una es una ruta de acceso, la
otra es una pista.
Nuestra ruta de acceso discurre a lo largo del borde sur del suburbio de Railton, empezando y terminando en calles
marcadas:
Uno de cada vez, digitaliza la ruta de acceso y la pista en la capa rutas. Intenta seguir las rutas tan exactamente
como puedas, utilizando puntos (clic izquierdo) en cualquier esquina o giro.
Cuando crees cada ruta, dale el tipo valor de atributo de camino o pista.
Probablemente encuentres que solo se marcan los puntos, utiliza el cuadro de diálogo Propiedades de la capa para
añadir estilo a tus rutas. Da diferentes estilos libremente a la ruta de acceso y pista.
Guarda tu edición y cambia el modo de Edición.
Comprueba tus resultados
6.1.5 In Conclusion
¡Ahora sabes cómo crear elementos! Este curso no cubre el añadir elementos de tipo puntos, esto no es realmente
necesario una vez que has trabajado con elementos más complicados (líneas y polígonos). Funciona exactamente
igual, excepto por que solo clicas una vez donde quieras que esté el punto, le das atributos como habitualmente, y
luego el elemento se crea.
Saber cómo digitalizar es importante porque es una actividad muy común en programas SIG.
Los elementos en una capa SIG no son solo imágenes, sino objetos en el espacio. Por ejemplo, polígonos adya-
centes saben donde están en relación el uno con el otro. Esto se llama topología. En la siguiente lección verás un
ejemplo de por qué esto puede ser útil.
La topología es un aspecto útil de las capas de datos vectoriales, ya que minimiza errores como la superposición
o huecos.
Por ejemplo: si dos elementos comparten un borde, y editas el borde utilizando la topología, no necesitarás editar
primero un elemento y luego otro cuidadosamente para que luego coincidan. En lugar de eso puedes editar el
borde compartido y los dos elementos cambiarán al mismo tiempo.
El objetivo de esta lección: Entender la topología utilizando ejemplos.
Para facilitar la edición topológica, es mejor si habilitas el autoensamblado. Esto permitirá al cursor del ratón
ajustarse a otros objetos mientras digitalizas. Para ajustar las opciones de autoensamblado:
• Navega a la entrada del menú Configuración → Opciones de autoensamblado....
• Ajusta el cuadro de diálogo Opciones de autoensamblado y digitalización como se muestra:
• Asegúrate de que la caja en la columna Evitar int. está seleccionada (definida como verdadero).
• Haz clic en Aceptar para guardar tus cambios y cierra el cuadro de diálogo.
• Introduce el modo edición con la capa landuse seleccionada.
• Combruéba en Ver → Barras de Herramientas que tu barra de herramientas Digitalización avanzada está
habilitada.
• Amplía esa área (habilita capas y etiquetas si es necesario):
• Cuando se solicite, dale un OGC_FID de 999, pero eres libre de dejar los otros valores sin cambiar.
Si eres cuidadoso cuando digitalizas y permites al cursor ajustarse a los vértices de granjas adyacentes, notarás
que no habrán vacíos entre tus granjas nuevas y las adyacentes ya existentes.
• Observa las herramientas deshacer/rehacer en la barra de herramientas Digitalización avanzada:
Los elementos topológicos pueden necesitar ser acutalizados a veces. En nuestro ejemplo, la capa landuse tiene
algunas áreas forestales complejas que han sido añadidas recientemente al formulario de un área:
En lugar de crear nuevos polígonos para unir las áreas forestales, vamos a usar Herramienta de nodos para editar
los polígonos ya existentes y unirlos.
• Entra en el modo de edición, si no está ya activo.
• Selecciona Herramienta de nodos.
• Escoge un área forestal, selecciona una esquina y muévela hacia una esquina adyacente para que dos sec-
ciones forestales se toquen:
Continúa y junta unas pocas áreas más utilizando Herramienta de nodos. Puedes también utilizar la herramienta
guilabel:Añadir objeto espacial si es apropiada. Si estás utilizando nuestros datos de ejemplo, deberías tener un
área forestal que se parezca a esto:
Esta te permite quitar un trozo de un elemento, siempre que el círculo esté completamente rodeado por el elemento.
Por ejemplo, si has digitalizado los límites de Sur África y necesitas añadir un trozo para Lesotho, tendrías que
utilizar esta herramienta.
Si experimentas con esta herramienta, observarás que las opciones de autoensamblado actuales previenen que
crees un anillo en el medio del polígono. Esto estaría bien si el área que quisieras excluir estuviera unida a los
límites del polígono.
• Deshabilita el autoensamblado para la capa de usos del territorio a través del cuadro de diálogo que utilizaste
antes.
• Ahora intente utilizar la herramienta Añadir anillo para crear un hueco en medio del Bontebok National
Park.
• Borra tu nuevo elemento utilizando la herramienta Borrar anillo:
Esta herramienta te permite crear una parte extra de tu elemento, no conectado directamente al elemento principal.
Por ejemplo, si has digitalizado los límites del continente de Sur África pero no has añadido todavía las islas
Prince Edward Islands, podrías usar esta herramienta para crearlas.
• Para utilizar esta herramienta, debes seleccionar primero el polígono del que quieras añadir la parte uti-
lizando la herramienta Seleccionar objetos espaciales individuales:
• Ahora intenta utilizar la herramienta Añadir Parte para añadir un área periférica a Bontebok National Park.
• Borra tu nuevo elemento utilizando la herramienta Borrar parte:
Puede añadir una protuberancia a un elemento existente. Con esta herramienta seleccionada:
• Haz clic izquierdo dentro de Bontebok National Park para empezar a dibujar un polígono.
• Dibuja un polígono con tres esquinas, la última de ellas debería estar dentro del polígono original, formando
un rectángulo abierto.
• Haz clic derecho para acabar de marcar los puntos:
El resultado de lo anterior:
La herramienta Dividir objetos espaciales es similar a cómo quitabas parte de la granja, excepto que esto no borra
ninguna de las dos partes. En lugar de ello mantiene ambas.
• En este punto, debería parecer como si nada hubiera pasado. Pero recuerda que tu simbología para la capa
landuse no tiene ningún borde, así que la nueva línea de división no se mostrará.
• Utiliza la herramienta Seleccionar objetos espaciales individuales para seleccionar la esquina que acabas
de dividir; el nuevo elemento estará destacado:
6.2.9 In Conclusion
La edición de la topología es una herramienta potente que te permite crear y modificar objetos rápida y fácilmente,
a la vez que asegurar que permanecen topológicamente correctos.
Ahora sabes digitalizar fácilmente la forma de los objetos, ¡pero añadir los atributos todavía es un dolor de cabeza!
Después te enseñaremos a utilizar formularios para editar atributos de forma más simple y efectiva.
Cuando añades nuevos datos digitalizando, se te presenta un cuadro de diálogo que te permite rellenar los atributos
del elemento. Sin embargo, el cuadro de diálogo no es muy bonito a la vista. Esto puede causar algún problema,
especialmente si tienes que crear conjuntos de datos extensos, o si quieres que otra gente te ayude a digitalizar y
encuentran los formularios por defecto confusas.
Afortunadámente, QGIS te permite crear tus propios cuadros de diálogo para una capa. Esta lección te enseñará
cómo.
• El panel Resultados de la Identificación abre y muestra en una vista de árbol los valores de los campos y
otra información general sobre el elemento seleccionado.
• En la parte inferior del panel, marque la casilla de verificación Formulario de apertura automática
• Ahora, de nuevo haga clic en calles en el mapa. A lo largo del diálogo Resultados de la Identificación, verá
la forma ahora familiar:
• Cada vez que haga clic en un elemento espacial con la herramienta de Identificación, su formulario aparecerá
a menos que Formulario de apertura automática este desmarcado.
Si estás en modo edición, puedes utilizar el formulario para editar los atributos de los elementos.
• Activa el modo edición (si no está ya activado).
• Utilizando la herramienta Identificar, haz clic en la calle principal que discurre a través de Swellendam:
Nota: Si estás utilizando el conjunto de datos por defecto, encontrarás más de una calle en el mapa llamada
Voortrek Street.
Es bonito editar cosas utilizando un formulario, pero todavía tienes que introducirlo todo a mano. Afortunada-
mente, los formularios tienen diferentes tipos de los llamados widgets que te permiten editar datos de varias formas
diferentes.
• Abre la Propiedades de la capa de la capa roads.
• Cambia a la pestaña Campos. Verás esto:
• Haz clic en el botón Edición de líneas en la misma fila que man_made y te dará un nuevo cuadro de diálogo.
• Selecciona Casilla de verificación en la lista de opciones:
• Captura unos pocos puntos en tu nueva capa utilizando las herramientas de digitalización para tener pocos
datos con los que jugar. Debería presentarse un formulario QGIS de atributos capturados por defecto cada
vez que capturas un punto nuevo.
Nota: Puede que necesites desactivar Autoensamblado si todavía está acitvada de pasos anteriores.
Ahora queremos crear nuestro propio formulario personalizado para la fase de captura de datos de atributo. Para
hacerlo, necesitas tener instalado Qt4 Designer (solo se necesita para crear los formularios). Debería ser propor-
cionado como parte de los materiales de tu curso, si estás utilizando Windows. Puede que necesites buscarlo si
estás utilizando otro SO. En Ubuntu, haz lo siguiente en el terminal:
Nota: En momento de escribir estos materiales, Qt5 es la última versión disponible. Sin embargo, el proceso
requiere específicamente Qt4 y no es necesariamente compatible con Qt5.
• Busca Widget Box a la izquierda de tu pantalla (por defecto). Contiene un elemento llamado Line Edit.
• Haz clic y arrastra el elemento hasta tu formulario. Esto creará un nuevo Line Edit en el formulario.
• Con el nuevo elemento de edición de línea seleccionado, verás sus propiedades en un lado de tu pantalla (en
el lado derecho por defecto):
• Vuelve al QGIS.
• Haz doble clic en la leyenda de la capa datos-test para acceder a sus propiedades.
• Haz clic en la pestaña Campos del cuadro de diálogo Propiedades de la capa.
• En el menú desplegable Disposición del editor de atributos, selecciona Proporcionar archivo UI.
• Haz clic en el botón de puntos suspensivos y elige el archivo add_people.ui que acabas de crear:
6.3.8 In Conclusion
Utilizando formularios, puedes facilitarte la vida cuando creas o editas datos. Editando tipos de widgets o creando
nuevos desde cero, puedes controlar la experiencia de alguien que digitalice nuevos datos para esa capa, además
minimizas malentendidos y errores innecesarios.
If you completed the advanced section above and have knowledge of Python, you may want to check out this blog
entry about creating custom feature forms with Python logic, which allows advanced functions including data
validation, autocompletion, etc.
Abrir un formulario de identificación de un elemento es una de las acciones estándar que QGIS puede realizar.
Sin embargo, puedes dirigirlo a realizar acciones de personalización que tú definas. Este es el tema de la siguiente
lección.
Ahora que has visto las acciones por defecto en la lección anterior, es hora de definir tus propias acciones. Una
acción es lo que ocurre cuando clicas en un elemento. Puedes añadir mucha funcionalidad extra a tu mapa,
permitiendote obtener información adicional sobre un objeto, por ejemplo. ¡Asignar acciones puede añadir una
nueva dimensión a tu mapa!
El objetivo de esta lección: Aprender como añadir acciones personalizadas.
Utiliza la capa propiedad_escolar que creaste anteriormente. Los materiales del curso incluyen fotos de cada
una de las tres propiedades que digitalizaste. Lo siguiente que vamos a hacer será asociar cada propiedad con su
imagen. Luego crearemos una acción que abra la imagen de una propiedad cuando se haga clic en la propiedad.
La capa school_property todavía no tiene forma de asociar una imagen con una propiedad. Primero crearemos un
campo para este propósito.
• Abre el cuadro de diálogo Propiedades de la capa.
• Haz clic en la pestaña Campos.
• Conmuta el modo de edición:
• Después de haber creado el campo, haz clic en el botón Edición de líneas junto al nuevo campo.
• Elije Nombre de archivo:
Qué hacer luego depende del sistema operativo que estés usando, así que elige el curso adecuado a seguir:
Windows
Ubuntu Linux
• En Acción, escribe eog para el Gnome Image Viewer, o escribe display para usar ImageMagick. ¡Re-
cuerda dejar un espacio después del comando!
MacOS
Quieres abrir la imagen y QGIS sabe dónde está. Todo lo que necesita es decirle a la Acción dónde está la imagen.
• Haz clic en el botón Insertar campo. QGIS añadirá la frase [% "imagen" %] en el campo Acción.
• Haz clic en el botón Añadir a la lista de acciones.
• Haz clic en Aceptar en el cuadro de diálogo Propiedades de la capa.
Ahora comprobaremos la nueva Acción:
• Haz clic en la capa propiedad_escolar en Lista de capas para que quede seleccionada.
• Encuentra el botón Ejecutar acción del objeto espacial (en la misma barra de herramientas que el botón
Abrir tabla de atributos):
• Haz clic en la flecha hacia abajo a la derecha del botón. Hay solo una acción definida para esta capa hasta
el momento, la que acabas de crear.
• Haz clic en el propio botón para activar la herramienta.
• Utilizando esta herramienta, haz clic en cualquiera de las propiedades de escuela.
• La imagen para esa propiedad se abrirá.
Digamos que estas buscando un mapa y quieres saber más sobre el área en la que está la granja. Supón que no sabes
nada del área en cuestión y quieres encontrar información general sobre ella. Tu primer impulso, considerando
que estás utilizando el ordenador justo ahora, sería buscar el nombre del área en Google. ¡Así que digámosle a
QGIS que lo haga automáticamente por nosotros!
• Abre la tabla de atributos para la capa landuse.
Estaremos usando el campo name para cada área de usos del terreno para buscar en Google.
• Cierra la tabla de atributos.
• Vuelve a Acciones en Propiedades de la capa.
• En el campo Propiedades de acciones → Nombre, escribe Busqueda en Google.
Qué hacer luego depende del sistema operativo que estés usando, así que elige el curso adecuado a seguir:
Windows
• En Tipo, elige Abrir. Esto le dirá a Windows que abra una dirección de internet en tu buscador por defecto,
como Internet Explorer.
Ubuntu Linux
• En Acción, escribe xdg-open. Esto le dirá a Ubuntu que abra una dirección de internet en tu buscador por
defecto, como Chrome o Firefox.
MacOS
• En Acción, escribe abrir. Esto le dirá a MacOS que abra una dirección de internet en tu buscador por
defecto, como Safari.
Para cualquier comando que uses, necesitarás decirle qué dirección de internet abrir luego. Quieres ir a Google y
buscar la frase automáticamente.
Normalmente cuando usas Google, introduces tu frase a buscar en la barra de Búsqueda de Google. Pero
en este caso, quieres que tu ordenador lo haga por ti. Para decirle a Google que busque por algo
(si no quieres utilizar su barra de búsqueda directamente) se le da al Buscador de Internet la dirección
http://www.google.com/search?q=SEARCH_PHRASE, donde SEARCH_PHRASE es lo que tú quieres
buscar. Como no sabemos qué frase buscar todavía, solo introduciremos la primera parte (sin la frase de búsqueda).
• En el campo Acción, escribe http://www.google.com/search?q=. ¡Recuerda dejar un espacio
después de tu comando inicial antes de escribirlo!
Ahora quieres que QGIS le diga al buscador que busque en Google el valor de name para cualquier elemento en
el que quieras clicar.
• Selecciona el campo name.
• Haz clic en Insertar campo:
Nota: Si tu acción no funciona, comprueba que todo está correctamente introducido; ¡ Los errores tipográficos
son muy comunes en este tipo de trabajos!
Anteriormente, has visto como abrir una página web en un buscador externo. Hay algunas desventajas con este
enfoque que añaden cierta dependencia desconocida –¿tendrá el usuario final el software requerido para ejecutar
la acción en su sistema? Como has visto, ni siquiera es probable que utilizen el mismo tipo de comandos base
para el mismo tipo de acción, si no sabes qué SO estarán utilizando. Con algunas versiones de SO, puede que los
comandos anteriores no funcionen en absoluto. Esto podría ser un problema insuperable.
Sin embargo, QGIS está construido sobre la base de la increíblemente potente y versátil librería de Qt4. ¡Además,
las acciones de QGIS pueden ser comandos Python arbitrarios, clasificados en tokens (es decir, utilizar informa-
ción variable basada en contenidos de atributo de un campo)!
Ahora verás cómo usar una acción python para mostrar una página web. Es la misma idea general que abrir una
página en un buscador externo, pero no requiere buscador en el sistema del usuario ya que utiliza la clase Qt4
QWebView (que es un widget html basado en un webkit) para visualizar el contenido en una ventana emergente.
En lugar de Google, utilicemos Wikipedia esta vez. Así la URL que solicites será así:
http://wikipedia.org/wiki/SEARCH_PHRASE
Para crear la acción de capa:
• Abre el cuadro de diálogo Propiedades de la capa y ve directamente a la pestaña Acciones.
• Configure una nueva acción utilizando las siguientes propiedades para la acción:
– Tipo: Python
– Nombre: Wikipedia
– Acción (todo en una línea): from PyQt4.QtCore import QUrl; from
PyQt4.QtWebKit import QWebView; myWV = QWebView(None);
myWV.load(QUrl(’http://wikipedia.org/wiki/[% "name" %]’));
myWV.show()
6.4.6 In Conclusion
Las acciones te permiten dar a tu mapa funcionalidades extra, siendo útiles para el usuario final, que verá el mismo
mapa en QGIS. Debido al hecho de que puedes utilizar comandos Shell para cualquier sistema operativo, a parte
de Python, ¡el cielo es el límite respecto a las funciones que podrías incorporar!
Ahora que has creado todo tipo de datos vectoriales, aprenderás a analizar los datos para solucionar problemas.
Ese es el tema del módulo siguiente.
Ahora que has editado algunos elementos, debes querer saber qué más se puede hacer con ellos. Tener elementos
con atributos está bien, pero cuando todo está dicho y hecho, esto no te dice realmente nada que un mapa normal
no-GIS no pueda.
La principal ventaja de un SIG es esta: un SIG puede responder preguntas.
En los próximos tres módulos, intentaremos responder una pregunta de investigación utilizando funciones SIG.
Por ejemplo, eres un agente del estado y estás buscando una propiedad residencial en Swellendam para clientes
que tienen los siguientes criterios:
1. Tiene que estar en Swellendam.
2. Debe estar en una distancia razonable en coche a una escuela (digamos 1km).
3. Debe tener un tamaño de más de 100m cuadrados.
4. A menos de 50m de una carretera principal.
5. A menos de 500m de un restaurante.
En los próximos módulos, emplearemos el poder de las herramientas de análisis SIG para localizar propiedades
agrarias para este nuevo proyecto residencial.
Hablemos sobre Sistemas de Referencia de Coordenadas (SRCs) de nuevo. Lo hemos visto brevemente antes,
pero no hemos discutido su significado práctico.
El objetivo de esta lección: Reproyectar y transformar conjuntos de datos vectoriales.
El SRC en el que se encuentran todos los datos además del propio mapa en este momento se llama WGS84. Es un
Sistema Geográfico de Coordenadas (SGC) para la representación de datos. Pero como veremos, hay un problema.
• Guarda tu mapa actual.
• Luego abre el mapa del mundo que encontrarás en exercise_data/world/world.qgs.
• Amplia a Sudáfrica utilizando la herramienta Acercar zum.
• Intenta ajustar una escala en el campo Escala, que está en Barra de estado en la parte inferior de la pantalla.
Mientras estás en Sudáfrica, ajusta su valor a 1:5000000 (uno a cinco millones).
• Desplázate por el mapa echando un ojo en el campo Escala.
149
QGIS Training Manual, Publicación 2.18
¿Observas cómo cambia la escala? Esto ocurre porque te estás moviendo fuera del punto que ampliaste a
1:5000000, que estaba en el centro de tu pantalla. Alrededor de ese punto, la escala es diferente.
Para entender por qué, piensa en el Globo Terráqueo. Tiene lineas discurriendo de Norte a Sur. Estas líneas están
alejadas en el ecuador, pero se encuentran en los polos.
En un SGC, tú trabajas en esa esfera, pero tu pantalla es plana. Cuando intentas representar la esfera en una
superficie plana, hay distorsiones, de forma similar a si cortaras una pelota de tenis e intentaras aplanarla. Lo que
pasa en el mapa es que las líneas longitudinales se conservan a la misma distancia, incluso en los polos (donde se
supone que se conectan). Esto significa que, cuando te alejas del ecuador en tu mapa, la escala de los objetos que
tu ves se va agrandando. Lo que significa para nosotros es, prácticamente, ¡que no hay una escala constante en
nuestro mapa!
Para solucionar esto, utilicemos en su lugar un Sistema de Coordenadas Proyectado (SCP). Un SCP “proyecta” o
convierte los datos en una forma que permite a la escala cambiar y corregirse. Además, para mantener la escala
constante, deberiamos reproyectar nuestros datos a usar un SCP.
QGIS te permite reproyectar datos “al vuelo”. Lo que significa es que aunque los propios datos estén en otro SRC,
QGIS puede proyectarlo como si estuviera en un SRC de tu elección.
• Para habilitar la transformación “al vuelo”, haz clic en el botón Estado del SRC en Barra de estado en la
parte inferior de la ventana de QGIS:
• En el cuadro de diálogo que aparece, comprueba la caja junto a Activar transformación del SRC al vuelo.
• Escribe la palabra global en el campo Filtrar. Un SRC (NSIDC EASE-Grid Global) debería aparecer en
la lista inferior.
• Haz clic en NSIDC EASE-Grid Global para seleccionarlo, luego clic en Aceptar.
• Observa cómo cambia la forma de Sudáfrica. Todas las proyecciones funcionan cambiando las formas
aparentes de los objetos de la Tierra.
• Vuelve a ampliar a una escala de 1:5000000 como antes.
• Desplázate sobre el mapa.
• ¡Observa cómo la escala permanece igual!
La transformación” al vuelo” también se usa para combinar conjuntos de datos que están en diferentes SRCs.
• Vuelve a desactivar la transformación “al vuelo”
– Vuelve a hacer clic en el botón Estado del SRC
– Quita la marca de la caja Activar transformación del SRC al vuelo.
– Clicando Aceptar.
• En QGIS 2.0, la reproyección ‘al vuelo’ está automáticamente activada cuando las capas con diferentes
SRCs son cargadas en el mapa. Para entender lo que hace la reproyección ‘al vuelo’, desactiva el ajuste
automático:
– Ve a Configuración → Opciones...
– En el panel izquierdo del cuadro de diálogo, selecciona SRC.
– Desmarcar Habilitar automáticamente la reproyección ‘al vuelo’ si las capas tiene diferente SRC.
– Haz clic en Aceptar.
• Añade otra capa vectorial que solo tiene datos para Sudáfrica a tu mapa. La encontrarás como
exercise_data/world/RSA.shp.
¿Qué observas?
¡La capa no es visible! Pero tiene fácil solucion, ¿no?
• Haz clic derecho en la capa RSA en la Lista de capas.
• Selecciona Zoom to Layer Extent.
De acuerdo, ahora podemos ver Sudáfrica... ¿pero dónde está el resto del mundo?
Resulta que podemos ampliar a esas dos capas, pero no conseguimos verlas al mismo tiempo. Esto es porque sus
Sistema de Referencia de Coordenadas son muy diferentes. El conjunto de datos continents está en grados, pero
el conjunto de datos RSA está en metros. Así que, digamos que un punto dado en Ciudad del Cabo en el conjunto
de datos RSA está a unos 4 100 000 metros del ecuador. Pero en el conjunto de datos continents, el mismo
punto está a unos 33.9 grados del ecuador.
Esta es la misma distancia - pero QGIS no lo sabe. No le has dicho que reproyecte los datos. Así según lo que
QGIS entiende, la versión de Sudáfrica que vemos en el conjunto de datos RSA tiene a Ciudad del Cabo a la
distancia correcta de 4 100 000 metros del ecuador. Pero en el conjunto de datos continents, ¡Ciudad del Cabo
está a tan solo 33.9 metros del ecuador! Ya puedes ver donde está problema.
QGIS no sabe donde se supone que está Ciudad del Cabo - por eso los datos deberían decirselo. Si los datos dicen
al QGIS que Ciudad del Cabo está a 34 metros del ecuador y que Sudáfrica solo tiene 12 metros de norte a sur,
eso lo que QGIS representará.
Para corregir esto:
• Haga clic de nuevo en el botón Estado del SRC y cambie Habilitar transformación SRC ‘al vuelo’ de nuevo
como antes.
• Zum a la extensión del conjunto de datos RSA.
Ahora, como se les obliga a proyectarse en el mismo SRC, los dos conjuntos de datos se ajustan perfectamente:
Cuando combinamos datos de diferentes fuentes, es importante recordar que puede que no estén el mismo SRC.
La reproyección “al vuelo” te ayuda a representarlos juntos.
Antes de continuar, puede que quieras que la reproyección ‘al vuelo’ se active automáticamente cuando abras
conjuntos de datos que tengan diferentes SRC.
• Vuelve a abrir Configuración → Opciones... y selecciona SRC.
• Activa la reproyección Habilitar automaticamente la reproyección al vuelo si las capas tienen un SRC
diferente.
¿Recuerdas cuando calculaste las áreas de las construcciones en la lección Clasificación? Lo hiciste de forma que
podías clasificar las construcciones en función del área.
• Abre tu mapa habitual de nuevo (el que contiene los datos de Swellendam).
• Abre la tabla de atributos para la capa buildings.
• Desplázate hacia la derecha hasta que veas el campo AREA.
Obsera que las áreas son muy pequeñas; probablemente cero. Esto es porque esas áreas están dadas en grados -
los datos no estan proyectados en un Sistema de Coordenadas Proyectado. Para calcular el área de las granjas en
metros cuadrados, los datos también tienen que estar en metros cuadrados. Así que necesitamos reproyectarlo.
Pero utilizar la reproyección ‘al vuelo’ no nos ayudará. ‘Al vuelo’ hace lo que dice - no cambia los datos, solo
reproyecta capas al tiempo que aparecen en el mapa. Para reproyectar realmente los propios datos, necesitas
exportarlos a un nuevo archivo utilizando una nueva proyección.
• Haz clic derecho en la capa buildings en la Lista de capas.
• Selecciona Guardar como... en el menú que aparece. Verás el cuadro de diálogo Guardar capa vectorial
como....
• Haz clic en el botón Explorar junto al campo Guardar como.
• Navega hasta exercise_data/ y especifica el nombre de la nueva capa como
buildings_reprojected.shp.
• Deja Codificación sin cambiar.
• Cambia el valor del menú desplegable SRC de la capa a SRC seleccionado.
• Haz clic en el botón Explorar bajo el menú desplegable.
• El cuadro de diálogo Seleccionar SRC aparecerá.
• En su campo Filtrar, busca 34S.
• Escoge WGS 84 / UTM zone 34S de la lista.
• Deja Exportación de simbología sin cambiar.
El cuadro de diálogo Guardar capa vectorial como... tendrá este aspecto:
Esto añadirá un campo AREA con el tamaño de cada edificio en metros cuadrados
• Para calcular el área en otras unidades de medida, por ejemplo hectáreas, utiliza el campo AREA para crear
una segunda columna:
Mira los nuevos valores en la tabla de atributos. Esto es mucho más útil, ya que la gente en realidad citan el
tamaño del edificio en metros, no en grados. Es por esto que es una buena idea volver a proyectar sus datos, si
es necesario, antes de calcular áreas, distancias y otros valores que dependen de las propiedades espaciales de la
capa.
Hay muchos más proyecciones que las incluidas en QGIS por defecto. Además, también puedes crear tus propias
proyecciones.
• Inicia un mapa nuevo.
• Carga el conjunto de datos world/oceans.shp.
• Ve a Configuración → SRC personalizado... y verás este cuadro de diálogo:
• Haz clic en el botón Añadir nuevo SRC para crear un nueva proyección.
Una proyección interesante de usar se llama Van der Grinten I.
• Introduce su nombre en el campo Nombre.
Esta proyección representa la Tierra en un campo circular en lugar de una zona rectangular, como la mayoría de
proyecciones hacen.
• Para sus parámetros, utiliza la siguiente cadena:
+proj=vandg +lon_0=0 +x_0=0 +y_0=0 +R_A +a=6371000 +b=6371000 +units=m
+no_defs
7.1.5 In Conclusion
Proyecciones diferentes son útiles para diferentes propósitos. Eligiendo la proyección correcta, puedes asegurarte
que los elementos de tu mapa se están representando de forma precisa.
Los materiales usados para la sección Avanzada de esta lección se tomaron de este artículo.
Más información sobre Sistemas de Referencia de Coordenadas está disponible aquí.
En la siguiente lección aprenderás a analizar datos vectoriales utilizando varias herramientas de análisis vectorial
de QGIS.
También se puede proceder al análisis de datos vectoriales para saber cómo los distintos elementos interactúan
entre sí en el espacio. Hay muchas funciones relacionadas con el análisis en SIG, así que no nos detendremos
en todas ellas. En su lugar, plantearemos una pregunta e intentaremos resolverla utilizando las herramientas
proporcionadas por QGIS.
El objetivo de esta lección: Plantear una pregunta y contestarla utilizando las herramientas de análisis.
Antes de comenzar, sería de utilidad conocer de manera general los pasos que podemos seguir para resolver
cualquier problema SIG. Lo que debemos hacer es lo siguiente:
1. Plantear el problema
2. Obtener los datos
3. Analizar el problema
4. Presentar los resultados
7.2.2 El problema
Comencemos este procedimiento eligiendo un problema que se deba resolver. Por ejemplo, imaginemos que eres
un agente inmobiliario que está buscando un inmueble en Swellendam para clientes con el siguiente perfil:
1. Es necesario que esté en Swellendam.
2. Debe haber un colegio al que se pueda acceder en coche en un tiempo razonable (digamos una distancia de
1 km).
3. Debe tener un tamaño superior a los 100m cuadrados.
4. Debe haber duna carretera principal a una distancia inferior de 50m.
5. Debe haber un restaurante a una distancia inferior de 500m.
Para resolver todas estas preguntas, vamos a necesitar los siguientes datos:
1. Los inmuebles destinados a residencia (edificios) localizados en la zona.
2. Las carreteras dentro y alrededor del pueblo.
3. La ubicación de los colegios y restaurantes.
4. El tamaño de los edificios.
Todos estos datos están disponibles en OSM y debe tener en cuenta que el conjunto de datos que ha estado
utilizando a través de este manual también se pueden utilizar para esta lección. Sin embargo, para asegurarnos de
que tenemos todos los datos completos, descargaremos de nuevo los datos desde OSM utilizando QGIS instalados
en la herramienta de descarga de OSM.
Nota: Aunque hay coherencia en los campos de datos que encontramos en las descargas de OSM, pueden variar
en su cobertura y detalle. Si ves, por ejemplo, que la región que has elegido no contiene información sobre
restaurantes, quizás necesitas elegir otra región.
• Tenga en cuenta que el formato osm es un tipo de dato vectorial. Añadir estos datos como una capa vectorial
como normalmente Capa → Añadir capa vectorial..., vaya al nuevo archivo osm_data.osm que acaba
de descargar. Puede necesitar seleccionar Mostrar todos los archivos como el formato de archivo.
• Selecciona osm_data.osm y haz clic en Abrir
• En el cuadro de diálogo que aparece, selecciona todas las capas, excepto las capas other_relations y
multilinestrings:
Esto hará que los datos OSM se importen en su mapa como capas separadas.
Los datos que acabas de descargar desde OSM se encuentran en un sistema de coordenadas, WGS84, que utiliza
coordenadas de latitud y longitud, como ya vimos en la lección anterior. Asimismo, también aprendiste que para
calcular distancias en metros, necesitamos trabajar con un sistema de coordenadas proyectado. Comienza por
establecer el sistema de coordenadas de tu proyecto en un SRC adecuado para tus datos, en el caso de Swellendam,
WGS 84 / UTM zone 34S:
• Abre el cuadro de diálogo Propiedades del Proyecto, selecciona SRC y filtre la lista para encontrar
WGS 84 / UTM zone 34S.
• Haz clic en OK.
Ahora necesitamos extraer la información que necesitamos del conjunto de datos OSM. Es necesario finalizar
con capas representando todas las casas, colegios, restaurantes y carreteras de la región. Esta información se
encuentra dentro de la capa multipolygons y se puede extraer utilizando la información en su Tabla de Atributos.
Empezaremos con la capa schools.
• Haga clic con el botón derecho del ratón en la capa multipolygons en la Lista de Capas y abre la Propiedades
de la Capa.
• Ve al menú General.
• Bajo Subconjunto de objetos espaciales haz clic en el botón [Constructor de consultas] para abrir el cuadro
de diálogo Constructor de consultas.
• Mira en la lista de Campos de la izquierda de este cuadro de diálogo hasta que veas el campo amenity.
• Haz clic sobre él una vez.
• Haz clic en el botón Todos que se encuentra bajo la lista Valores:
Ahora necesitamos comunicar a QGIS que solamente nos muestre aquellos polígonos donde el valor de amenity
es igual a school.
• Haga doble clic sobre la palabra servicios en la lista de Campos.
• Vea lo que sucede en el campo guilabel:Expresión de filtrado especifico del proveedor a continuación:
Usando la técnica anterior, utiliza la herramienta Constructor de consultas para extraer los datos que quedan de
OSM para crear las siguientes capas:
• carreteras ( de la capa de OSM lines)
Algunas de las carreteras en los datos de OSM están listadas como unclassified, tracks, path y
footway. Queremos eliminarlas de nuestro conjunto de datos de carreteras.
• Abre el Constructor de Consultas para la capa roads, haz clic en Limpiear y crea la siguiente
consulta:
"highway" != ’NULL’ AND "highway" != ’unclassified’ AND "highway" !=
’track’ AND "highway" != ’path’ AND "highway" != ’footway’
Puedes, o bien utilizar la estrategia utilizada anteriormente, haciendo doble clic en los valores y clic en los botones,
o bien puedes copiar y pegar el comando que aparece arriba.
Esto debería reducir inmediatamente el número de carreteras en tu mapa:
Como vamos a estar midiendo distancias entre nuestras capas, necesitamos cambiar el SRC de las capas. Para ello,
necesitamos seleccionar las capas una por una, guardar la capa a un nuevo shapefile con nuestra nueva proyección
Nota: En este ejemplo, vamos a usar el SRC WGS 84 / UTM zone 34S, pero puedes utilizar un SRC UTM que
sea más apropiado para tu región.
Nota: Si usted no tiene activado Activar transformación de SRC ‘al vuelo’ o el : guilabel:‘ Activar automática-
mente la reproyección ‘al vuelo’ si las capas tienen diferentes configuración de SRC‘ (véase la lección anterior),
puede ser no pueda ver las nuevas capas que acaba de agregar al mapa. En este caso, puede centrar el mapa en
cualquiera de las capas haciendo clic derecho sobre cualquier capa y haga clic derecho en Zum a la extensión de
la capa, o simplemente permitir que cualquiera de las opciones mencionadas ‘al vuelo’.
Repite este proceso para cada capa, creando un nuevo shapefile y una nueva capa añadiendo el apendice “_34S”
al nombre original y eliminando cada una de las capas viejas.
Una vez que hayas completado el proceso para cada capa, haz clic derecho sobre cualquiera de las capas y clic en
Zum a la extensión de la capa para enfocar el mapa a la zona de interés.
Ahora que hemos convertido los datos OSM a una proyección UTM, podemos empezar nuestros cálculos.
The Distance is in meters because our input dataset is in a Projected Coordinate System that uses meter as its basic
measurement unit. This is why we needed to use projected data.
• Guarda la capa resultante en exercise_data/desarrollo_inmobiliario/ as
carreteras_buffer_50m.shp.
• Clic OK y el buffer se creará.
• Cuando te pregunte si debe “añadir resultado al TDC”, clic Aceptar. (“TDC” significa “Tabla de Con-
tenidos”, que es lo mismo que la Lista de capas).
• Close the Fixed distance buffer dialog.
Si tu nueva capa es la primera en la lista Capas, probablemente ocultará una gran parte de tu mapa, pero nos da
todas las áreas que están a dentro de una distancia de 50m de una carretera en tu región.
Sin embargo, verás que hay zonas distintas dentro de nuestro buffer, correspondiendo a cada una de las carreteras.
Para resolver este problema, elimina la capa y crea el buffer de nuevo utilizando las opciones mostradas aquí:
• Usa el mismo enfoque que anteriormente y crea un buffer para tus colegios.
Es necesario que sea 1 km en radios, y guardarlo en el directorio habitual como schools_buffer_1km.shp.
:ref:‘ Comprueba tus resultados <vector-analysis-basic-2>‘
Ahora tenemos áreas donde la carretera está a 50 metros y en la que hay un colegio en un espacio de 1 km ( en
línea recta, no por la carretera). Pero obviamente, sólo queremos aquellas áreas donde coincidan estos dos criterios
Para lo cual, necesitaremos utilizar la herramienta Intersect tool. La puedes encontrar en Vector → Geoprocessing
Tools → Intersect. Instalela de la siguiente manera:
Las dos capas de entrada son los dos buffers; la ruta de guardado es la usual y el nombre del archivo es
road_school_buffers_intersect.shp. Una vez hecho esto, haga clic en OK y añada la capa a Layers
list cuando se le pida.
En la imagen inferior, las áreas en azul muestran donde ambos criterios de distancia coinciden
Usted puede borrar las dos capas buffer y solo mantener la que muestra la superposición, dado que eso era lo que
queriamos conocer en primer lugar:
Ahora que usted conoce el área en que las construcciones se superponen. El proximo paso es seleccionar las
construcciones en dicha área.
Los edificios destacados en amarillo son aquellos que cumplen nuestros criterios y están seleccionados, mientras
que los edificios en verde son los que no. Podemos ahora guardar los edificios seleccionados como una nueva
capa.
• Haz clic derecho en la capa houses_34S de la Layers list.
• Selecciona Guadar Selección como....
• Configura el diálogo emergente así:
Ahora tenemos una capa que nos muestra los edificios en un radio de 1km de una escuela y a menos de 50m de
una carretera. Ahora tenemos que reducir la selección para que sólo nos muestre los edificios que están a menos
de 500 metros de un restaurante.
Usando los procesos descritos anteriormente, crear una capa llamada houses_restaurants_500m aplicando
filtros adicionales a la capa well_located_houses para mostrar sólo aquellos que están a menos de 500
metros de un restaurante.
:ref:‘ Comprueba tus resultados <vector-analysis-basic-3>‘
Para ver que edificios son del tamaño correcto (más de 100 metros cuadrados), primero necesitamos calcular su
tamaño.
• Abre la tabla de atributos de la capa houses_restaurants_500m.
• Entra en el modo de edición y abre la calculadora de campos.
• Configúralo así:
• Si no puedes encontrar AREA en la lista, intenta crear un nuevo campo como hiciste en la lección previa de
este módulo.
• Haz clic en OK.
• Desplázate a la derecha de la tabla de atributos; tu campo AREA contiene ahora el área en metros cuadrados
de todos los edificios de la capa houses_restaurants_500m.
• Haga clic en el botón del modo de edición de nuevo para finalizar la edición y guarde los cambios cuando
se le pida.
• Construya una consulta como hizo anteriormente en esta lección.
• Haga clic en Aceptar. Tu mapa debería mostrar aquellos edificios que cumplen los criterios iniciales y
aquellos de tamaño superior a 100 metros cuadrados.
• Guarda la solución como una nueva capa usando la estrategia que aprendiste anteriormente. El archivo
debería ser guardado en el directorio usual con el nombre solution.shp.
7.2.15 In Conclusion
Usando la estrategia de resolución de problemas SIG junto con las herramientas de análisis vectorial de QGIS, has
sido capaz de resolver un problema con múltiples criterios rápida y fácilmente.
En la siguiente lección veremos como calcular la distancia mas corta de un punto a otro de una carretera.
Calcular la distancia más corta entre dos puntos es un uso comunmente citado de un SIG. QGIS contiene esta
herramienta, pero no es visible por defecto. En esta breve lección, te enseñaremos lo que necesitas para empezar.
El objetivo de esta lección: Para activar, configura y usa el plugin Complemento de grafos de rutas.
QGIS tiene muchos plugins que se añaden a sus funciones básicas. Muchos de estos plugins son tan útiles que se
incluyen con el programa directamente. Sin embargo, se mantienen ocultos por defecto. Para usarlos, necesitas
activarlos primero.
Para activar el plugin Complemento de grafos de rutas:
• Inicia el Administrador de complementos clicando en el elemento Complementos → Administrar e instalar
complementos... del menú de la ventana principal del QGIS. Un cuadro de diálogo aparecerá.
• Selecciona el complemento así:
Nota: Si no ve el complemento en su interfaz, vaya a Ver→ Paneles y asegúrese que Ruta más corta tiene una
marca de verificación junto a él.
Tienes una capa en la que calcular, primero guarda tu mapa actual. Si no lo has hecho todavía, guarda tu capa
roads_34S en un archivo shape haciendo clic derecho en la capa y seleccionando Guardar como.... Crea un
mapa nuevo y carga la capa en él.
Como hay muchas configuraciones posibles cuando analizas redes, el complemento no asume nada hasta que lo
ajustes. Esto significa que no hará nada en absoluto a no ser que lo ajustes.
• Haz clic en el elemento del menú Vectorial → Grafo de rutas → Configuración. Un cuadro de diálogo
aparecerá.
• Asegúrate de que está ajustado como este (utiliza valores por defecto a no ser que estén especificados):
Encuentra dos puntos, en calles de tu mapa. No tienen por qué tener ningún significado, pero deberían estar
conectadas por calles y separadas por una distancia razonable:
• En el panel del plugin, haz clic en el botón Capturar punto junto al campo Inicio:
Nota: Sección desarrollada por Linfiniti y S Motala (Universidad Tecnológica de la Península del Cabo)
(Para seleccionar más de una calle, mantén pulsado ctrl y arrastra una caja sobre cada calle que quieras incluir
en la selección.)
• En la tabla de atributos, selecciona Mostrar objetos espaciales seleccionados.
En contexto, esto significa que estás ajustando el límite de velocidad en esas calles a 60 km/h.
• Selecciona las autopistas o carreteras principales fuera de las zonas urbanas:
• En la lista desplegable Criterio del panel Ruta más corta, selecciona Longitud.
• Haz clic en Calcular. La ruta será calculada por distancia más corta:
Observa los valores de Longitud and Tiempo del panel Ruta más corta.
• Ajusta Criterio a Tiempo.
• Haz clic de nuevo en Calcular. La ruta será calculada por duración más corta:
Puedes alternar entre estos criterios, volver acalcular cada vez, y observar los cambios que Longitud y Tiempo
producen. Recuerda que la presunción de llegar a un tiempo dado para el viaje no tiene en cuenta la aceleración, y
asume que estarás viajando a la velocidad límite todo el tiempo. En situaciones reales, puede que quieras dividir
las calles en secciones más pequeñas y observar la velocidad esperada en cada sección, en lugar de la velocidad
límite.
Si cuando clicas Calcular, ves un error diciendo que la ruta no puedo ser encontrada, asegúrate de que las calles
que digitalizaste realmente se están conectadas. Si no se están tocándose, arréglalo modificando los elementos, o
ajustando la Tolerancia de topología en los ajustes del complemento. Si las calles pasan unas sobre otras pero no
hay intersección, utiliza la herramienta Dividir objetos espaciales para “dividir” calles en sus intersecciones:
¡Recuerda que la herramienta Dividir objetos espaciales solo funciona en modo edición y en elementos selec-
cionados!
También puede que encuentres que la ruta más corta es también la más rápida si recibes ese error.
7.3.5 In Conclusion
Ahora sabes como usar el complemento Grafo de rutas para solucionar los problemas con las rutas más cortas.
Lo siguiente que verás será cómo ejecutar algoritmos espaciales estadísticos en conjuntos de datos vectoriales.
Nota: Lección desarrollada por Linfiniti y S Motala (Universidad Tecnológica de Península del Cabo)
Las estadísticas espaciales te permiten entender que está pasando en un conjunto de datos vectoriales dado. QGIS
incluye muchas herramientas estándar para análisis estadísticos que demuestran ser muy útiles para estas materias.
El objetivo de esta lección: Saber como utilizar las herramientas estadísticas espaciales de QGIS.
Para obtener un conjunto de datos con el que trabajar, crearemos un conjunto de puntos al azar.
Para ello, necesitarás un conjunto de datos poligonal para definir la extensión del área en la que quieres crear los
puntos.
Utilizaremos el área cubierta por calles.
• Crea un mapa vacío nuevo.
• Añade tu capa roads_34S, así como el ráster srtm_41_19.tif (datos de elevaciones) que s encuentran
en exercise_data/raster/SRTM/.
Nota: Puedes encontrar que tu SRTM MDE tiene un SRC diferente que el de la capa de carreteras. En ese caso,
puedes reproyectar la capa de carreteras o la del MDE utilizando las técnicas aprendidas anteriormente en este
módulo.
• Para crear un conjunto de datos de muestreo desde el raster, necesitarás utilizar el plugin Point sampling
tool.
• Refiérete al módulo de complementos si es necesario.
• Busca la frase point sampling en el Complementos → Administrar e instalar complementos... y en-
contrará el complemento.
• Tan pronto como la actives en el Administrador de complementos, encontrarás la herramienta en Comple-
mentos → Analyses → Point sampling tool:
• Selecciona puntos_aleatorios como la capa contenedora de puntos de muestreo, y el SRTM raster como la
banda de la que se obtengan los valores.
• Asegúrate de que “Add created layer to the TOC” está habilitado.
• Guardalo en exercise_data/spatial_statistics/ como muestras_aleatorias.shp.
Ahora puedes comprobar los datos muestreados del archivo ráster en la tabla de atributos de la capa mues-
tras_aleatorias, estarán en una columna llamada srtm_41_19.tif.
Aquí tienes una posible capa de muestreo:
Los puntos de muestreo están clasificados por su valor como los puntos oscuros lo son a baja altitud.
Utilizarás esta capa de datos de muestreo durante el resto de los ejercicios estadísticos.
Nota: Puedes copiar y pegar los resultados en una hoja de cálculo. Los datos utilizan como separador (dos puntos
:).
• Crea una nueva capa de puntos en la misma proyección que los demás conjuntos de datos (WGS 84 /
UTM 34S).
• Entra en el modo edición y digitaliza tres puntos en en algún lugar entre los otros puntos.
• Como alternativa, utiliza el mismo método de generación de punto al azar como antes, pero especifica sólo
tres puntos.
• Guarda tu nueva capa como puntos_distancia.shp.
Para generar una matriz de distancia utilizando esos puntos:
• Abre la herramienta Vectorial → Herramientas de análisis → Matriz de distancia.
• Selecciona la capa puntos_distancia como capa de entrada, y la capa muestras_aleatorias como capa de
destino.
• Ajústalo así:
Nota: Puedes copiar y pegar los resultados en una hoja de cálculo. Los datos utilizan como separador (dos puntos
:).
El histograma de un conjunto de datos muestra la distribución de sus valores. La forma más simple de demostrarlo
en QGIS es a través de la histograma de imagen, disponible en el cuadro de diálogo Propieadades de la capa de
cualquier capa imagen.
• En tu Lista de capas, haz clic derecho en la capa SRTM DEM.
• Selecciona Propiedades.
• Elige la pestaña Histograma. Puede que necesites clicar en el botón Calcular Histograma para generar un
gráfico. Verás un gráfico describiendo la frecuencia de los valores en la imagen.
• Selecciona la pestaña Metadata, puedes ver información más detallada dentro de la caja Propiedades.
El valor medio es 332.8, ¡y el valor máximo es 1699! Pero esos valores no se muestran en el histograma. ¿Por
qué no? Porque hay muy pocos, comparado con la abundancia de píxels con valores por debajo de la media. Por
eso el histograma se extiende tan lejos hacia la derecha, incluso hay una línea no visible marcando la frecuencia
de valores mayores que 250.
Además, ten presente que el histograma te muestra la distribución de los valores, y no todos los valores son
necesariamente visibles en el gráfico.
• (Puedes cerrar ahora las Propiedades de la capa.)
Digamos que tienes una colección de puntos de muestra de los que te gustaría extrapolar datos. Por ejemplo,
puede que tengas acceso al conjunto de datos muestras_aleatorias que creaste antes, y quieres tener una idea de
que aspecto tiene el terreno.
Para empezar, inicia el Cuadrícula (Interpolación) clicando en el elemento del menú Ráster → Análisis→
Cuadrícula (Interpolación).
• En el campo Archivo de entrada, selecciona muestras_aleatorias.
Como puedes ver, 100 puntos de muestreo no son realmente suficientes para tener una impresión detallada del
terreno. Te dan una idea muy general, pero también puede ser engañoso. Por ejemplo, en la imagen anterior, no
está claro que hay una montaña alta que discurre de este a oeste; sin embargo, la imagen parece mostrar un valle,
con puntos altos en el oeste. Simplemente utilizando una inspección visual, podemos ver que el conjunto de datos
de muestreo no es representativo del territorio.
• Utiliza los procesos mostrados antes para crear un nuevo conjunto de datos aleatorios de 1000.
• Utiliza los puntos para muestrear el DEM original.
• Utiliza la herramienta Cuadrícula (Interpolación) en el nuevo conjunto de datos como antes.
• Nombra al archivo de salida interpolacion_1000.tif, con Potencia y Suavizado ajustado a 5.0 y
2.0, respectivamente.
Los resultados (dependiendo de la posición de tus puntos aleatorios) se verán más o menos como esto:
El borde muestra la capa envolvente_carreteras (que representa los límites de puntos aleatorios de muestreo) para
explicar una repentina falta de detalle más allá de sus bordes. Esto es una representación mucho mejor del terreno,
debido a la mayor densidad de puntos de muestreo.
Aquí hay un ejemplo del aspecto con puntos de muestreo de 10 000:
Nota: No es recomendable que intentes hacer esto con 10 000 puntos de muestreo si no estás trabajando con
un ordenador rápido, ya que con ese tamaño de conjunto de datos de muestreo se requiere mucho más tiempo de
procesado.
Originalmente un proyecto separado y luego accesible como complemento, el software SEXANTE se ha añadido
al QGIS como una función básica desde la versión 2.0. Puedes encontrarlo como un menú QGIS nuevo con su
nuevo nombre Procesado desde donde puedes acceder a una caja de herramientas rica en herramientas de análisis
espacial que te permiten acceder a varios complementos desde una simple interfaz.
• Activar este conjunto de herramientas al habilitar el menú Procesado → Caja de herramientas. La caja de
herramientas se ve así:
Es probable que la veas anclada en QGIS en la parte derecha del mapa. Observa que las herramientas listadas
ahí son enlaces a las herramientas. Algunos de ellos son algoritmos propios de SEXTANTE y otros son enlaces
de herramientas a las que se accede desde aplicaciones externas como GRASS, SAGA o la caja de herramientas
Orfeo. Estas aplicaciones externas están instaladas con QGIS así que ya puedes utilizarlas. En caso de que
necesites cambiar la configuración de las herramientas de Procesado, o por ejemplo, necesites actualizar una
nueva versión de una de la aplicaciones externas, puedes acceder a sus ajustes desde Procesado → Opciones y
configuración.
Para una simple indicación de la distribución espacial de puntos en el conjunto de datos muestras_aleatorias,
podemos utilizar la herramienta de SAGA Spatial Point Pattern Analysis a través de la Caja de herramientas de
procesado que abriste antes.
• En Caja de herramientas de procesado, busca la herramienta Spatial Point Pattern Analysis.
Instalando SAGA
Nota: Si SAGA no está instalado en tu sistema, el cuadro de diálogo del complemento te informará que la
dependencia no se encuentra. Si éste no es el caso, puedes saltarte estos pasos.
En Windows
Encontrarás una instalación de SAGA para Windows en los materiales del curso.
• Inicia el programa y sigue sus instrucciones para instalar SAGA en tu sistema de Windows. ¡Anota la ruta
en la que lo estás instalando!
Una vez instalado el SAGA, necesitarás configurar SEXTANTE para encontrar la ruta en el que estaba instalado.
• Haz clic en la entrada del menú Analysis → SAGA options and configuration.
• En el cuadro de diálogo que aparece, expande SAGA item and look for SAGA folder. Su valor estará en
blanco.
• En ese espacio, inserta la ruta donde instalaste el SAGA.
En Ubuntu
• Busca SAGA GIS en el Software Center, o introduce la frase sudo apt-get install saga-gis en
tu terminal. (Puede que necesites primero añadir un repositorio de SAGA en tus fuentes.)
• QGIS encontrará SAGA automáticamente, aunque puede que necesites reiniciar QGIS si no funciona direc-
tamente.
En Mac
Después de instalar
Ahora que has instalado y configurado SAGA, sus funciones te serán accesibles.
Utilizando SAGA
El punto rojo es la media central; el gran círculo es la distancia estándar, que dá una indicación de cómo de cerca
estan distribuidos los puntos alrededor de la media central; y el rectángulo es la caja delimitadora, describiendo el
mínimo rectángulo posible que todavía incluye todos los puntos.
A menudo, la salida de un algoritmo no es un archivo shape, sino una tabla resumen de las propiedades estadísticas
del conjunto de datos. Una de esas herramientas es Minimum Distance Analysis.
• Encuentra esta herramienta en la Caja de herramientas de proceso como Análisis de distancia mínima.
No requiere ninguna otra entrada a parte de especificar el conjunto de puntos vectoriales a ser analizado.
• Escoge el conjunto de datos puntos_aleatorios.
• Haz clic en Aceptar. Al finalizar, una tabla DBF aparecerá en la Lista de capas.
• Selecciónala, luego abre su tabla de atributos. Aunque algunas figuras puede que varíen, tus resultados
estarán en este formato:
7.4.12 In Conclusion
QGIS permite muchas posibilidades para analizar las propiedades espaciales estadísticas de conjuntos de datos.
Ahora que hemos cubierto el análisis vectorial, ¿por qué no ver que podemos hacer con los ráster? Eso es lo ¡que
haremos en el siguiente módulo!
Rasters
Anteriormente hemos utilizado rasters para digitalizar, pero los datos raster también pueden utilizarse directa-
mente. En este módulo verás como se hace en QGIS.
Los datos ráster son bastante diferentes de los datos vectoriales. Los datos vectoriales tienen elementos discretos
construidos a partir de vértices, y puede que conectados con líneas y/o áreas. Los datos ráster, sin embargo, son
como cualquier imagen. Aunque pueden describir propiedades de los objetos en el mundo real, esos objetos no
existen como objetos delimitados, en lugar de ello están representados utilizando píxeles de distintos valores de
color.
Durante este módulo utilizarás datos ráster para suplementar el análisis SIG que has hecho hasta ahora.
El objetivo de esta lección: Aprender como trabajar con datos ráster en el entorno del QGIS.
• Abra su mapa analysis.qgs (que debería haber creado y guardado durante el módulo previo).
• Desactiva todas las capas excepto las capas solución y carreteras_importantes.
• Haz clic en el botón Load Raster Layer:
Se abrirá el cuadro de diálogo Añadir capa ráster. Los datos para ese proyecto estan en
exercise_data/raster.
• Cárgalos todos por separado, o mantén pulsado ctrl y selecciona a los cuatro a la vez, y ábrelos todos al
mismo tiempo.
La primera cosa que observarás es que nada parece estar pasando en tu mapa. ¿No se están cargando los ráster?
Bueno, están en Lista de capas, así que obviamente se cargaron. El problema es que no están en la misma
proyección. Afortunadamente, ya hemos visto qué hacer en esta situación.
• Select Project → Project Properties in the menu:
• Selecciona la pestaña SRC en el menú:
• Habilita la proyección “al vuelo”.
• Ajústala a la misma proyección que el resto de tus datos (WGS 84 / UTM zone 33S).
• Click [OK].
207
QGIS Training Manual, Publicación 2.18
Ahí lo tenemos - cuatro fotografías aéreas cubriendo toda nuestra área de estudio.
Ahora como puedes ver, tu capa de soluciones se encuentra sobre las cuatro fotografías. Lo que significa que vas a
trabajar con los cuatro ráster al mismo tiempo. Esto no es ideal; sería mejor tener un solo archivo por cada imagen
(composición), ¿No?
Afortunadamente, QGIS te permite hacer eso exactamente, y sin necesidad de crear un nuevo archivo ráster, que
podría ocupar mucho espacio. En su lugar, puedes crear un Ráster Virtual. Eso también se denomina un Catálogo,
lo que explica su función. No es realmente un ráster nuevo. Si no que és una forma de organizar tus ráster
existentes en un catálogo: un archivo de fácil acceso.
Para hacer un catálogo:
• Haz clic en el elemento del menú Ráster → Miscelánea → Construir ráster virtual (Catálogo).
• En el cuadro de diálogo que aparece, marca la caja junto a Usar capas ráster visibles para la entrada.
• Introduce exercise_data/residential_development como ubicación de salida.
• Introduce fotos_aereas.vrt como nombre de archivo.
• Comprueba el botón Cargar en la vista del mapa cuando se termine.
Observa el campo de texto inferior. Lo que el cuadro de diálogo está haciendo es escribir ese texto por ti. Es un
comando largo que QGIS va a ejecutar por ti.
Nota: Ten presente que el comando de texto se puede editar, así que lo puedes personalizar si lo prefieres.
Busca en línea el comando inicial ( en este caso, gdalbuildvrt) para ayudarte en la síntesis.
Puede que lleve un poco completarlo. Cuando esté hecho, te avisará con un cuadro de mensaje.
• Haz clic en Aceptar para quitar el mensaje.
• Haz clic en Cerrar en el cuadro de diálogo Construir ráster virtual (Catálogo). (No hagas clic en Aceptar
de nuevo, si lo haces se ejecutará el comando de nuevo.)
Los métodos anteriores te permiten unir virtualmente conjuntos de datos utilizando un catálogo, y reproyectarlos
“al vuelo”. Sin embargo, si estás ajustando datos que utilizarás por mucho tiempo, puede ser más eficiente crear
un nuevo ráster que ya esté unido y reproyectado. Esto mejora el rendimiento cuando utilizas rásters en un mapa,
pero puede que lleve algún tiempo para ajustarlo inicialmente.
Reproyectando Ráster
Uniendo rásters
8.1.4 In Conclusion
Lo siguiente será utilizar datos ráster que no sean imágenes aéreas, y veremos cómo la simbología también es útil
en el caso de los rásters.
No todos los datos ráster consisten en fotografías aéreas. Hay muchas otras formas de datos ráster, y en muchos
de esos casos, es esencial simbolizar correctamente los datos para que sean fácilmente visibles y útiles.
El objetivo de esta lección: Cambiar la simbología de una capa ráster.
• Inicia con el mapa actual que debería haber creado durante el ejercicio anterior: analysis.qgs.
• Utiliza el botón Añadir capa ráster para cargar el nuevo conjunto de datos ráster.
• Carga el conjunto de datos srtm_41_19.tif, que se encuentra en el directorio
exercise_data/raster/SRTM/.
• Una vez que haya aparecido en la Lista de capas, cámbiale el nombre a MDE.
• Aplica el zoom a la extensión de la capa con clic derecho en ella en la Lista de Capas y selecciona Zum a la
extensión de la capa.
Ese conjunto de datos es un Modelo Digital de Elevación (MDE). Es un mapa de la elevación (altitud) del terreno,
permitiendonos ver donde están las montañas y los valles, por ejemplo.
Una vez cargado, observarás que hay una representación básica en escala de grises del MDE. Se ve aquí con las
capas vectoriales por encima:
QGIS ha aplicado automáticamente un estiramiento a la imagen para fines de visualización, y aprenderemos más
sobre cómo funciona esto mientras avanzamos.
• Abre el cuadro de diálogo Propiedades de la capa para la capa SRTM con clic derecho en la capa en el árbol
de capas y selecciona la opción Propiedades.
• Cambia a la pestaña Estilo.
Esos son los ajustes actuales que QGIS ha aplicado por defecto. Esto es solo una forma de ver el MDE, así que
exploremos otras.
• Cambia el Tipo de renderizador a Unibanda pseudocolor, y utiliza las opciones presentadas por defecto.
• Haz clic en el botón Clasificar para generar una clasificación por color nueva, y haz clic en Aceptar para
aplicar esta clasificación al MDE.
Es un modo interesante para ver al MDE así, pero puede que no queramos simbolizarlo utilizando estos colores.
• Vuelve a abrir el cuadro de diálogo Propiedades de la capa.
• Vuelve a cambiar el Tipo de renderizador a Unibanda gris.
• Haz clic en Aceptar para aplicar los ajustes al ráster.
Ahora verás un rectangulo totalmente gris que no es útil en absoluto.
Esto ocurre porque hemos perdido los ajustes por defecto que “estira” los valores del color para mostrarlos con-
trastados.
Digamos a QGIS que vuelva a “estirar” los valores del color basados en el rango de los datos del MDE. Esto hará
que QGIS use todos los colores disponibles (en Escala de grises, esto es negro, blanco y todos los tipos de gris
intermedios).
• Especifica los valores Mín and Máx como se muestran abajo.
• Ajusta el valor Mejora de contraste a Estirar a MinMax:
Pero ¿Cuáles son los valores máximos y mínimos que deberían usarse en los ajustes? Aquellos que ya estan en
Mín y Máx son los mismos valores que nos dieron el rectángulo gris de antes. En lugar de ello, deberíamos utilizar
los valores mínimos y máximos que están realmente en la imagen, ¿verdad? Afortunadamente, puedes determinar
esos valores fácilmente cargando el valor mínimo y máximo del ráster.
• En Cargar valores min / max, selecciona la opción Min / Max.
• Haz clic en el botón Cargar.
Observa cómo los Los valores min / max han cambiado para relejar los valores reales de nuestro MDE:
Si, la hay. Ahora que entiendes que se necesita hacer, te alegrará saber que hay una herramienta para hacer todo
eso fácilmente.
• Borra el MDE actual de la Lista de capas.
• Carga el ráster otra vez, vuelve a llamarlo MDE como antes. Ahí vuelve a estar el rectángulo gris...
• Activa la herramienta que necesitarás en Ver → Barras de herramientas → Ráster. Esos iconos aparecerán
en el interfaz:
El tercer botón por la izquierda Estiramiento de histograma local ajustará automáticamente los valores mínimos
y máximos para darte el mejor contraste en el área local a la que has ampliado. Es útil para conjuntos de datos
grandes. El botón de la izquierda Cortar estiramiento local acumulativo ... ajustará los valores mínimos y máxi-
mos a valores constantes en toda la imagen.
• Haz clic en el cuarto botón desde la izquierda (Estirar histograma a la extensión de todo el conjunto de
datos). Verás que los datos están ahora correctamente representados como antes.
Puedes probar los otros botones de esta barra de herramientas y ver cómo alteran los ajustes de la imagen cuando
amplías a áreas locales o cuando alejas el zum.
8.2.3 In Conclusion
Estas son solo las funciones básicas para iniciarte con la simbología ráster. QGIS también te permite muchas
otras opciones, como simbolizar una capa utilizando desviaciones estándar, o representar diferentes bandas con
diferentes colores en una imagen multi espectral.
8.2.4 Referencia
Ahora que podemos ver nuestros datos adecuadamente representados, investiguemos cómo podemos analizarlos
todavía mejor.
Ciertos tipos de ráster te permiten obtener una visión más clara del terreno que representan. Los Modelos de Digi-
tal de Elevaciones (MDEs) son particularmente útiles para ello. En esta lección utilizaras herramientas de análisis
de terrenos para obtener más información sobre el área de estudio para la propuesta de desarrollo residencial
anterior.
El objetivo de esta lección: Utilizar herramientas de análisis del terreno para obtener más información sobre el
terreno.
El MDE que tienes en tu mapa ahora mismo te muestra la elevación del terreno, pero en ocasiones puede ser un
poco abstracto. Contiene toda la información 3D que necesitas sobre el terreno, pero no parece un objeto 3D. Para
tener una mejor visión del terreno, es posible calcular un sombreado del relieve, que es un ráster que utiliza la luz
y sombra del terreno para crear una imagen que aprenta ser 3D de este.
Para trabajar con MDEs, deberías utilizar la herramienta de análisis todo-en-uno del QGIS MDT (Modelos de
terreno)
• Haz clic en el elemento del menú Ráster → Análisis → MDT (Modelos de terreno).
• En el cuadro de diálogo que aparece, asegúrate que el Archivo de entrada file es la capa MDE.
• Ajusta el Archivo de salida a relieve_sombreado.tif en el directorio
exercise_data/residential_development.
• Asegúrate también de que la opción Modo tiene Mapa de sombras (Hillshade) seleccionada.
• Comprueba que la caja junto a Cargar en la vista del mapa cuando se termine esta seleccionada.
• Puedes dejar todas las demás opciones sin cambiar.
• Haz clic en Aceptar para generar el sombreado del relieve.
• Cuando te diga que el proceso se ha completado, haz clic en Aceptar en el mensaje para cerrarlo.
• Haz clic en Cerrar en el cuadro de diálogo principal MDT (Modelos del terreno).
Ahora tendrás una capa nueva llamada relieve_sombreado que tiene este aspecto:
Se ve bien en 3D, pero ¿podemos mejorarla? En sí mismo, el sombreado del relieve parece un molde de yeso.
¿No podríamos utilizarlo con nuestros otros ráster más coloridos de alguna manera? Por supuesto que podemos,
utilizando el sombreado del relieve como una capa sobrepuesta.
8.3.2 Follow Along: Utilizando un Sombreado del Relieve como Capa So-
brepuesta
Un sombreado del relieve puede proporcionar información muy útil sobre la luz solar en un momento dado del
día. Pero también puede ser utilizado para fines estéticos, para que el mapa tenga mejor aspecto. La clave en este
caso está en que el sombreado del relieve sea defina como mayormente transparente.
• Cambia la simbología del MDE original para utilizar el esquema Pseudocolor como en el ejercicio anterior.
• Oculta todas las capas excepto MDE y relieve_sombreado.
• Haz clic y arrastra la MDE hasta debajo de la capa relieve_sombreado en la Lista de capas.
• Ajusta la capa relieve_sombreado para ser transparente abriendo sus Propiedades de la capa y ve a la
pestaña Transparencia.
• Ajusta la Transparencia global a 50%:
• Haz clic en Aceptar en el cuadro de diálogo Propiedades de la capa. Obtendrás resultados como estos:
• Activa y desactiva varias veces la capa relieve_sombeado en la Lista de capas para ver la diferencia que hay.
Utilizando el sombreado del relieve de esta forma, es posible enaltecer la topografía del paisaje. Si el efecto no
parece ser suficiente para ti, puedes cambiar la transparencia de la capa relieve_sombreado, pero por supuesto,
cuanto más brillante se vuelva el sombreado del relieve, peor se verán los colores bajo él. Necesitarás encontrar
un balance que funcione.
Recuerda guardar tu mapa cuando hayas terminado.
Nota: Para los siguientes dos ejercicios, por favor, usa un mapa nuevo. Carga solo el conjunto de
datos ráster MDE en el mapa (exercise_data/raster/SRTM/srtm_41_19.tif). Es para sim-
plificar la tarea mientras trabajas con la herramienta de análisis del ráster. Guarda el mapa como
exercise_data/raster_analysis.qgs.
Otra cosa útil a saber sobre el terreno es cómo de escarpado es. Si, por ejemplo, quieres construir casas en esas
tierras, entonces necesitarás un terreno relativamente plano.
Para hacer esto, necesitas utilizar la herramienta Pendiente mode of the MDT (Modelos de terreno).
• Abre la herramienta como antes.
• Selecciona la opción Pendiente dentro de Modo:
La orientación del terreno se refiere a la dirección en la que está orientado. Como el estudio se lleva a cabo en
el Hemisferio Sur, las propiedades deberían ser construidas idílicamente en una pendiente orientada al norte para
permanecer iluminadas.
• Utiliza el modo Orientación de la herramienta MDT (Modelos de terreno) para calcular la orientación del
terreno.
Comprueba tus resultados
Piensa en el problema del agente inmobiliario anterior, que se abordó en la lección Análisis Vectorial. Imagina que
los compradores ahora quieren encontrar una construcción y construir una pequeña casa de campo en la propiedad.
En el Hemisferio Sur, sabemos que una parcela con un desarrollo ideal debe estar orientada al norte, y con una
pendiente de menos de cinco grados. Pero si la pendiente es menor a 2 grados, la orientación no importará.
Afortunadamente, ya tienes rásters mostrándote la pendiente además de la orientación, pero no tienes ninguna
forma de saber dónde se dan ambas condiciones a la vez. ¿Cómo se podría realizar este análisis?
La respuesta está en la Calculadora ráster.
• Haz clic en Ráster > Calculadora ráster... para iniciar la herramienta.
• Para utilizar el conjunto de datos orientación, doble clic en el elemento orientación@1 en la lista Bandas
ráster de la izquierda. Aparecerá en el campo de texto Expresión de la calculadora de campos más abajo.
El norte está a 0 (cero) grados, así que para un terreno orientado al norte, la orientación debe ser mayor de 270
grados y menor de 90.
• En el campo Expresión de la calculadora de campos, introduce esta expresión:
aspect@1 <= 90 OR aspect@1 >= 270
• Ajusta el archivo de salida a orientación_norte.tif en el directorio
exercise_data/residential_development/.
• Asegúrate de que la caja Añadir resultados al proyecto está seleccionada.
• Haz clic en Aceptar para empezar a procesar.
Ahora que has hecho la orientación, crea dos nuevos análisis de la capa MDE.
• El primero será para identificar todas las áreas donde la pendiente es menor o igual a 2 grados.
• El segundo es similar, pero la pendiente debería ser menor o igual a 5 grados.
• Guárdalos en exercise_data/residential_development/ como pendiente_lte2.tif y
pendiente_lte5.tif.
Comprueba tus resultados
Por lo tanto, necesitas encontrar áreas donde la pendiente sea menor o igual a 5 grados Y el terreno está orientado
al norte; O la pendiente es menor o igual a 2 grados. Dicho terreno sería aceptable para el desarrollo.
Para calcular las áreas que cumplen esos criterios:
• Abre de nuevo tu Calculadora ráster.
• Utiliza la lista Bandas ráster, los botones Operadores, y tu teclado para construir esa expresión en el área
de texto Expresión de la calculadora de campos:
( aspect_north@1 = 1 AND slope_lte5@1 = 1 ) OR slope_lte2@1 = 1
• Guarda el resultado en exercise_data/residential_development/ como
todas_condiciones.tif.
• Haz clic en Aceptar en el Calculadora ráster. Tus resultados:
Como puedes ver en la imagen superior, los análisis combinados nos dejan con muchas áreas pequeñas donde se
cumplen las condiciones. Pero esas no son realmente útiles para nuestro análisis, ya que son demasiado pequeñas
para construir. Vamos a deshacernos de todas esas áreas minúsculas.
• Abre la herramienta Sieve (Ráster → Análisis → Filtrado).
• Ajusta el Archivo de entrada a todas_condiciones, y el
Archivo de salida a todas_condiciones_filtrado.tif (en
exercise_data/residential_development/).
• Ajusta ambos valores Umbral y Conexiones de píxeles a 8, luego ejecuta la herramienta.
Cuando el proceso esté terminado, la nueva capa se cargará en el mapa. Pero cuando intentes utilizar la herramienta
de estiramiento del histograma para ver los datos, ocurrirá esto:
¿Qué está pasando? La respuesta se encuentra en los metadatos del nuevo archivo ráster.
• Mira los metadatos en la pestaña Metadatos del cuadro de diálogo Propiedades de la capa. Mira en la
sección inferior Propiedades.
A pesar de que este ráster, al igual que el ráster de que se ha derivado, debería solo mostrar los valores 1 y 0, tiene
como valor de STATISTICS_MINIMUM un número negativo muy alto. La investigación de los datos muestran
que este número actua como valor nulo. Como solo buscamos áreas que no estaban filtradas, vamos a ajustar esos
valores nulos a cero.
• Abre de nuevo el Calculadora ráster, y construye esta expresion:
(todas_condiciones_filtrado@1 <= 0) = 0
Esto mantendrá los valores cero existentes, mientras cambiará los valores negativos a cero; lo que dejará a
todas las áreas con el valor 1 intacto.
• Guarda el resultado en exercise_data/residential_development/ como
todas_condiciones_simple.tif.
Tu resultado tiene este aspecto:
Eso era lo que se esperaba: una versión simplificada de los resultados anteriores. Recuerda que si los resultados
que obtienes de una herramienta no son los que esperabas, comprobando los metadatos (y atributos vectoriales, si
es aplicable) puede ser esencial para solucionar el problema.
8.3.9 In Conclusion
Has visto cómo derivar todo tipo de análisis desde un MDE. Esto incluye cálculos de sombreado del relieve,
pendiente y orientaciones. También has visto cómo utilizar la calculadora ráster para analizar más profundamente
y combinar esos resultados.
Ahora tienes dos análisis: el análisis vectorial que te muestra las parcelas potencialmente adecuadas, y el análisis
ráster que te muestra el terreno potencialmente adecuado. ¿Cómo se pueden combinar para llegar a un resultado
final para este problema? Ese es el tema de la siguiente lección, empezando en el módulo siguiente.
Ahora tienes dos mitades de un análisis: una parte vectorial y otra ráster. En este módulo, verás cómo combinarlas.
Concluirás el análisis y presentarás los resultados finales.
Convertir entre formatos ráster y vectoriales te permite utilizar ambos tipos de datos cuando resuelves un problema
SIG, así como utilizar los diferentes métodos analíticos específicos de cada uno de los dos formatos de datos
geográficos. Esto incrementa la flexibilidad que tienes considerando fuentes de datos y métodos de procesado
para resolver problemas de SIG.
Para combinar análisis ráster y vectoriales, necesitas convertir uno de los tipos al otro. Vamos a convertir los
resultados ráster de la lección anterior a vectoriales.
El objetivo de esta lección: Convertir un resultado ráster a uno vectorial que pueda ser utilizado para completar
el análisis.
Comienza con el mapa del último módulo, raster_analysis.qgs. Ahí deberías encontrar
all_conditions_simple.tif calculado durante los ejercicios previos.
• Haz clic en Ráster → Conversión → Poligonizar (Ráster a vectorial Vector). El cuadro de diálogo de la
herramienta aparecerá.
• Ajustalo así:
235
QGIS Training Manual, Publicación 2.18
• Cambia el nombre del campo (describiendo los valores del ráster) a suitable.
• Guarda el archivo shape en exercise_data/residential_development como
all_terrain.shp.
Ahora tienes un archivo vectorial que contiene todos los valores del ráster, pero las únicas áreas en las que estás
interesado son aquellas que son adecuadas; es decir, aquellos polígonos donde el valor de suitable es 1. Puedes
cambiar el estilo de esa capa si quieres tener una visualización más clara.
Aunque no es necesario para tu problema actual, es útil saber cómo hacer la conversión opuesta a la que has hecho
arriba. Convierte a ráster el archivo vectorial suitable_terrain.shp que has creado en el paso anterior.
• Haz clic en Ráster → Conversión → Rasterizar (Vectorial a raster) para iniciar la herramienta, luego
ajústalo como en la siguiente imagen:
Nota: El tamaño de la imagen de salida está especificado ahí para ser la misma que el ráster original que ha sigo
vectorizado. Para ver las dimensiones de una imagen, abre sus metadatos (la pestaña Metadatos en Propiedades
de la capa).
9.1.4 In Conclusion
Convertir entre formatos ráster y vectorial te permite ampliar la aplicabilidad de los datos, y no tiene por qué
conducir a la degradación de los datos.
Ahora que tienes los resultados del análisis territorial disponibles en formato vectorial, pueden ser utilizados para
solucionar problemas respecto a qué construcciones deberiamos considerar para el desarrollo residencial.
Utilizar los resultados vectorizados del análisis ráster te permitirá seleccionar solo construcciones con terreno
adecuado.
El objetivo de esta lección: Utilizar los resultados de terreno vectorizado para seleccionar las parcelas adecuadas.
Nota: Si encuentras que la herramienta Intersección no produce ningún resultado, comprueba los ajustes SRC de
cada una de tus capas. El SRC debe ser el mismo para las capas que estás comparando. Puede que necesites re-
proyectar una capa guardando la capa como un nuevo archivo shape con el SRC requerido. En nuestro ejemplo, la
capa suitable_terrain se reproyectó a WGS 84 / UTM 34S y se nombró suitable_terrain_34S.
Mira cada una de las construcciones en tu capa new_solution. Compáralos con la capa suitable_terrain cambiando
la simbología para la capa new_solution para que solo tenga contornos. ¿Qué observas sobre algunas de las
construcciones? ¿Son adecuadas solo porque intersectan con la capa suitable_terrain? ¿O por qué no? ¿Cuáles
dirías que no son adecuadas?
Comprueba tus resultados
Puedes ver en los resultados que algunas construcciones que estaban incluidas no eran realmente adecuadas, así
que ahora podemos refinar el análisis.
Queremos asegurarnos que nuestro análisis muestra solo aquellas construcciones que están completamente dentro
de la capa suitable_terrain. ¿Cómo lo harías? Utiliza una o más herramientas de Análisis Vectorial y
recuerda que nuestras construcciones tienen más de 100m cuadrados de tamaño.
Comprueba tus resultados
9.2.4 In Conclusion
Ahora has respondido a la pregunta original del estudio, y puedes ofrecer una opinión (con razonamientos respal-
dados en el análisis) para una recomendación respecto a que propiedad desarrollar.
9.3 Ejercicio
Utilizando el Diseñador de Mapas, crea un mapa nuevo representando los resultados de tu análisis. Incluye estas
capas:
• places (con etiquetas),
• hillshade,
• solution (o new_solution),
• roads y o bien
• aerial_photos o MDE.
Escribe una pequeña explicación para acompañarlo. Incluye en el texto los criterios que fueron utilizados cuando
se trataba de comprar una casa y su posterior desarrollo, así como explicando tus recomendaciones sobre qué
construcciones son adecuadas.
Nota: Lección desarrollada por Linfiniti y S Motala (Universidad Tecnológica de Península del Cabo)
Eres el encargado de encontrar áreas en Península del Cabo que sean adecuadas para el hábitat de especies de
plantas fynbos raras. La extensión de tu área de investigación en Península del Cabo es: Sur de Melkbosstrand,
Oeste de Strand. Botánicos te han proporcionado las preferencias exhibidas por las especies en cuestion:
• Crecen en pendientes orientadas al este.
• Crecen en pendientes con gradiente entre 15 y 60%.
• Crecen en áreas que tienen un total de precipitación anual de > 1200 mm.
• Solo se encuentran a al menos 250 m de distancia de los asentamientos humanos.
• El área de vegetación en la que ocurre debería ser de al menos 6000m2.
Como voluntario de Naturaleza del Cabo, has acordado buscar la planta en el terreno adecuado más cercano a tu
casa. Utiliza tus habilidades SIG para determinar dónde deberías ir a ver.
In order to solve this problem, you will have to download data from
https://www.dropbox.com/s/q5evvkizuunrcs0/more_analysis.zip?dl=0 and place it under
exercise_data/more_analysis folder. You will use it to find the candidate area that is closest to
your house. If you don’t live in Cape Town (where this problem is based) you can choose any house in the Cape
Town region. The solution will involve:
• análisis del MDE para encontrar las pendientes orientadas al este y las pendientes con el gradiente correcto;
• análisis del ráster de precipitación para encontrar las áreas con cantidad de precipitación correcta;
• análisis de las zonas de capa vectorial para encontrar áreas que tengan la distancia a enclaves humanos y
sean del tamaño correctos.
• Haz clic en el botón “estado SRC” en la esquina inferior derecha de la pantalla. En la pestaña SRC de la
pestaña que aparece, verás la casilla Sistema de referencia de coordenadas del mundo.
• En esta casilla, navega hasta Sistemas de coordenadas proyectadas → Universal Transverse Mercator
(UTM).
• Selecciona la entrada WGS 84 / UTM zone 33S (con el código EPSG 32733).
• Haz clic en Aceptar. El mapa está ahora en el Sistema de coordenadas de referencia UTM33S .
• Guarda el mapa clicando en el botón de la barra de herramientas Guardar proyecto como, o utiliza el
elemento del menú Proyecto → Guardar como....
• Guarda el mapa en un directorio llamado Rasterprac que deberías crear en algún lugar de tu ordenador.
También guardarás cualquiera de las capas que crees en este directorio.
Para procesar los datos, necesitarás cargar las capas necesarias (nombres de calles, zonas, precipitación, MDE) en
la vista del mapa.
Para vectoriales...
• Haz clic en el botón Añadir Capa Vectorial, o utiliza el elemento del menú Capa → Añadir Capa Vectorial...
• En el cuadro de diálogo que aparece, asegúrate de que el botón radial Archivo está selecionado.
Para rásters...
• Haz clic en el botón Añadir capa ráster, o utiliza el elemento del menú Capa → Añadir capa ráster...
• Navega hasta el archivo apropiado, selecciónalo y haz clic en Abrir.
• Haz esto para cada uno de los dos archivos ráster. Los archivos que quieres son DEM/reproject/DEM y
Rainfall/reprojected/rainfall.tif.
• Renombra el ráster de precipitaciónes como Precipitación (con la letra inicial en mayúsculas). Al
principio cuando los cargues, las imágenes serán rectángulos grises. No te preocupes, esto se cambiará
luego.
• Guarda el mapa.
Para ver correctamente qué está pasando, se necesita cambiar la simbología para las capas.
• En Lista de capas, haz clic y arrastra las capas hacia arriba o abajo para cambiar el orden en el que aparecen
en el mapa.
• Nuevas versiones de QGIS puede que tengan una casilla de verificación Control del orden de renderizado
bajo la Lista de capas. Asegúrate de que está marcada.
Ahora que todos los datos están cargados y son adecuadamente visibles, el análisis puede comenzar. Es mejor si
las operaciones de recorte se hacen primero. Así no se malgasta potencia procesando áreas que no serían utilizadas
de todas formas.
• Añade otro operador O, luego trabaja con la lista de distritos anterior de forma similar.
• La consulta final debería ser
"NAME_2" = ’Bellville’ OR "NAME_2" = ’Cape’ OR "NAME_2" = ’Goodwood’ OR
"NAME_2" = ’Kuils River’ OR "NAME_2" = ’Mitchells Plain’ OR "NAME_2" =
’Simons Town’ OR "NAME_2" = ’Wynberg’
• Haz clic en Aceptar. Los distritos mostrados en tu mapa están limitados a los de la lista anterior.
Ahora que tienes un área de interés, puedes recortar los ráster a esa área.
• Asegúrate de que las únicas capas visibles son las de MDE, Rainfall y Districts.
• Los Districts deben estar en primer lugar para ser visibles.
• Abre el cuadro de diálogo para recortar seleccionando el elemento del menú Ráster → Extracción → Clip-
per.
• En la lista del menú desplegable Archivo de entrada (ráster), selecciona la capa MDE.
• Especifica una localización de salida en el campo de texto Archivo de salida clicando en el botón Selec-
cionar....
• Navega hasta el directorio Rasterprac.
• Introduce un nombre de archivo.
• Guarda el archivo. Deja la casilla de verificación Valor de sin datos vacía.
• Utiliza el modo de corte Extensión asegurándote que el botón radial correcto está seleccionado.
• Haz clic y arrastra un área en el mapa, de modo que el área que incluye los distritos esté seleccionada.
• Marca la casilla Cargar en la vista del mapa cuando se termine.
• Haz clic en Aceptar.
• Cuando la operación de corte se complete, NO CIERRES el cuadro de diálogo Clipper. (Cerrarlo te haría
perder el área a cortar que ya habías definido)
• Selecciona el ráster Precipitación en el menú desplegable Archivo de entrada (ráster) y elige un nombre de
archivo de salida diferente.
• No cambies ninguna otra opción. No alteres el área a cortar que has dibujado antes. Déjalo todo como
estaba y haz clic en Aceptar.
• Después de que la segunda operación de corte haya terminado, puedes cerrar el cuadro de diálogo Clipper.
• Guarda el mapa.
Este complemento está incluido por defecto desde QGIS 1.8. Sin embargo, puede que no sea inmediatamente
visible. Para comprobar si es accesible en tu sistema:
• Click on the menu item Plugins → Manage Plugins....
• Asegúrate que la casilla junto a Complemento de análisis del terreno ráster está seleccionada.
• Haz clic en Aceptar.
Ahora tendrás acceso al complementoa través del elemento del menú Ráster → Análisis de terreno.
Recuerda que los plugins puede que dependan a veces de que ciertos módulos Python estén instalados en tu
sistema. Un plugin podría rechazar trabajar por falta de dependencias, pregunta a tu tutor para que te asista.
• En la Lista de capas, asegúrate que MDE es la capa activa (es decir, es la seleccionada por haber clicado en
ella).
• Haz clic en el elemento del menú Ráster → Análisis de terreno → Mapa de sombras (Hillshade) para abrir
el cuadro de diálogo Mapa de sombras (Hillshade).
• Especifica una localización apropiada para la capa de salida y nómbrala hillshade.
• Selecciona la casilla Añadir resultados al proyecto.
• Haz clic en Aceptar.
• Espera a que termine de procesar.
La nueva capa hillshade a aparecido en tu Lista de capas.
• Haz clic derecho en la capa hillshade en tu Lista de capas y abre el cuadro de diálogo Propiedades.
• Haz clic en la pestaña Transparencia y ajusta el control de transparencia a 80%.
• Haz clic en Aceptar en el cuadro de diálogo.
• Observa el efecto cuando el sombreado de relieve transparente se sobre impone sobre el MDE recortado.
9.4.13 Pendiente
9.4.14 Orientación
• Utiliza el mismo enfoque que para calcular la pendiente, pero selecciona Orientación en el cuadro de diálogo
inicial.
Recuerda guardar el mapa periódicamente.
• Encuentra la precipitación correcta (mayor de 1200mm) del mismo modo. Construye la siguiente expresión:
(rainfall@1 < 1200) = 0
Habiendo reclasificado todos los ráster, ahora los verás representados como rectángulos grises en tu mapa (asum-
iendo que se han añadido correctamente al mapa). Para representar los datos ráster correctamente en dos clases (1
y 0, significando verdadero o falso), necesitarás cambiar su simbología.
Mira antes las instrucciones para construir la consulta ara la capa Streets si te quedas atascado.
• Cuando hayas terminado, cierra el cuadro de diálogo Constructor de consultas.
Deberías ver una colección de polígonos de la capa Zoning. Necesitarás guardarlos en un nuevo archivo de capa.
• En el menú de clic derecho en Zoning, selecciona Guardar como....
• Guarda tu capa en el directorio Zoning.
• Nombra al archivo de salida rural.shp.
• Haz clic en Aceptar.
• Añade la capa a tu mapa.
• Haz clic en el elemento del menú Vectorial → Herramientas de geoproceso → Disolver.
• Selecciona la capa rural como tu capa vectorial de entrada, mientras dejas la casilla Usar sólo objetos
espaciales seleccionados sin marcar.
• En Campo para disolver, selecciona — Disolver todo —.
• Guarda tu capa en el directorio Zoning.
• Haz clic en Aceptar. Un cuadro de diálogo aparecerá preguntando si quieres añadir la capa nueva al TDC
(“Tabla De Contenidos”, refiriéndose a la:guilabel:Lista de capas).
• Haz clic en Sí.
• Cierra el cuadro de diálogo Disolver.
• Borra las capas rural y Zoning.
• Guarda el mapa.
Ahora necesitas excluir las áreas que estan a 250m del borde de las áreas rurales. Hazlo creando un buffer
negativo, como está explicado más abajo.
• Asegúrate de que solo son visibles las capas bbox y rural_buffer, con el último por encima.
• Haz clic en el elemento del menú Vectorial → Herramientas de geoproceso > Cortar.
• En el cuadro de diálogo que aparece, ajusta la capa vectorial de entrada a rural_buffer y la capa para cortar
a bbox, con ambas casillas usar sólo objetos espaciales seleccionados sin marcar.
• Pon el archivo de salida en el directorio Zoning.
• Nombra al archivo de salida rural_clipped.
• Haz clic en Aceptar.
• Cuando se requiera añadir la capa al TDC, haz clic en Sí.
• Cierra el cuadro de diálogo.
• Compara los tres vectores y ve los resultados por ti mismo.
• Borra las capas bbox y rural_buffer, luego guarda tu mapa.
Ahora ya está lista para ser rasterizada.
Necesitarás especificar un tamaño de píxel para un nuevo ráster que crees, así que primero necesitarás saber el
tamaño de uno de los ráster existentes.
• Abre el cuadro de diálogo Propiedades de cualquiera de los tres ráster existentes.
• Cambia a la pestaña Metadatos.
• Anota los valores de X e Y en el título Dimensiones de la tabla de Metadatos.
• Cierra el cuadro de diálogo Propiedades.
• Haz clic en el elemento del menú Ráster → Conversión → Rasterizar. Puede que recibas una alerta sobre
conjunto de datos no soportado. Haz clic de todos modos he ignoralo.
• Selecciona rural_clipped como tu capa de entrada.
• Ajusta la localización de archivo de salida dentro del directorio Zoning.
• Nombra al archivo de salida rural_raster.tif.
• Marca la casilla Tamaño del ráster en píxeles y introduce los valores de Anchura y Altura que apuntaste
antes.
• Marca la casilla Cargar en la vista del mapa cuando se termine.
• Haz clic en el icono del lápiz junto al campo de texto que muestra los comandos que se van a ejecutar. Al
final del texto existente, añade un espacio y luego el texto -burn 1. Esto le dice a la función de Rasterizar
que “queme” el vector existente al nuevo ráster y dé a las áreas cubiertas por el vector el nuevo valor 1
(opuestamente al resto de la imagen, que cambiará automáticamente a 0).
• Haz clic en Aceptar.
Esto significa que la calculadora de campo calculará el área de cada polígono en la capa vectorial y creará
una columna nueva (llamada area) con el valor calculado.
• Haz clic en Aceptar.
• Hacer lo mismo para otro nuevo campo llamado id. En tipo Expresión de la calculadora de campos:
$id
Eso asegura que cada polígono tiene una ID única para su identificación.
• Haz clic de nuevo en Conmutar el modo edición, y guarda tus ediciones si es requerido.
• Crea una nueva capa vectorial como antes, pero esta vez, selecciona el valor Tipo como Punto.
• ¡Asegúrate de que es el SRC correcto!
• Nombra a la nueva capa house.shp.
• Acaba de crear la nueva capa.
• Entra en el modo de edición (mientras la capa nueva está seleccionada).
• Haz clic en el punto donde tu casa o otra residencia actual esté, utilizando las calles como guía. Puede que
tengas que abrir otras capas para ayudarte a encontrar tu casa. Si no vives cerca, haz clic en algún lugar
donde una casa podría ser concebible.
• Introduce un número arbitrario para la forma ID.
• Haz clic en Aceptar.
• Haz clic en el elemento del menú Vectorial → Herramientas de geometría → Centroides de polígonos.
• Especifica la capa de entrada como solution.shp.
• Proporciona la localización de salida como Rasterprac.
• Llama al archivo de destino solution_centroids.shp.
• Haz clic en Aceptar y añade el resultado al TDC (Lista de capas), luego cierra el cuadro de diálogo.
• Arrastra la nueva capa al principio de la lista para poder verla.
Module: Plugins
Los plugins te permiten extender la oferta de funcionalidad QGIS. En este módulo, se te mostrará cómo activar y
utilizar plugins
Para comenzar a utilizar complementos, necesitas saber como descargarlos, instalarlos y activarlos. Para esto,
aprenderás cómo utilizar el Instalador de complementos y el Administrador de complementos.
El objetivo de esta lección: Entender el uso del sistema de complementos de QGIS.
• Para abrir el Administrador de complementos, haz clic en el elemento del menú Complementos → Admin-
istrar e instalar complementos....
• En el cuadro de diálogo que se abre, encuentra el complemento Processing:
253
QGIS Training Manual, Publicación 2.18
• Haz clic en la casilla junto a ese complemento y quítale la marca para desinstalarlo.
• Haz clic en Cerrar.
• Mira al menú, observarás que el menú Procesado se ha ido. ¡Esto significa que muchas de las funciones de
procesado que has estado utilizando antes han desaparecido! Esto ocurre porque son parte del complemento
Processing, que necesita ser activado para que puedas usarlo.
• Abre el Administrador de complementos de nuevo y reactiva el complemento Processing clicando en la
casilla de verificación junto a él y clica en Cerrar...
• El menú Procesado debería volver a estar disponible.
La lista de complementos que puedes activar y desactivar se extrae de los comlementos que tienes instalados
actualmente.
• Para instalar complementos nuevos, selecciona la opción No instalado en el cuadro de diálogo Admin-
istrador de complementos. Los complementos disponibles para que los instales estarán listados ahí. Esta
lista variará dependiendo de tu configuración de sistema actual.
• Un complemento puede ser instalado clicando en el botón Instalar complemento debajo el panel de infor-
mación del complemento.
Los complementos que están disponibles para instalar dependen de qué repositorios de complementos tienes
configurados para utilizar.
Los complementos de QGIS se guardan en repositorios online. Por defecto, solo los repositorios oficiales están
activos, esto significa que solo puedes acceder a complementos oficiales. Normalmente son los primeros comple-
mentos que quieres, porque se han testado cuidadosamente y a menudo se incluyen en QGIS por defecto.
Es posible, sin embargo, probar más complementos que los que están por defecto. Primero, necesitas configurar
repositorios adicionales. Para ello:
• Abre la pestaña Configuración del cuadro de diálogo Administrador de complementos:
• Ahora verás el nuevo complemento enumerado en la lista de los Repositorios de complementos configurada.
10.1.4 In Conclusion
Ahora que puedes instalar, habilitar y deshabilitar complementos, veamos cómo pueden ayudarte en la práctica
mirando algunos útiles ejemplos de complementos.
El objetivo de esta lección: Familiarizarte con la interfaz de complementos y conocer algunos complementos
útiles.
• Comienza un mapa nuevo con solo el conjunto de datos ráster srtm_41_19.tif en él (mira en
exercise_data/raster/SRTM).
From the lesson on raster analysis, you’re already familiar with raster analysis functions. You used GDAL tools
(accessible via Raster → Analysis) for this. However, you should also know about the Raster Terrain Analysis
plugin. This ships standard with newer versions of QGIS, and so you don’t need to install it separately.
• Abre el Administrador de complementos y comprueba que el complemento Análisis del Terreno Ráster está
habilitado:
Esos son los colores que el complemento utilizará para crear el relieve.
• Si lo prefieres, puedes cambiar esos colores haciendo doble clic en el color de cada fila. Por ejemplo:
Esto consigue un efecto similar a cuando utilizaste el sombreado del relieve semitransparente como capa sobre-
puesta sobre otra capa ráster. La ventaja de este complemento es que crea este efecto utilizando solo una capa.
• Abre el cuadro de diálogo Propiedades del proyecto seleccionando Proyecto –> Propiedades del proyecto
en el menú.
• Habilita la proyección “al vuelo” y utiliza la proyección de Google Mercator:
• Now use the plugin to give you a Google map of the area. You can click on Web → OpenLayers Plugin →
Add Google Hybrid Layer to add it:
Esto cargará una nueva imagen ráster desde Google que puedes utilizar como fondo, o para ayudarte a averiguar
donde estás en el mapa. Aquí está esa capa, con nuestra propia capa vectorial de calles superpuesta.
Nota: Puede que necesites arrastrar tu capa de calles por encima de la capa Google para hacerla visible por
encima de la capa de fondo. Puede ser necesario ampliar a la extensión de la capa de calles para centrar el mapa.
10.2.4 In Conclusion
Hay muchos complementos útiles disponibles para QGIS. Utilizando las herramientas incluidas para instalar y
manejar esos complementos, puedes encontrar nuevos y realizar un uso óptimo de ellos.
Lo siguiente será ver cómo utilizar capas que están alojadas en servicios remotos a tiempo real.
Cuando consideramos fuentes de datos para un mapa, no hay necesidad de restringirse a datos que has guardado
en el ordenador en el que trabajas. Hay fuentes de datos online que puedes cargar desde y mientras estés conectado
a Internet.
En este módulo, cubriremos dos tipos de servicios SIG basados en web: Web Mapping services (WMS) y Web
Feature Services (WFS).
Un servicio de cartografía web (Web Mapping Service, WMS) es un servicio alojado en un servidor remoto.
Parecido a una página web, se puede acceder a él siempre que se tenga una conexión con el servidor. Al utilizar
QGIS se puede cargar un WMS directamente en su mapa existente.
De la lección sobre los complementos, recordará que es posible cargar una nueva imagen ráster desde Google,
por ejemplo. Sin embargo, se trata de una transacción de una sola vez, una vez que se ha descargado la imagen,
no cambiará. Un WMS se diferencia en que es un servicio vivo que actualizará automáticamente sus vistas al
desplazar o ampliar el mapa.
El objetivo de esta lección: utilizar un WMS y entender sus limitaciones.
Para este ejercicio, puedes utilizar el mapa básico que hiciste al principio del curso, o empezar uno nuevo y cargar
alguna capa existente en él. Para este ejemplo, nosotros utilizamos un mapa nuevo cargado con las capas originales
places y landuse con la simbología ajustada.
267
QGIS Training Manual, Publicación 2.18
• Carga esas capas en un mapa nuevo, o utiliza mapa original con solo esas capas visibles.
• Antes de añadir la capa WMS, desactiva la proyección “al vuelo”. Esto puede causar que las capas dejen de
solaparse propiamente, pero no te preocupes: lo arreglaremos luego.
• Para añadir capas WMS, haz clic en el botón Añadir capa WMS:
Recuerda cómo conectaste al conjunto de datos SpatiaLite al principio del curso. Las capas landuse, places, y
water están en esa base de datos. Para utilizar esas capas, primero necesitas conectarte a ese conjunto de datos.
Utilizar WMS es parecido, con la excepción de que esas capas están en un servidor remoto.
• Para crear una nueva conexión a WMS, haz clic en el botón Nuevo.
Necesitarás una dirección WMS para continuar. Hay muchos servidores gratuitos de WMS disponibles en internet.
Uno es terrestris, que utiliza el conjunto de datos OpenStreetMap.
• Para utilizar ese WMS, ajústalo en tu cuadro de diálogo actual, así:
• Haz clic en Conectar. En la lista inferior, deberías ver ahora esas nuevas entradas cargadas:
• Haz clic una vez en la capa OSM-WMS. Esto presentará su Sistema de Coordenadas de Referencia:
Como no estamos utilizando WGS 84 para nuestro mapa, veamos todos los SRCs entre los que tenemos para
elegir.
• Haz clic en el botón Cambiar. Verás el cuadro de diálogo estándar Selector de sistema de referencia de
coordenadas.
• Queremos un SRC proyectado, así que vamos a elegir WGS 84 / Pseudo Mercator.
Observa cómo las calles de la capa WMS y nuestras propias calles se solapan. ¡Eso es una buena noticia!
Por ahora puedes haber observado que esta capa WMS tiene muchos elementos en ella. Tiene calles, rios, reservas
naturales, y mucho más. Además, apesar de que parece que está hecho de vectores, parece ser un mapa ráster, no
puedes cambiar su simbología. ¿Por qué?
Así es como trabaja un WMS: es un mapa, parecido a un mapa de papel normal, lo recibes como una imagen.
Lo que pasa habitualmente es que tienes capas vectoriales, que en QGIS se representan como un mapa. Pero
utilizando WMS, esas capas vectoriales están en el servidor WMS, que lo representa como un mapa y te lo envía
en forma de imagen. QGIS puede visualizar esa imagen, pero no puede cambiar su simbología, porque todo eso
es manejado por el servidor.
Eso tiene muchas ventajas, porque no necesitas preocuparte por la simbología. Ya está todo hecho, y debería
quedar bonito a la vista en cualquier WMS competente.
Por otra parte, no puedes cambiar la simbología si no te gusta, y si las cosas cambian en el servidor WMS, también
cambiarán en tu mapa. Por eso a veces puede que quieras utilizar en su lugar un Web Feature Service (WFS), que
te dá capas vectoriales por separado, y no como parte de un mapa de estilo WMS.
Eso será cubierto en la siguiente lección, sin embargo. Primero, añade otra capa WMS del servidor terrestris.
• Oculta todas las otras capas WMS para prevenir que se representen innecesariamente en el fondo.
• Añade el servidor WMS “OGC” de esta URL: http://ogc.gbif.org:80/wms
• Añade la capa bluemarble.
Comprueba tus resultados
11.1.5 In Conclusion
Utilizando un WMS puedes añadir mapas inactivos como fondo para tu mapa de datos existente.
• Spatineo Directory
• Geopole.org
• Lista de servidores WMS de OpenStreetMap.org
Ahora que has añadido un mapa inactivo como fondo, te alegrará saber que también es posible añadir elementos
(como las otras capas vectoriales que añadiste antes). Añadir elementos de servidores remotos es posible utilizando
un Web Feature Service (WFS). Ese es el tema de la siguiente lección.
Un Web Feature Services (WFS) proporciona a sus usuarios datos SIG en formatos que pueden ser cargados
directamente en QGIS. No como WMS, que te proporciona solo un mapa que no puedes editar, un WFS te dá
acceso a los propios elementos.
El objetivo de esta lección: Utilizar WFS y entender sus diferencias respecto a WMS.
¿Cómo se diferencia a tener una capa WMS? Se volverá obvio cuando veas los atributos de la capa.
• Abre la tabla de atributos de la capa south_poles_wfs. Deberías ver esto:
Como los puntos tienen atributos, podemos etiquetarlos, además de cambiar su simbología. Aquí tienes un ejem-
plo:
Un Web Feature Service devuelve la capa en sí, no sólo un mapa presentado de ella. Esto le da acceso directo a los
datos, lo que significa que puede cambiar su simbología y ejecutar funciones de análisis en él. Sin embargo, esto
es a costa de muchos más datos que se transmiten. Esto será especialmente evidente si las capas que está cargando
tienen formas complicadas, una gran cantidad de atributos, o muchos objetos espaciales; o incluso si usted está
cargando un montón de capas. Las capas WFS suelen tardar mucho tiempo en cargar debido a esto.
Aunque es posible consultar una capa WFS después de haberla cargado, a menudo es más eficiente contultarla
antes de cargarla. De esta forma, solo pides los elementos que quieres, lo que significa que utilizas menos ancho
de banda.
Por ejemplo, en el servidor WFS que estamos utilizando, hay una capa llamada countries (excluding Antarctica).
Digamos que queremos saber donde está Sudáfrica de forma relativa a la capa south_poles_wfs (y puede que
también la capa antarctica_country_border layer) que ya está cargada.
Hay dos formas de hacerlo. Puedes cargar la capa entera countries ..., y luego construir una consulta como siempre
una vez está cargada. Sin embargo, transmitir los datos para todos los países en el mundo y luego utilizar los datos
para Sudáfrica parece un despilfarro de ancho de banda. Dependiendo de tu conexión, este conjunto de datos
puede llevarte muchos minutos cargando.
La alternativa es construir una consulta como filtro incluso antes de cargar la capa desde el servidor.
• En el cuadro de diálogo Añadir capa WFS ..., conéctate al servidor que utilizamos antes y deberías ver la
lista de capas disponibles.
• Haz doble clic junto a la capa countries ... en el campo Filtrar, o haz clic en Contruir consulta:
• Haz clic en Añadir con la capa countries seleccionada como arriba. Solo el país con el valor South
Africa en Countryeng se cargará de esta capa.
No tienes por qué, pero si pruebas ambos métodos, observarás que ¡este es mucho más rápido que cargar todos los
países antes de filtrarlos!
Es raro encontrar un WFS con los elementos que necesitas, si tus necesidades son muy específicas. La razón por
la que el Web Feature Service es relativamente raro son las grandes cantidades de datos que deben ser transmitidas
para describir un elemento por completo. Por lo tanto no es muy rentable tener un WFS en lugar de un WMS, que
11.2.3 In Conclusion
Las capas WFS son preferibles ante WMS si necesitas acceso a los atributos y geometrías de las capas. Sin
embargo, considerando la cantidad de datos que necesitan ser descargados (lo cual crea problemas de velocidad y
falta de servidores públicos WFS disponibles) no es siempre posible utilizar WFS en lugar de WMS.
Next, you’ll see how to use QGIS Server to provide OGC services.
The goal for this lesson: To learn how to install QGIS Server on Debian Stretch. With negligible variations
(prepending sudo to all admin commands) you can also follow it for any Debian based distribution like Ubuntu
and its derivatives.
In this lesson we’re going to do only the install from packages as shown here .
First add the QGIS repository by creating the /etc/apt/sources.list.d/debian-qgis.list file with
the following content:
# latest stable
deb http://qgis.org/debian stretch main
deb-src http://qgis.org/debian stretch main
After you add the qgis.org repository public key to your apt keyring (follow the above link on how to do it) you can
run the apt-get update command to refresh the packages list and apt-get dist-upgrade to upgrade
the packages.
Nota: Currently Debian stable has LTR qgis packages in the source jessie-backports, so the above steps
are not necessary. Just add the jessie-backports repository and install with the -t jessie-backports
option.
Nota: adding -y at the end of the apt-get command will run it straight away, without requiring confirmation.
QGIS Server should be used in production without QGIS Desktop (with the accompagning X Server) installed on
the same machine.
285
QGIS Training Manual, Publicación 2.18
The QGIS Server executable is qgis_mapserv.fcgi. You can check where it has been in-
stalled by running find / -name ’qgis_mapserv.fcgi’ which should output something like
/usr/lib/cgi-bin/qgis_mapserv.fcgi.
Optionally, if you want to do a command line test at this time you can run the
/usr/lib/cgi-bin/qgis_mapserv.fcgi command which should output something like:
QFSFileEngine::open: No file name specified
Warning 1: Unable to find driver ECW to unload from GDAL_SKIP environment variable.
Warning 1: Unable to find driver ECW to unload from GDAL_SKIP environment variable.
Warning 1: Unable to find driver JP2ECW to unload from GDAL_SKIP environment variable.
Warning 1: Unable to find driver ECW to unload from GDAL_SKIP environment variable.
Warning 1: Unable to find driver JP2ECW to unload from GDAL_SKIP environment variable.
Content-Length: 206
Content-Type: text/xml; charset=utf-8
This is a good thing, it tells you we’re on the right track as the server is saying that we haven’t asked for a supported
service. We’ll see later on how to make WMS requests.
In order to access on the installed QGIS server from an Internet Browser we need to use an HTTP server.
In this lesson we’re going to use the Apache HTTP server, colloquially called Apache.
First we need to install Apache by running the following command in a terminal: apt-get install
apache2 libapache2-mod-fcgid.
In the /etc/apache2/sites-available directory let’s create a file called qgis.demo.conf, with this
content:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName qgis.demo
DocumentRoot /var/www/html
FcgidInitialEnv QGIS_DEBUG 1
# QGIS_AUTH_DB_DIR_PATH must lead to a directory writeable by the Server’s FCGI process user
FcgidInitialEnv QGIS_AUTH_DB_DIR_PATH "/home/qgis/qgisserverdb/"
FcgidInitialEnv QGIS_AUTH_PASSWORD_FILE "/home/qgis/qgisserverdb/qgis-auth.db"
# See http://docs.qgis.org/testing/en/docs/user_manual/working_with_vector/supported_data.html#p
SetEnv PGSERVICEFILE /home/qgis/.pg_service.conf
FcgidInitialEnv PGPASSFILE "/home/qgis/.pgpass"
# if qgis-server is installed from packages in debian based distros this is usually /usr/lib/cgi
# run "locate qgis_mapserv.fcgi" if you don’t know where qgis_mapserv.fcgi is
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews -SymLinksIfOwnerMatch
Order allow,deny
Allow from all
Require all granted
</Directory>
<IfModule mod_fcgid.c>
FcgidMaxRequestLen 26214400
FcgidConnectTimeout 60
</IfModule>
</VirtualHost>
You can do the above in a linux Desktop system by pasting and saving the above configuration after doing sudo
nano /etc/apache2/sites-available/qgis.demo.conf.
Nota: See some of the configuration options are explained in the Server server_env_variables section.
Let’s now create the directories that will store the QGIS Server logs and the authentication database:
sudo mkdir /var/log/qgis/
sudo chown www-data:www-data /var/log/qgis
mkdir /home/qgis/qgisserverdb
sudo chown www-data:www-data /home/qgis/qgisserverdb
Nota: www-data is the Apache user on Debian based systems and we need Apache to have access to those
locations or files. The chown www-data... commands changes the owner of the respective directories and
files to www-data.
We can now enable the virtual host, enable the fcgid mod if it’s not already enabled and restart the apache2
service:
sudo a2enmod fcgid
sudo a2ensite qgis.demo
sudo service apache2 restart
Nota: If you installed QGIS Server without running an X Server (included in Linux Desktop) and if you also
want to use the GetPrint command then you should install a fake X Server and tell QGIS Server to use it. You
can do that by running the following commands.
Install xvfb:
[Service]
ExecStart=/usr/bin/Xvfb :99 -screen 0 1024x768x24 -ac +extension GLX +render -noreset
[Install]
WantedBy=multi-user.target’ \
> /etc/systemd/system/xvfb.service"
In the above configuration file there’s a FcgidInitialEnv DISPLAY ":99" that tells QGIS Server in-
stances to use display no. 99. If you’re running the Server in Desktop then there’s no need to install xvfb and you
should simply comment with # this specific setting in the configuration file. More info at http://www.itopen.it/qgis-
server-setup-notes/.
Now that Apache knows that he should answer requests to http://qgis.demo we also need to setup the client system
so that it knows who qgis.demo is. We do that by adding 127.0.0.1 qgis.demo in the hosts file. We can
do it with sudo sh -c "echo ’127.0.0.1 qgis.demo’ >> /etc/hosts". Replace 127.0.0.1
with the IP of your server.
Nota: Remember that both the myhost.conf and /etc/hosts files should be configured for our setup to
work. You can also test the access to your QGIS Server from other clients on the network (e.g. Windows or Macos
machines) by going to their /etc/hosts file and point the myhost name to whatever IP the server machine
has on the network. You can be sure that that specific IP is not 127.0.0.1 as that’s the local IP, only accessible
from the local machine. On *nix machines the hosts file is located in /etc, while on Windows it’s under the
C:\Windows\System32\drivers\etc directory. Under Windows you need to start your text editor with
administrator privileges before opening the hosts file.
We can test one of the installed qgis servers with a http request from command line with curl
http://qgis.demo/cgi-bin/qgis_mapserv.fcgi which should output:
<ServiceExceptionReport version="1.3.0" xmlns="http://www.opengis.net/ogc">
<ServiceException code="Service configuration error">Service unknown or unsupported</ServiceExcept
</ServiceExceptionReport>
Let’s create another Apache virtual host pointing to QGIS Server. You can choose whatever name you like
(coco.bango, super.duper.training, example.com, etc.) but for simplicity sake we’re going to
use myhost.
• Let’s set up the myhost name to point to the localhost IP by adding 127.0.0.1 x to the /etc/hosts
with the following command: sudo sh -c "echo ’127.0.0.1 myhost’ >> /etc/hosts"
or by manually editing the file with sudo gedit /etc/hosts.
• We can check that myhost points to the localhost by running in the terminal the ping myhost command
which should output:
• Let’s try if we can access QGIS Server from the myhost site by doing: curl
http://myhost/cgi-bin/qgis_mapserv.fcgi or by accessing the url from your Debian
box browser. You will probably get:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /cgi-bin/qgis_mapserv.fcgi was not found on this server.</p>
<hr>
<address>Apache/2.4.25 (Debian) Server at myhost Port 80</address>
</body></html>
• Apache doesn’t know that he’s supposed to answer requests pointing to the server named myhost.
In order to setup the virtual host the simplest way would be to make a myhost.conf file in the
/etc/apache/sites-available directory that has the same content as file:qgis.demo.conf except
for the ServerName line that should be ServerName myhost. You could also change where the logs
go as otherwise the logs for the two virtual hosts would be shared but this is optional.
• Let’s now enable the virtual host with sudo apt-get a2ensite myhost.conf and then reload the
Apache service with sudo systemctl reload apache2.
• If you try again to access the http://myhost/cgi-bin/qgis_mapserv.fcgi url you’ll notice everything is working
now!
12.1.5 In Conclusion
You learned how to install different QGIS Server versions from packages, how to configure Apache with QGIS
Server, on Debian based Linux distros.
Now that you’ve installed QGIS Server and it’s accesible through the HTTP protocol, we need to learn how to
access some of the services it can offer. The topic of the next lesson is to learn how to access QGIS Server WMS
services.
Let’s download the demo data and unzip the files in the qgis-server-tutorial-data subdirectory to any
directory. We recommend that you simply create a /home/qgis/projects directory and put your files there
in order to avoid possible permissions problems.
The demo data contains a QGIS project named world.qgs that is already prepared to be served with QGIS
Server. If you want to use your own project or you want to learn how a project is prepared see the Creatingwms-
fromproject section.
Nota: This module presents the URLs so that the audience can easily distinguish the parameters and parameters
values. While the normal format is:
...&field1=value1&field2=value2&field3=value3
Pasting them into Mozilla Firefox works properly but other web browsers like Chrome may add unwanted spaces
between the field:parameter pairs. So, if you encounter this issue you can either use Firefox or modify the
URLs so that they’re in one line format.
Let’s make a WMS GetCapabilities request in the web browser or with curl:
http://qgisplatform.demo/cgi-bin/qgis_mapserv.fcgi
?SERVICE=WMS
&VERSION=1.3.0
&REQUEST=GetCapabilities
&map=/home/qgis/projects/world.qgs
In the Apache config from the previous lesson the QGIS_PROJECT_FILE variable sets the default project to
/home/qgis/projects/world.qgs. However, in the above request we made use of the map parameter to
be explicit and to show it can be used to point at any project. If you delete the map parameter from the above
request QGIS Server will output the same response.
By pointing any WMS client to the GetCapabilities URL, the client gets in response an XML document
with metadata of the Web Map Server’s information, e.g. what layers does it serve, the geographical coverage, in
what format, what version of WMS etc.
As QGIS is also a ogc-wms you can create a new WMS server connection with the help of the above GetCapabil-
ities url. See the Lesson: Servicios de cartografía web or the ogc-wms-servers section on how to do it.
By adding the countries WMS layer to your QGIS project you should get an image like the one below:
Nota: QGIS Server serves layers that are defined in the world.qgs project. By opening the project with QGIS
you can see there are multiple styles for the countries layer. QGIS Server is also aware of this and you can choose
the style you want in your request. The classified_by_population style was chosen in the above image.
12.2.1 Logging
When you’re setting up a server, the logs are always important as they show you what’s going on. We have setup
in the *.conf file the following logs:
• QGIS Server log at /logs/qgisserver.log
• qgisplatform.demo Apache access log at qgisplatform.demo.access.log
• qgisplatform.demo Apache error log at qgisplatform.demo.error.log
The log files are simply text files so you can use a text editor to check them out. You can also use the tail
command in a terminal: sudo tail -f /logs/qgisserver.log.
This will continuously output in the terminal what’s written in that log file. You can also have three terminals
opened for each of the log files like so:
When you use QGIS Desktop to consume the QGIS Server WMS services you will see all the requests QGIS
sends to the Server in the access log, the errors of QGIS Server in the QGIS Server log etc.
Nota:
Figure 12.1: QGIS Desktop consuming the QGIS Server countries layer WMS service
Figure 12.2: Using the tail command to visualise QGIS Server logs output
• If you look at the logs in the following sections you should get a better understanding on what’s happening.
• By restarting Apache while looking in the QGIS Server log you can find some extra pointers on how things
work.
In order to display the countries layer, QGIS Desktop, like any other WMS client, is using GetMap requests.
A simple request looks like:
http://qgisplatform.demo/cgi-bin/qgis_mapserv.fcgi
?MAP=/home/qgis/projects/world.qgs
&SERVICE=WMS
&VERSION=1.3.0
&REQUEST=GetMap
&BBOX=-432786,4372992,3358959,7513746
&SRS=EPSG:3857
&WIDTH=665
&HEIGHT=551
&LAYERS=countries
&FORMAT=image/jpg
Based on the request above, let’s replace the countries layer with another.
In order to see what other layers are available you could open up the world.qgs project in QGIS and look at its
contents. Keep in mind though that the WMS clients don’t have access to the QGIS project, they just look at the
capabilities document contents.
Also, there’s a configuration option so that some of the layers existing in the QGIS project are ignored by QGIS
when serving the WMS service.
So, you could look at the layer list when you point QGIS Desktop to the GetCapabilities URL or you could
try yourself finding other layer names in the GetCapabilities XML response.
One of the layer names that you could find and works is countries_shapeburst. You may find others but
keep in mind some may not be visible at such a small scale so you could get a blank image as response.
You can also play around with others parameters from above, like changing the returned image type to
image/png.
Let’s do another request that adds another layer, some of the extra-getmap-parameters, FILTER and OPACI-
TIES, but also uses the standard STYLES parameter.
http://qgisplatform.demo/cgi-bin/qgis_mapserv.fcgi
?MAP=/home/qgis/projects/world.qgs
&SERVICE=WMS
&VERSION=1.3.0
&REQUEST=GetMap
&BBOX=-432786,4372992,3358959,7513746
&SRS=EPSG:3857
&WIDTH=665
&HEIGHT=551
&FORMAT=image/jpg
&LAYERS=countries,countries_shapeburst
&STYLES=classified_by_name,default
&OPACITIES=255,30
&FILTER=countries:"name" IN ( ’Germany’ , ’Italy’ )
Figure 12.4: Response to a GetMap request with FILTER and OPACITIES parameters
As you can see from the above image, among other things, we told QGIS Server to render only Germany and
Italy from the countries layer.
Let’s do another GetMap request that makes use of the qgisserver-redlining feature and of the SELECTION
parameter detailed in the extra-getmap-parameters section:
http://qgisplatform.demo/cgi-bin/qgis_mapserv.fcgi
?MAP=/home/qgis/projects/world.qgs
&SERVICE=WMS
&VERSION=1.3.0
&REQUEST=GetMap
&BBOX=-432786,4372992,3358959,7513746
&SRS=EPSG:3857
&WIDTH=665
&HEIGHT=551
&LAYERS=countries,countries_shapeburst
&FORMAT=image/jpg
&HIGHLIGHT_GEOM=POLYGON((590000 6900000, 590000 7363000, 2500000 7363000, 2500000 6900000, 590000
&HIGHLIGHT_SYMBOL=<StyledLayerDescriptor><UserStyle><Name>Highlight</Name><FeatureTypeStyle><Rule>
&HIGHLIGHT_LABELSTRING=QGIS Tutorial
&HIGHLIGHT_LABELSIZE=30
&HIGHLIGHT_LABELCOLOR=%23000000
&HIGHLIGHT_LABELBUFFERCOLOR=%23FFFFFF
&HIGHLIGHT_LABELBUFFERSIZE=3
&SELECTION=countries:171,6
Pasting the above request in your web browser should output the following image:
Figure 12.5: Response to a request with the REDLINING feature and SELECTION parameter
You can see from the above image that the countries with the 171 and 65 ids were highlighted in yellow (Romania
and France) by using the SELECTION parameter and we used the REDLINING feature to overlay a rectangle
with the QGIS Tutorial label.
One very nice feature of QGIS Server is that it makes use of the QGIS Desktop print composers. You can learn
about it in the server_getprint section.
If you open the world.qgs project with QGIS Desktop you will find a print composer named Population
distribution. A simplified GetPrint request that exemplifies this amazing feature is:
http://qgisplatform.demo/cgi-bin/qgis_mapserv.fcgi
?map=/home/qgis/projects/world.qgs
&SERVICE=WMS
&VERSION=1.3.0&
REQUEST=GetPrint
&FORMAT=pdf
&TRANSPARENT=true
&SRS=EPSG:3857
&DPI=300
&TEMPLATE=Population distribution
&map0:extent=-432786,4372992,3358959,7513746
&LAYERS=countries
Figure 12.6: Shows the pdf resulted from the above GetPrint request
If you click the Print button in QWC you can interactively create GetPrint requests. You can also click the ?
icon in the QWC to access the available help so that you can better discover the QWC possibilities.
12.2.7 In Conclusion
Next, you’ll see how to use QGIS as a frontend for the famous GRASS GIS.
Module: GRASS
GRASS (Sistema de Soporte de Análisis para Recursos Geográficos) es un GIS de código libre muy conocido con
un amplio abanico de funciones GIS. Su primer lanzamiento fue en 1984 y desde entonces ha visto mucha mejora
y funcionalidad adicional. QGIS te permite hacer uso directo de las más potentes herramientas GIS de GRASS.
Utilizar GRASS en QGIS requiere que pienses en la interfaz de un modo diferente. Recuerda que no estás traba-
jando en directamente en QGIS, si no que estás trabajando en GRASSS a través de QGIS.
El objetivo de esta lección: Comenzar un proyecto GRASS en QGIS.
Para iniciar GRASS dentro de QGIS, necesitas activarlo como cualquier otro complemento. Pimero, abre un
nuevo proyecto QGIS.
• En el Adiministrador de Complementos, activa GRASS en la lista:
301
QGIS Training Manual, Publicación 2.18
Antes de que puedas empezar a usar GRASS, necesitarás crear un directorio de mapas. GRASS siempre trabaja
en un entorno de base de datos, lo que significa que necesitas importar todos los datos que quieras usar a una base
de datos GRASS.
• Haz clic en el botón Nuevo directorio de mapas:
Cuando termines, verás un cuadro de dialogo pidiendote que confirmes que los ajustes mostrados son correctos.
• Clic Terminar.
• Haz clic en Aceptar en el diálogo de éxito.
Ahora tienes un mapa en blanco. Para cargar datos en GRASS, necesitas seguir un proceso de dos pasos:
• Carga datos en QGIS como siempre. Por ahora, utiliza el conjunto de datos roads.shp (que se encuentra
en exercise_data/epsg4326/).
• Tan pronto como cargue, haz clic on el botón Herramientas de GRASS:
• Ajusta la capa cargada a roads y el nombre de su versión GRASS a g_roads para evitar confusión.
Nota: Nota las opciones de importación extra dentro de Advanced Options. Éstas incluyen la habilidad de
añadir expresiones WHERE para una consulta SQL utilizada al importar los datos.
Recuerda que nuestro MDE está en el SRC UTM 33S / WGS 84, pero que nuestro proyecto GRASS está en el
SRC Geográfico WGS 84. Así que reproyectemos el MDE primero.
• Carga los datos srtm_41_19.tif (que se encuentran en exercise_data/raster/SRTM/) en el
mapa de QGIS como siempre, utilizando la herramienta Añadir capa ráster de QGIS.
• Guarda el ráster en la misma carpeta que el origina, pero con el nombre DEM_WGS84.tif. Cuando
aparezca en tu mapa, elimina los datos srtm_41_19.tif de tu Lista de capas.
Ahora que está reproyectado, puedes cargarlo en tu base de datos de GRASS.
• Abre el diálogo Herramientas GRASS de nuevo.
13.1.4 In Conclusion
La cadena de trabajo en GRASS para procesar datos es diferente del método que QGIS utiliza porque GRASS
carga sus datos en una estructura de base de datos espacial. Sin embargo, utilizando QGIS como interfaz, puedes
hacer los ajustes de un directorio de mapas de GRASS más fácilmente utilizando capas existentes en QGIS como
fuente de datos para GRASS.
Ahora que los datos están importado a GRASS, podemos ver las operaciones de análisis avanzado que GRASS
ofrece.
En esta lección vamos a presentar la selección de herramientas para dar una idea de las capacidades de GRASS.
GRASS de deja usar un DE; para visibilizar tus datos en tres dimensiones. Esta herramienta que usas para esto
opera en la region GRASS, que en este momento esta ajustado a la totalidad del Sur de África, como lo ajustaste
anteriorente.
• Para volver a definir la extension a cubrir únicamente en los datos del raster, haga click en este boton:
Cuando se activa esta herramienta, su cursor se va a convertir en una cruz cuando hay un cambas en QGIS.
• Utilizando esta herramienta, haga click y jale un rectangulo sobre las esquinas del raster en GRASS.
• Click OK en el dialogo GRASS Region Settings cuando termina.
• Buscar la herramienta nviz:
• Recordar activar ambos botones Use region of this map a la derecha de los dos raster seleccionados en los
menu desplegables. Esto permite que NVIZ evalue correctamente la resolucion de los raster.
• Hacer click en el boton Run.
NVIZ va a crear un ambiente 3D usando el raster y vector seleccionado. Esto puede tomar algo de tiempo,
dependiendo de tu equipo. Cuando termina, vas a ver un mapa en 3D en una ventana nueva:
Experimentar con los austes para cambiar la vista a los datos con height, z-exag, y View method. Puede ser que
este metodo de navegacion requiera practica para acostumbrarse.
Despues de experimentar cierre la ventana NVIZ,
En orden son:
• Add map: Agregar un raster de tu set de mapas en GRASS.
• Add constant value: Agregar un valor constante que se utilizara en funciones.
• Add operator or function: Agregar un operador o funcion que se conecta a las entradas y salidas.
• Add connection: Conectar elementos. Utilizando esta herramienta, click y jale del punto rojo de un
ítem al punto rojo en otro ítem. Puntos que se conectan correctamente a una linea conectora se volverán
grises. Si la linea o punto es roja, no esta conectada correctamente.
• Seleccionar elemento: Selecciona un elemento y mueva los elementos seleccionados.
• Eliminar elementos seleccionados: Borrar el elemento seleccionado de la hoja de mapcalc,
pero no del directorio de mapas (Si este es un ráster existente).
• Haga clic en vista de salida para ver la salida que se muestra en su mapa:
Esto muestra todas las áreas donde el terreno es menor de 500 metros o más de 1000 metros.
13.2.4 In Conclusion
En esta lección, hemos cubierto sólo algunas de las muchas herramientas que GRASS ofrece. Para explorar las
capacidades de GRASS por sí mismo, abra el diálogo Herramientas GRASS y desplácese por Lista de módulos.
O para un enfoque más estructurado, busque en la pestaña Árbol de módulos, que organiza las herramientas según
el tipo.
Antes de hacer cualquier análisis de datos, necesitarás un mapa base, que proporcionará contexto a los resultados
de tu análisis.
• Añade la capa de puntos. Basándote en el nivel que estés haciendo del curso, haz solo lo que esté listado en
la sección apropiada abajo:
• Etiqueta los puntos de forma acorde al atributo único, como nombres de lugares. Utiliza una fuente pequeña
y mantén las etiquetas discretas. La información debería estar disponible, pero no debe ser un elemento
principal del mapa.
• Clasifica los puntos en diferentes colores basados en categorías. Por ejemplo, las categorías podrían incluir
“destinaciones turísticas”, “estaciones de policía”, y “centro de ciudad”.
321
QGIS Training Manual, Publicación 2.18
• Para elementos que no se localizan en un punto singular (por ejemplo, nombres provinciales/regionales, o
nombres de ciudades a gran escala), no les asignes ningún punto.
• No utilices símbolos de puntos para simbolizar la capa. En lugar de ello, utiliza etiquetas centradas sobre
los puntos; los símbolos de puntos no deberían tener ningún tamaño.
• Utiliza Ajustes definidos por los datos para dar estilo a las etiquetas según distintas categorías que tengan
sentido.
• Añade columnas apropiadas a los datos de atributo si es necesario. Cuando lo hagas, no crees datos ficticios
- en su lugar, utiliza Calculadora de campos para rellenar las columnas nuevas, basado en valores existentes
del conjunto de datos.
• Cambia la simbología de las calles a un color suave con un línea ancha. Hazla también un poco transparente.
• Crea un símbolo con múltiples capas de símbolos. El símbolo resultante debería parecer una calle real.
Puedes utilizar símbolos simples para eso; por ejemplo, una línea negra con una línea sólida blanca en el
centro. Puede ser más elaborado también, pero el mapa resultante no debe verse muy concurrido.
• Si tu conjunto de datos tiene una gran densidad de calles a la escala que quieres mostrar en el mapa, deberias
tener dos capas de calles: la elaborada con símbolos complejos que aparentan calles, y una con símbolos
más simples para escalas más pequeñas. (Utiliza visibilidad basada en escala para que cambien en las
escalas apropiadas.)
• Todos los símbolos deberían tener múltiples capas de símbolos. Utiliza simbolos para que se visualizen
correctamente.
• Clasifica la capa de acuerdo con los usos del suelo. Utiliza colores sólidos.
• Clasifica la capa de acuerdo con el uso del territorio. Donde sea apropiado, incorpora capas de símbolos,
diferentes tipos de símbolos, etc. Mantén los resultados suaves y uniformes. ¡Ten en cuenta que será parte
del fondo!
• Utiliza la clasificación basada en reglas para clasificar los usos del territorio en categorías generales, como
“urbana”, “rural”, “reserva natural”, etc.
• Crea el sombreado del relieve a partir del MDE, y utilízalo como capa superpuesta para la versión clasifi-
cada del mismo MDE. También podrías utilizar el complemento Relieve (como se mostró en la lección de
complementos).
• Usar los recursos anteriores, crear un mapa base usando algunas o todas las capas. Este mapa debe incluir
toda la información básica necesaria para orientar al usuario, además de ser visualmente unificada /”simple”
.
14.2.1 /
• Incluye análisis ráster en tus resultados. Considera al menos una propiedad derivada de ese ráster, como su
orientación o pendiente.
• Utiliza el Diseñador de Mapas para crear un mapa final, que incorpore los resultados de tu análisis.
• Incluir este mapa en un documento junto con sus criterios documentados. Si el mapa se ha vuelto demasiado
visualmente ocupado debido a las capa (s) añadidas, desactive las que sienta son menos necesarias.
• Tu mapa debe incluir un título y una leyenda.
En los módulos 1 a 13, has aprendido muchas cosas acerca de QGIS y como trabajar con el. Si estás intersado
en aprender sobre algunas aplicaciones básicas de QGIS en el ámbito forestal, completar este módulo te dará
permitirá aplicar lo que has aprendido y te mostrará algunas nuevas herramientas de utilidad.
Siguiendo este módulo sobre aplicaciones forestales requiere el conocimiento adquirido durante los módulos 1 a
11 de este manual de capacitación. Los ejercicios en las lecciones siguientes asumen que ya eres capaz de realizar
muchas de las operaciones básicas en QGIS y solamente se presentará en mayor detalles herramientas que no han
sido vistas anteriormente.
Sin embargo el módulo sigue un nivel básico a traves de todas las lecciones, de modo que si tienes experiencia
previa con QGIS, es probable que puedas seguir las instrucciones sin ningún problema.
Observa que necesitarás descargar un paquete de datos adicionales para este módulo.
Nota: Los datos de ejemplo utilizados en este módulo son parte del conjunto de datos del manual de capacitación
y puede ser descargado de aquí. Descargue el archivo zip y extraiga la carpeta forestry\ folder into your
exercise_data\
Los datos forestales de muestra (mapa y datos forestales) han sido provistos por la escuela politécnica forestal
EVO-HAMK forestry school. Los datos han sido modificados para adaptarlos a las necesidades de las lecciones.
Los datos de muestra generales (imágenes aéreas, datos LiDAR, mapas básicos) se han obtenido del servicio de
datos gratuitos del National Land Survey of Finland, y han sido adaptados según las intenciones de los ejercicios.
El servicio gratuido de descargas de datos puede accederse en inglés aquí.
Advertencia: Del mismo modo que con el resto del manual de capacitación, este módulo incluye instruc-
ciones sobre como añadir, borrar y alterar conjuntos de datos GIS. Por ese motivo se incluyen conjuntos de
datos sobre los que practicar. Antes de utilizar las técnicas descritas con tus propios datos, asegúrate de que
has hecho las copias de seguridad correspondientes.
325
QGIS Training Manual, Publicación 2.18
Una tarea forestal común sería la acutalización de información de un área forestal. Es posible que la información
anterior para esa área date de muchos años atrás y fuera tomada analógicamente (es decir, en papel) o puede que
fuera digitalizada pero todo lo que queda sea la versión en papel del área inventariada.
Segúramente querrás utilizar esa información en tu SIG para, por ejemplo, comparar con los inventarios posteri-
ores. Esto implica que necesitarás digitalizar la información a mano en tu software SIG. Pero antes de que puedas
empezar a digitalizar, hay un importante primer paso para hacer, escanear y georreferenciar tu mapa de papel.
El objetivo de esta lección: Aprender a usar la herramienta de Georreferenciación en QGIS.
La primera tarea que deberás hacer es escanear tu mapa, si el mapa es demasiado grande, puedes escanearlo en
partes diferentes pero teniendo en cuenta que tendrás que repetir las tareas de preprocesado y georreferenciación
para cada parte. Así que si es posible, escanea el mapa en el menor número de partes posible.
Si vas a utilizar diferentes mapas al proporcionado en este manual, utiliza tu propio escaner para escanear el mapa
como un archivo de imagen, una resolución de 300 DPI funcionará. Si tu mapa tiene colores, escanea la imagen
en color para luego utilizar esos colores para separar la información de tu mapa en diferentes capas (por ejemplo,
masas forestales, curvas de nivel, calles...).
Para este ejercicio utilizarás un mapa previamente escaneado, puedes encontrarlo como rautjarvi_map.tif
en la carpeta de datos exercise_data/forestry
Abre QGIS y ajusta el SRC del proyecto a ETRS89 / ETRS-TM35FIN en Project → Project Properties →
CRS, que es el SRC de uso actual en Finlandia. Asegúrate de que Enable ‘on the fly’ CRS transformation está
activado, ya que trabajaremos con datos antiguos que están en otro SRC.
Busca otras cruces en las líneas negras de la imagen, están separadas 1000 metros entre ellas en dirección Norte y
Este. Deberías ser capaz de calcular las coordenadas de esos puntos en relación al primero.
Alejar zum en la imagen y mover hacia la derecha hasta que encuentre otra forma de cruz, y podrá valorar cuántos
kilómetros se ha movido. Trate de obtener puntos de control en tierra tan lejos de sí como sea posible. Digitalizar
al menos otros tres puntos de apoyo de la misma manera que lo hizo la primera. Debe terminar con algo similar a
esto:
Con los puntos de control ya digitalizados serás capaz de ver los errores de georreferenciación como una línea
roja saliendose de los puntos. El error en píxels puede ser visto también en GCP table en las columnas dX[pixels]
y dY[pixels]. El error en píxels no debería ser mayor de 10 píxels, si lo es deberías revisar los puntos que has
digitalizado y las coordenadas que has introducido para encontrar dónde está el problema. Puedes utilizar la
imagen anterior como guía.
Una vez que estés contento con tus puntos de control guárdalos, en el caso de que los necesites más tarde:
• File → Save GCP points as....
Guarda los cambios en tu proyecto QGIS, continuarás desde este punto en la siguiente lección.
15.2.3 In Conclusion
Como has visto, georreferenciar un mapa de papel es una operación relativamente sencilla.
En la siguiente lección, digitalizarás las masas forestales en tu mapa como polígonos y les añadirás los datos de
inventario.
A menos que vaya a utilizar su mapa georeferenciado como una simple imagen de fondo, el siguiente paso natural
es digitalizar sus elementos. Ya ha hecho esto en los ejercicios sobre creación de datos vectoriales en Lesson:
Creando un Nuevo Conjunto de Datos Vectoriales, cuando digitalizó los terrenos escolares. En esta lección, va a
digitalizar los bordes de las masas forestales que aparecen en el mapa como lineas verdes, pero en lugar de hacerlo
utilizando una imagen aérea utilizara su mapa georreferenciado.
El objetivo de esta lección: Aprender una técnica para asistir la tarea de digitalización, digitalizar una masa
forestal y finalmente añadirle los datos de inventario.
Ahora puede seleccionar los píxeles en la imagen que forman los bordes de las masas forestales (los píxeles
verdosos):
• Abre la herramienta Select → By color.
• Con la herramienta activa, haz zum en la imagen (Ctrl + mouse wheel) para que las líneas de las masas
forestales estén suficientemente cerca para diferenciar los píxeles que forman la línea. Mira la imagen
inferior izquierda.
• Haz clic y arrastra el cursor del ratón en el medio de la línea para que la herramienta recolecte muchos
valores de color de píxel.
• Deja de clicar y espera unos segundos. Los píxeles que coincidan con los colores recogidos por la her-
ramienta serán seleccionados en toda la imagen.
• Aleja el zum para ver como los píxeles verdosos se han seleccionado en toda la imagen.
• Si no estas contento con tus resultados, repite la operación de clicado y arrastrar.
• Su selección de píxeles debería parecerse a la imagen inferior derecha.
Una vez hayas terminado con la selección necesitas copiar la selección como una capa nueva y guardarla como un
archivo de imagen separado:
• Copia (Ctr+C) los píxeles seleccionados.
• Y pégalos directamente (Ctr+V), GIMP los presentará como una nueva capa temporal en el panel Layers -
Brushes como un Floating Selection (Pasted Layer).
• Haz clic derecho en la capa temporal y selecciona To New Layer.
• Haz clic en el icono “eye” junto a la capa original para desactivarlo, para que solo sea visible la Pasted
Layer:
• Finalmente, selecciona File → Export..., ajusta Select File Type (By Extension) como una TIFF image, se-
lecciona la carpeta digitizing y nómbrala rautjarvi_map_green.tif. Selecciona no comprimir
cuando se pregunte.
Podrías hacer el mismo proceso con otros elementos de la imagen, por ejemplo para extraer las líneas negras que
representan calles o las marrones que representan las líneas de contorno del terreno. Pero para nosotros, con las
masas forestales es suficiente.
Como hiciste en la lección anterior, necesitas georeferenciar esta nueva imagen para ser capaz de utilizarla con el
resto de tus datos.
Observa que no necesitas digitalizar los puntos de control base de nuevo porque esta imagen es básicamente la
misma imagen que la del mapa original, siempre y cuando la herramienta de georeferenciación esté conectada.
Aquí hay algunas cosas que deberías recordar:
• Esa imagen también está, por supuesto, en SRC KKJ / Finland zone 2.
• Deberías utilizar los puntos de control base que guardaste, File → Load GCP points.
• Recuerde revisar los Ajustes de transformación.
• Nombra el ráster de salida como rautjarvi_green_georef.tif en la carpeta digitizing.
Comprueba que el nuevo ráster encaja bien en el mapa original.
Tenga en cuenta las herramientas de digitalización en QGIS, que ya podría estar pensando que sería de gran ayuda
para ajustarse a los píxeles verdes durante la digitalización. Eso es precisamente lo que va a hacer después de
crear puntos de esos píxeles para utilizarlas más tarde para ayudarle a seguir las fronteras los estantes forestales
en la digitalización, utilizando las herramientas de autoensamblado disponibles en QGIS.
• Utiliza la herramienta Raster → Conversion → Polygonize (Raster to Vector) para vectorizar tus líneas
verdes a polígonos. Si no recuerdas cómo, puedes repasarlo en el módulo 9.1.1.
• Guárdalo como rautjarvi_green_polygon.shp dentro de la carpeta digitizing.
Amplía el zum y observa como se ven los polígonos. Obtendrás algo como esto:
La siguiente opción para sacar los puntos de los polígonos es obtener sus centroides:
• Abre Vector → Geometry tools → Polygon centroids.
• Establezca la capa poligonal que acaba de crear como archivo de entrada para la herramienta.
• Nombra la salida como green_centroids.shp dentro de la carpeta digitizing.
• Comprueba Add result to canvas.
• Inicia la herramienta para calcular los centroides para los polígonos.
Ahora estás listo para empezar con el trabajo de digitalización. Empezarías creando un archivo vectorial de poly-
gon type, pero para este ejercicio, hay un archivo shape con parte del área de interés ya digitalizada. Terminarás
de digitalizar la mitad de las masas forestales que se ha dejado entre las calles principales (líneas anchas rosas) y
el lago:
Con esos ajustes de rotura, cuando quiera que estés digitalizando y te acerques lo suficiente a uno de ellos en la
capa de centroides o cualquier otro vértice de tus polígonos digitalizados, una cruz rosa aparecerá en el punto al
que se romperá.
Finalmente, desactiva la visibilidad de todas las capas excepto forest_stands y rautjarvi_georef.
Asegúrate de que la imagen del mapa deja de ser transparente.
Un par de cosas importantes a observar antes de empezar a digitalizar:
• No intentes ser demasiado preciso con la digitalización de los bordes.
• Si un borde es una línea recta, digitalízala con solo dos nodos. En general, digitaliza utilizando el menor
número de nodos posible.
• Amplía el zum a rangos cercanos solo si crees que necesitas ser preciso, por ejemplo, en algunas esquitas o
cuando quieres que un polígono conecte con otro en un cierto nodo.
• Utiliza el botón medio del ratón para amliar y reducir el zum y desplazarte mientras digitalizas.
• Digitaliza solo un polígono de cada vez
• Después de digitalizar un polígono, escribe la identidad de masa forestal que puedes ver en el mapa.
Ahora puedes empezar a digitalizar:
• Localiza la masa forestal número 357 en la ventana del mapa.
• Habilita la edición para la capa forest_stands.shp.
• Selecciona la herramienta Add feature.
• Comienza a digitalizar la masa 357 conectando algunos de los puntos.
• Observa las cruces rosas indicativas de rotura.
• Cuando hayas terminado, haz clic derecho para terminar la digitalización de ese polígono.
• Introduce la id de la masa forestal (en este caso 357),
• Haz clic en OK.
Si no se pregunta por la id del polígono cuando acabes de digitalizarlo, ve a Settings → Options → Digitizing y
asegúrate que Suppress attribute form pop-up after feature creation no está marcado.
Tu polígono digitalizado se verá así:
Ahora para el segundo polígono, recoja el estante numero 358. Asegúrese que Evitar enteros. este habilitado
para la capa forest_stands. Esta opción no permite la intersección de polígonos al digitalizar, a fin de que si
digitaliza sobre un polígono existente, el nuevo polígono se recortará para coincidir con los bordes de los polígonos
ya existentes. Puede utilizar esta característica para obtener bordes comunes automáticamente.
• Comienza a digitalizar la masa 358 en una de las esquinas comunes con la masa 357.
• Continúa normalmente hasta que llegues a la otra esquina en común de ambas masas.
• Finalmente, digitalice unos cuantos puntos dentro del polígono 357 asegurándose que el borde común no se
intersecta. Vea la imagen inferior izquierda.
• Haz clic derecho para terminar de editar la masa forestal 358.
• Introduce la id como 358.
• Haz clic en OK, tu polígono nuevo debería mostrar un borde común con la masa 357 como puedes ver en la
imagen de la derecha.
La parte del polígono que se estaba sobreponiendo al polígono existente se ha ajustado automáticamente y te ha
dejado un borde común, como tú querías.
Ahora tienes dos masas forestales diferentes preparadas. Y una buena idea de cómo proceder. Continúa digi-
talizando por tu cuenta hasta que hayas digitalizado todas las masas forestales que estén limitadas por la calle
principal y el lago.
Puede parecer mucho trabajo, pero pronto te acostumbrarás a digitalizar las masas forestales. Debería llevarte
unos 15 minutos.
Durante la digitalización puede que necesite editar o eliminar nodos, separar o unir polígonos. Aprendió acerca
de las herramientas necesarias en Lesson: Topología de los Elementos, ahora es probablemente un buen momento
para ir a leer acerca de ellos de nuevo.
Recuerda que tener activa la Enable topological editing, te permite mover nodos comunes a dos polígonos para
que el borde común sea editado al mismo tiempo para ambos polígonos.
Tu resultado se parecerá a esto:
Es posible que los datos de inventario forestal que tienes en tu mapa también estén escritos en papel. En ese caso,
primero tendrías que haber escrito los datos en un archivo de texto o una hoja de cálculo. Para este ejercicio,
la información del inventario para 1994 (el mismo inventario que el mapa) está listo como un archivo de texto
separado por comas (csv).
Abra el archivo rautjarvi_1994.csv del directorio exercise_data\forestry en un editor de textos
y observe que el archivo de datos de inventario tiene un atributo llamado ID que tiene los números de la masa
forestal. Esos números son los mismos que los ids de la masa forestal que ha escrito a sus polígonos y se puede
utilizar para enlazar los datos desde el archivo de texto a su archivo vectorial. Puede ver los metadatos para estos
datos de inventario en el archivo rautjarvi_1994_legend.txt en la misma carpeta.
• Abre .csv en QGIS con la herramienta Layer → Add Delimited Text Layer.... En el diálogo, ajústalo como
sigue:
Los datos del archivo .csv se acaban de enlazar a tu archivo vectorial. Para hacer que el enlace sea permanente,
para que los datos se guarden al archivo vectorial necesitas guardar la capa forest_stands como un nuevo
archivo vectorial. Cierra la tabla de atributos y haz clic derecho a la capa forest_stands para guardarla como
forest_stands_1994.shp.
Abre tu nueva forest_stands_1994.shp en tu mapa si no la has añadido ya. Luego abre la tabla de
atributos. Notarás que los nombres de las columnas que acabas de añadir no son muy útiles. Para solucionarlo:
• Añade el complemento Table Manager como has hecho con otros complementos antes.
• Asegúrate que el complemento está activado.
• En TOC selecciona la capa forest_stands_1994.shp.
• Luego, vaya a Vectorial → Administrador de tabla → Administrador de tabla.
• Utiliza la caja de diálogo para editar los nombres de las columnas para que coincidan a los del archivo
.csv.
15.3.8 In Conclusion
Ha llevado unos pocos clics de ratón pero ahora tienes tus viejos datos de inventario en formato digital y listos
para usar en QGIS.
Podrías empezar haciendo diferentes análisis con tu nueva marca de conjuntos de datos, pero puede que estés más
interesado en relizar análisis en un conjunto de datos más actualizado. El tema de la siguiente lección será la
creación de masas forestales utilizando fotos aéreas actuales y la adición de información relevante a tu conjunto
de datos.
Ahora que has digitalizado la información de los viejos mapas de inventario y añadido la correspondiente infor-
mación a las masas forestales, el siguiente paso sería crear el inventario del estado actual del monte.
Digitalizarás nuevas masas forestales desde cero desde fotos aéreas de esa área forestal. El mapa forestal que
digitalizaste en la lección anterior fué creado desde una fotografía de infrarrojos aérea (CIR). Ese tipo de imágenes,
donde la luz infrarroja se registra en lugar de la azul, son ampliamente utilizadas para estudiar áreas de vegetación.
Utilizarás también una fotografía CIR en esta lección.
Después de digitalizar las masas forestales, añadirás información como nuevas restricciones dadas por las normas
de conservación.
El objetivo de esta lección: Digitalizar un nuevo conjunto de masas forestales desde una fotografía aérea CIR y
añadir información desde otros conjuntos de datos.
15.4.1 Comparar las viejas masas forestales con Fotografías Aéreas Ac-
tuales
El Estudio Nacional de Finlandia tiene una política de transparencia de datos que te permite descargar una variedad
de datos geográficos como imágenes aéreas, mapas topográficos tradicionales, DEM, datos LIDAR, etc. Se puede
acceder al servicio en Inglés aquí. La imagen aérea utilizada en este ejercicio ha sido creada desde dos imágenes
CIR ortoreferenciadas descargadas de ese servicio (M4134F_21062012 y M4143E_21062012).
• Abre QGIS y ajusta el SRC del proyecto a ETRS89 / ETRS-TM35FIN en Project → Project Properties
→ CRS.
• Asegúrate que Enable ‘on the fly’ CRS transformation está activado.
• Desde la carpeta exercise_data\forestry\, añadir la imagen CIR rautjarvi_aerial.tif
que esta conteniendo los lagos digitalizados.
• Luego guarda el proyecto QGIS como digitizing_2012.qgs.
Las imágenes CIR son de 2012. Se puede comparar las masas que fueron creadas en 1994 con la situación casi 20
años después.
• Añade tu capa forest_stands_1994.shp.
• Ajusta su estilo para poder ver a través de los polígonos.
• Repasa cómo las masas forestales antiguas siguen (o no) lo que puede que interpretes visualmente como un
monte homogéneo.
Amplía y desplázate sobre el área. Probablemente observarás que algunas de las masas forestales todavía se
correspondan con la imagen pero otras no.
Eso es una situación normal, ya que han pasado unos 20 años y se han llevado a cabo diferentes operaciones
forestales (cosechados, aclareos..). También es posible que las masas forestales parecieran homogéneas en 1992
para la persona que los digitalizará pero como el tiempo ha pasado algunos montes han evolucionado de formas
diferentes. O simplemente las prioridades para el inventariado del monte fueron diferentes a las de hoy en dia.
A continuación, crearás nuevas masas forestales para esa imagen sin utilizar las antiguas. Luego puedes compara-
rlas para ver las diferencias.
Vamos a digitalizar la misma área que cubría el viejo inventario, limitada por las calles y el lago. No tienes que
digitalizar el área completa, como en el ejercicio anterior puedes empezar con un archivo vectorial que ya contiene
la mayoría de las masas forestales.
• Borra la capa forest_stands_1994.shp.
• Añade la capa forest_stands_2012.shp, situada en la carpeta exercise_data\forestry\.
• Ajusta el estilo de esa capa para que los polígonos no tengan relleno y los bordes sean visibles.
Puedes ver que todavía falta una región al Norte del área de inventario. Esa será tu tarea, digitalizar las masas
forestales que faltan.
Pero antes de empezar, toma algo de tiempo revisando las masas forestales que ya están digitalizadas y los montes
correspondientes en la imagen. Intenta hacerte una idea de cómo se ha elegido los bordes de las masas, eso te
ayudará a obtener algunos conocimientos forestales.
Algunas ideas sobre lo que podrías identificar en las imágenes:
• Que montes son de especies caducas (en Finlandia mayormente bosques de abedul) y cuales son de coníferas
(en esta región pinos o abetos). En imágenes CIR, las especies caducas vendrán normalmente en un rojo
brillante mientras las coníferas presentan un colores verde oscuro.
• Cuando la edad de una masa forestal cambia, mirando al tamaño de las copas de los árboles que puede ser
identificado en la imagen.
• Las diferentes densidades de las masas forestales, por ejemplo masas forestales donde una operación de
aclareo se ha llevado a cabo recientemente mostrarían claros espacios entre las copas de los árboles que los
Cuando digitalices masas forestales, deberías intentar obtener áreas forestales que sean tan homogéneas como
puedas en términos de especies de árboles, edad de la masa, densidad de pies... Tampoco seas demasiado detallado,
o acabarás haciendo cientos de pequeñas masas forestales que no serán útiles en absoluto. Deberías intentar
obtener masas que sean significativos en un contexto forestal, no demasiado pequeños (al menos 0.5 ha) pero
tampoco demasiado grandes (no más de 3 ha).
Con estas indicaciones en mente, ahora puedes digitalizar las masas forestales que quedan.
• Habilita la edición para forest_stands_2012.shp.
• Ajusta las opciones de topología y rotura como en la imagen.
• Recuerda hacer clic en Apply o OK.
Comienza a digitalizar como hiciste en la lección anterior, con la única diferencia de que no tienes ninguna capa de
puntos a la que estás rompiendo. Para esa área deberías obtener alrededor de 14 masas forestales nuevas. Mientras
digitalices, rellena el campo Stand_id con números empezando desde 901.
Cuando hayas acabado tu capa debería parecerse a esto:
Ahora tienes un nuevo conjunto de polígonos definiendo diferentes masas forestales para la situación actual como
puede interpretarse de las imágenes CIR. Pero obviamente aún te faltan los datos del inventario forestal, ¿correcto?
Para ello todavía necesitarás visitar el monte y obtener algunos datos de muestra que utilizarás para estimar los
atributos del monte para cada una de las masas forestales. Verás cómo hacer esto en la siguiente lección.
Por el momento, todavía puedes mejorar tu capa vectorial con alguna información extra que tengas sobre las
normas de conservación que deberían tomarse en cuenta para esa área.
Para el área con la que estás trabajando, se ha investigado que las siguientes normas de conservación deben tenerse
en cuenta cuando se procede al planeamiento forestal:
• Se han identificado dos territorios de protección de una especie de ardilla voladora siberiana (Pteromys
volans). De acuerdo con las normas, un área de 15 metros alrededor de los puntos debe dejarse intacta.
• Un bosque de ribera de especial interés que crece a lo largo de un arroyo en el área debe ser protegido. En
una visita al campo, se concluyó que 20 metros a ambos lados del arroyo deben ser protegidos.
Tienes un archivo vectorial que contiene la información sobre la situación de las ardillas y otro que contiene el
arroyo digitalizado que recorre el área Norte hacia el lago. Desde la carpeta exercise_data\forestry\,
añade los archivos vectoriales squirrel.shp y stream.shp.
Para la protección de los terrenos de las ardillas, vas a añadir un nuevo atributo (columna) a tus nuevas masas
forestales que contendrá información sobre la situación de los puntos que deben ser protegidos. Esa información
estará luego disponible siempre que una operación forestal se planee, y el conjunto de campos será capaz de
señalar qué áreas deben dejarse intactas antes de comenzar las actividades.
• Abre la tabla de atributos para la capa squirrel.
• Puedes ver que hay dos localidades definidas como ardilla voladora siberiana, y que el área a ser protegida
está indicada por una distancia de 15 metros desde las localidades.
Para unir la información sobre las ardillas a tus masas forestales, puedes utilizar Join attributes by location:
• Abrir Vectorial → Herramienta de gestión de datos → Unir atributos por localización.
• Establecer la capa forest_stands_2012.shp como la Capa vectorial objetivo.
• Como Unir capa vectorial seleccionar la capa puntual squirrel.shp.
• Nombra el archivo de salida como stands_squirrel.shp.
• En Tabla de salida seleccione Mantener todos los registros (incluir registros de objetivos no coincidentes).
Así conserva toda la masa forestal en la capa en lugar de mantener solamente aquellos que están espacial-
mente relacionados con las localidades de ardillas.
• Haga clic Aceptar.
• Selecciona Yes cuando se solicite para añadir la capa al TOC.
• Cierra la caja de diálogo.
Ahora tienes una nueva capa de masas forestales, stands_squirrel cuando hay nuevos atributos correspon-
dientes a la información de protección relacionada con la ardilla voladora siberiana.
Abrir la tabla de la nueva capa y ordenarlo para que las masas forestales con información para el atributo Protection
este arriba. Ahora debe tener dos masas forestales donde las ardillas han estado localizadas.
Aunque esa información puede ser suficiente, mira qué áreas relacionadas con las ardillas deberían ser protegidas.
Sabes que tienes que dejar un borde de 15 metros alrededor de las localizaciones con ardillas:
• Abre Vector → Geoprocessing Tools → Buffer.
• Crea un borde de 15 metros para la capa squirrel.
• Nombra al resultado squirrel_15m.shp.
Observarás que si amplías el zum a la parte Norte del área, el borde se extiende hacia las masas vecinas. Eso
significa que siempre que se produzca una operación en esa masa, la localidad protegida también debería ser
tomada en cuenta.
De tu análisis anterior, no obtuviste la información para registrar esas masas protegidas. Para solucionar ese
problema:
• Inicia la herramienta Join attributes by location de nuevo.
• Pero esta vez utiliza la capa squirrel_15m como capa de unión.
• Nombra el archivo de salida como stands_squirrel_15m.shp.
Abre la tabla de atributos para la nueva capa y observa que ahora tienes tres masas forestales que tienen infor-
mación sobre las localidades a proteger. La información en los datos de las masas forestales indicarán al gestor
forestal que hay consideraciones de protección que deben tenerse en cuenta. Luego el o ella puede obtener la
localización en el conjunto de datos squirrel, y visitar el área para marcar el borde correspondiente alrededor
de las localizaciones para que los operadores de campo puedan evitar perturbar el entorno de las ardillas.
Siguiendo los mismos pasos que los indicados para las localidades protegidas de las ardillas ahora puedes actu-
alizar tus masas forestales con información de protección del arroyo identificado en el campo:
• Recuerda que el borde en este caso son 20 metros a su alrededor.
• Quieres tener toda la información sobre protección en el mismo archivo vectorial, así que utiliza la capa
stands_squirrel_15m como objetivo.
• Nombra tu salida como forest_stands_2012_protect.shp.
Abre la tabla de atributos para la nueva capa vectorial y confirma que ahora tienes toda la información sobre
protección para las masas forestales que están bajo las medidas de protección del bosque de ribera asociado al
arroyo.
Guarda tu proyecto QGIS.
15.4.6 In Conclusion
Has visto cómo interpretar imágenes CIR para digitalizar masas forestales. Por supuesto debería llevar más prác-
tica el refinar las masas y utilizar otra información como mapas de suelos para obtener mejores resultados, pero
ahora sabes las bases para ese tipo de tarea. Y añadir información desde otros conjuntos de datos ha resultado ser
una tarea bastante trivial.
Las masas forestales que digitalizaste se utilizarán para planear operaciones forestales en el futuro, pero todavía
necesitas obtener más información sobre el bosque. En la siguiente lección, verás cómo planear un conjunto de
parcelas de muestreo para inventariar el área forestal que acabas de digitalizar, y obtener una estimación global de
los parámetros forestales.
Ya ha digitalizado un conjunto de polígonos que representan la masa forestal, pero no tiene información acerca
del bosque por el momento. Para ello se puede diseñar un encuesta para inventariar toda la superficie forestal y
luego estimar sus parámetros. En esta lección, creará un conjunto sistemático de parcelas de muestreo.
Cuando comienzas a planear tu inventario forestal es importante definir claramente los objetivos, los tipos de
parcelas de muestreo que serán utilizados, y los datos que serán recolectados para conseguir los objetivos.
Para cada caso individual, dependerá del tipo de propósitos del manejo forestal y debería estar cuidadosamente
planeado por alguien con conocimientos forestales. En esta lección, implementarás un inventario teórico basado
en un sistema de diseño de muestreo.
El objetivo de esta lección: Crear un diseño de muestreo sistemático para examinar el área forestal y estimar los
parámetros forestales.
Hay muchos métodos para inventariar Bosques, cada uno de ellos al servicio de distintos propósitos y condiciones.
Por ejemplo, uno muy preciso para inventariar un bosque sería visitarlo y hacer una lista de cada árbol y sus
características. Como puedes imaginar ese no es realmente aplicable excepto para aquellas áreas pequeñas o
alguna situación especial.
El tipo más común de conocer un bosque es muestrearlo, es decir, tomar medidas en diferentes localidades del
bosque y generalizar la información a la totalidad del bosque. Esas medidas normalmente normalmente están
hechas en parcelas de muestreo que son áreas más pequeñas de bosques que se pueden medir fácilmente. Las
parcelas de muestreo pueden ser de cualquier tamaño (por ejemplo. 50 m2, 0.5 ha) y forma (por ejemplo circu-
lar, rectangular, tamaño variable), y pueden estar situados de diferentes formas (por ejemplo de forma aleatoria,
sistemáticamente, en líneas). El tamaño, forma y localidad de las parcelas de muestreo se deciden normalmente
siguiendo estadísticas y consideraciones económicas y prácticas. Si no tienes conocimientos forestales, puedes
estar interesado en leer este artículo de wikipedia.
Para el bosque con el que estás trabajando, el gestor ha decidido que el diseño de muestreo sistemático es lo más
apropiado para este bosque y ha decidido que una distancia fija de 80 metros entre las parcelas de muestreo y
las líneas de muestreo dará resultados fiables (+- 5% de error medio con una probabilidad del 68%). Parcelas de
tamaño variable han sido decididas como el método más efectivo para este inventario, para masas en crecimiento
y maduras, pero un radio fijo de 4 metros a las parcelas se utilizará para las masas de plántulas.
En la práctica, simplemente necesitas representar las parcelas de muestreo como puntos que serán utilizados luego
por los equipos de campo:
• Abre tu proyecto digitizing_2012.qgs de la lección anterior.
• Borra todas las capas excepto forest_stands_2012.
• Guarda ahora tu proyecto como forest_inventory.qgs.
Ahora necesitas crear una rejilla de puntos rectangular separados 70 metros:
• Abre Vector → Research Tools → Regular points.
• En las definiciones de Area selecciona Input Boundary Layer.
• Y como capa de entrada ajusta la capa forest_stands_2012.
• En los ajustes Grid Spacing, selecciona Use this piont spacing y ajústalo a 80.
• Guarda la salida como systematic_plots.shp en la carpeta forestry\sampling\.
• Habilita Add result to canvas.
• Haz clic en OK.
Nota: La herramienta sugerida, Regular points, crea los puntos sistemáticos comenzando en la esquina superior
izquierda de la extensión de la capa de polígonos seleccionada. Si quieres añadir un elemento de arbitrariedad a
estos puntos regulares, podrías utilizar un número calculado aleatoriamente entre 0 y 80 (80 es la distancia entre
nuestros puntos), y escribirla como el parámetro Initial inset from corner (LH side) el cuadro de diálogo de la
herramienta.
Notarás que la herramienta ha utilizado la extensión completa de tu capa de masas para generar una rejilla rect-
angular de puntos. Pero solo estás interesado en los puntos que están dentro de tu área forestal (mira la imagen
inferior):
Nota: Si desea ordenarlos o nombrarlos de una manera diferente, podría utilizar una hoja de calculo para poder
ordenar y combinar filas y columnas de un modo diferente.
Sin embargo, los números del campo id no son muy buenos. Sería mejor si el nombrado fuera algo como p_1,
p_2.... Puedes crear una nueva columna para la capa systematic_plots_clip:
• Ve a la Attribute table para systematic_plots_clip.
• Habilita el modo edición.
• Abra la Calculadora de campos y nombre a la cueva columna Plot_id.
• Ajusta Output field type a Text (string).
• En el campo Expression, escribe o copia esta fórmula concat(’P_’, $rownum ). Recuerda que
también puedes hacer doble clic en los elementos dentro de la Function list. La función concat puede
encontrarse en String y el parámetro $rownum puede encontrarse en Record.
• Haz clic en OK.
• Deshabilita el modo edición y guarda tus cambios.
Ahora tienes una nueva columna con nombres de las parcelas que son significativos para ti. Para la capa
systematic_plots_clip, cambia el campo utilizado para etiquetar a tu nuevo campo Plot_id.
Los equipos de campos estarán utilizados probablemente dispositivos GPS para localizar las parcelas de muestreo
que planeaste. El siguiente paso es exportar los puntos que creaste a un formato que tu GPS pueda leer.
QGIS te permite guardar los datos vectoriales de puntos y líneas en un formato de intercambio de GPS (GPX)
<http://en.wikipedia.org/wiki/GPS_Exchange_Format>‘, que es un formato de datos GPS estándar que puede ser
leído por programas más especializados. Necesitas ser cuidadoso seleccionando el SRC cuando guardes tus datos:
• Haz clic derecho en systematic_plots_clip y selecciona Save as.
• En Format selecciona GPS eXchange Format [GPX].
Las parcelas de muestreo de inventario están ahora en un formato estándar que puede ser manejado por la
mayoría de programas de GPS. Los equipos de campo pueden descargar las localidades de las parcelas de
muestreo a sus dispositivos. Eso estaría hecho utilizando los dispositivos específicos o programas y el archivo
plots_wgs84.gpx que acabas de crear. Otra opción seria utilizar el complemento GPS Tools pero muy prob-
ablemente requeriría ajustar la herramienta a trabajar con tu dispositivo específico de GPS. Si estás trabajando
con tus propios datos y quieres ver cómo trabaja la herramienta puedes encontrar más información en la sección
trabajando con datos GPS en el QGIS User Manual.
Guarda tu proyecto QGIS ahora.
15.5.4 In Conclusion
Acabas de ver con qué facilidad puedes crear un diseño de muestreo sistemático para utilizar en inventario forestal.
Crear otros tipos de diseños de muestreo requerirá el uso de diferentes herramientas dentro del QGIS, hojas de
cálculo o encriptado para calcular las coordenadas de las parcelas de muestreo, pero la idea general sigue siendo
la misma.
En la siguiente lección verás cómo usar las capacidades del Atlas en QGIS para generar automáticamente mapas
detallados que los equipos de campo utilizarán para navegar a las parcelas de muestreo asignadas a ellos.
El diseño de muestreo sistemático está listo y los equipos de campo han cargado las coordenadas GPS en sus
sistemas de navegación. También tienen un formulario de datos de campo donde colectarán la información medida
en cada parcela de muestreo. Para encontrár más fácilmente su camino a cada parcela de muestreo, ellos han
pedido un número de mapas detallados donde se puede ver claramente alguna información sobre el terreno junto
con un pequeño conjunto de parcelas de muestreo y otra información sobre el área del mapa. Puedes utilizar la
herramienta Atlas para generar automáticamente un número de mapas con un formato común.
El objetivo de esta lección: Aprender a utilizar la herramienta Atlas en QGIS para generar mapas detallados que
se puedan imprimir para asistir en el trabajo de inventario de campo.
Antes de que podamos automatizar los mapas detallados de la mayoría del área forestal y nuestras parcelas de
muestreo, necesitamos crear una plantilla de mapa con todos los elementos que consideremos útiles para el trabajo
de campo. Por supuesto lo más importante será un un estilo apropiado, pero como has visto anteriormente, también
necesitarás añadir muchos otros elementos que completen el mapa impreso.
Abre el proyecto QGIS de la lección anterior forest_inventory.qgs. Deberías tener al menos las capas
siguientes:
• forest_stands_2012 (con una transparencia del 50%, relleno verde y líneas de los bordes verde os-
curo).
• systematic_plots_clip.
• rautjarvi_aerial.
Guarda el proyecto con un nuevo nombre, map_creation.qgs.
Para crear un mapa imprimible, recuerda que utilizas el Composer Manager:
• Abre Project → Composer Manager....
• En el cuadro de diálogo Composer manager.
• Haz clic en el botón Add y nombra a tu compositor forest_map.
• Haz clic en OK.
• Haz clic en el botón Show.
Ajusta las opciones de impresora para que tu página y márgenes del mapa se ajusten a un papel A4:
• Abre menuselection:Composer –> Page Setup.
• Size es A4 (217 x 297 mm).
• Orientation es Landscape.
• Margins (milimeters) todos ajustados a 5.
En la ventana Print Composer, ve a la pestaña Composition (en el panel derecho) y asegúrate de que sus ajustes
de Paper and quality son los mismos que has definido para la impresora:
• Size: A4 (210x297mm).
• Orientation: Landscape.
• Quality: 300dpi.
Componer un mapa es más fácil si utilizas el lienzo en cuadrícula para posicionar los diferentes elementos. Revisa
los ajustes para la cuadrícula del compositor:
• En la pestaña Composition expande la región Grid.
• Comprueba que Spacing está ajustado a 10 mm.
• Y que Tolerance es 2 mm.
Necesitas activar el uso de la cuadrícula:
• Abre el menú View.
• Habilita Show grid.
• Habilita Snap to grid.
• Observa que las opciones para utilizar guides están habilitadas por defecto, lo que te permite ver líneas guía
rojas cuando estás moviendo elementos en el compositor.
Ahora puedes empezar a añadir elementos a tu lienzo del mapa. Añade primero un elemento del mapa para revisar
cómo se ve ya que estáras realizando cambios en la simbología de las capas:
Observa cómo el cursor del ratón se ajústa al lienzo en cuadrícula. Utiliza esta función cuando añadas otros
elementos. Si quieres tener más precisión, cambia los ajustes de cuadrícula Spacing. Si por alguna razón no
quieres forzar el cursor a la cuadrícula en algún momento, siemper puedes habilitarlo o deshabilitarlo en el menú
View.
Deja el compositor abierto pero vuelve al mapa. Vamos a añadir datos de fondo y a crear estilo para que el
contenido del mapa sea lo más claro posible.
• Añade la capa ráster de base basic_map.tif que puedes encontrar en la carpeta
exercise_data\forestry\.
• Cuando se requiera selecciona el SRC ETRS89 / ETRS-TM35FIN para la capa ráster.
Como puedes ver el mapa base ya está estilizado. Este tipo de rásters cartográficos listos para utililar es muy
común. Está creado a partir de datos vectoriales, estilizado en un formato estándar y guardado como un ráster para
que no tengas que dar estilo a muchas capas vectoriales y preocuparte de obtener un buen resultado.
• Ahora amplía tus parcelas de muestreo, para poder ver solo cuatro o cinco líneas de parcelas.
El estilo actual de las parcelas de muestreo no es el mejor, pero ¿cómo se ve en el compositor de mapas?:
Mientras que durante los últimos ejercicios, el amortiguador blanco estaba en OK sobre la imagen aérea, ahora
que la imagen de base es en su mayoria blanca difícilmente puedes ver las etiquetas. También puedes comprobar
cómo se ve en el compositor:
• Ve a la ventana Print Composer.
Has estado trabajando en Module: Creación de un Mapa Básico con simbología y en Module: Clasificación de
Datos Vectoriales con etiquetas. Regresa a estos módulos si necesita refrescarse sobre algunas de las opciones y
herramientas disponibles. Su objetivo es conseguir que los lugares parcelas y los nombre sean tan visibles como
sea posible, pero siempre permitiendo ver los elementos del mapa de fondo. Puede tomar alguna orientación de
esta imagen:
Luego utilizarás el estilo verde para la capa forest_stands_2012. Para mantenerlo, y tener una visualización
que solo muestre los bordes de las masas:
• Haz clic derecho en forest_stands_2012 y selecciona Duplicate
• Obtendrás una capa nueva llamada forest_stands_2012 copy que puedes utilizar para definir un
estilo diferente, por ejemplo sin relleno y con bordes rojos.
Ahora tienes dos visualizaciones diferentes de las masas forestales y puedes decidir cual visualizar en tu mapa
detallado.
Vuelve a la ventana Print composer de vez en cuando para ver cómo se ve el mapa. Para el objetivo de crear mapas
detallados, estás buscando una simbología que se vea bien no solo en la escala de toda el área forestal (imagen
inferior izquierda) sino a una escala más pequeña (imagen inferior derecha). Recuerda utilizar Update preview y
Set to map canvas extent siempre que cambies el zoom en tu mapa o en el compositor.
Una vez tienes una simbología con la que estás contento, estás listo para añadir alguna otra información a tu mapa
imprimible. Añade al menos los elementos siguientes:
• Título.
• Una barra de escala.
• Una cuadrícula para tu mapa.
• Coordenadas en los bordes de la cuadrícula.
Ya has creado una composición parecida en Module: Creación de Mapas. Vuelve a ese módulo si lo necesitas.
Como probablemente hayas observado en las imágenes sugeridas de plantilla de mapa, hay espacio de sobra en la
parte derecha del lienzo. Vamos a ver qué más podría haber ahí. Para los propósitos de nuestro mapa, una leyenda
no es realmente necesaria, pero un mapa resumen y algunas cajas de texto podrian añadir valor al mapa.
El mapa resumen ayudará a los equipos de campo a situar al mapa detallado dentro del área forestal general:
• Añade otro elemento del mapa al lienzo, justo bajo el texto del título.
• En la pestaña Item properties, abre el menú desplegable Overview.
• Ajusta Overview frame a Map 0. Esto crea un rectángulo sombreado encima de un mapa más pequeño
representando la extensión visible del mapa grande.
• Habilita también la opción con color negro Frame y un Thickness de 0.30.
Observa que tu mapa resumen no da realmente un resumen del área forestal que es lo que tú quieres. Tú
quieres que el mapa represente el área forestal completa y quieres que muestre solo el mapa de fondo y la capa
forest_stands_2012, y no represente las parcelas de muestreo. También quieres bloquear esa vista para que
no vuelva a cambiar cuando quiera que cambies la visibilidad o el orden de las capas.
• Vuelve al mapa, pero no cierres el Print composer.
• Haz clic derecho en la capa forest_stands_2012 y haz clic en Zoom to Layer Extent.
• Desactiva todas las capas excepto basic_map y forest_stands_2012.
• Vuelve al Print composer.
• Con el mapa pequeño seleccionado, haz clic en Set to map canvas extent para ajustar su extensión a lo que
puedes ver en la ventana del mapa.
• Bloquea la vista para el mapa resumen habilitando Lock layers for map item en Main properties.
Ahora tu mapa resumen se parece más a lo que tú querías y no volverá a cambiar. Pero, por supuesto, ahora tu
mapa detallado ha dejado de mostrar los bordes de las masas ni las parcelas de muestreo. Vamos a solucionarlo:
• Vuelve a la ventana del mapa y selecciona las capas que quieres que sean visibles
(systematic_plots_clip, forest_stands_2012 copy y Basic_map).
• Vuelve a ampliar el zoom para tener visibles solo unas pocas líneas de parcelas de muestreo.
• Vuelve a la ventana del Print composer.
Observa que solo el mapa grande se muestra en la vista actual del mapa, y el mapa resumen pequeño se mantiene
en la misma vista en que lo bloqueaste.
También observa que la visión general está mostrando una franja sombreada de la extensión mostrada en el mapa
detallado.
Tu plantilla está casi lista. Añade ahora dos cajas de texto bajo el mapa, una conteniendo el texto ‘Detailed map
zone: ‘ y la otra ‘Remarks: ‘. Sitúalas para que puedas verlas en la imágen superior.
También puedes añadir una flecha de Norte al mapa resumen:
La cobertura Atlas es solo una capa vectorial que se utilizará para generar los detalles de los mapas, un mapa
para cada objeto espacial de la cobertura. Para tener una idea de que harás a continuación, aquí hay un conjunto
completo de mapas detallados para el área forestal:
La cubierta podría ser una capa existente, pero normalmente tiene más sentido crear una para el propósito especí-
fico. Vamos a crear una maya de polígonos cubriendo el área forestal:
• En la vista del mapa QGIS, abre Vector → Research Tools → Vector grid.
• Ajusta la herramienta como se muestra en la imagen:
Eso le dice a la herramienta Atlas que utilice los elementos (polígonos) en atlas_coverage como foco para
cada mapa detallado. Eso obtendrá un mapa para cada elemento de la capa. La Hidden coverage layer le dice al
Atlas que no muestre los polígonos en los mapas de salida.
Una cosa más debe hacerse. Necesitas decirle a la herramienta Atlas qué elemento del mapa será actualizado para
cada mapa de salida. Por ahora, probablemente puedes suponer que el mapa a ser cambiado para cada elemento
es uno de los que has preparado para contener vistas detalladas de las parcelas de muestreo, que es el elemento
más grande del mapa de tu lienzo:
• Selecciona el elemento más grande del mapa.
• Ve a la pestaña Item properties.
• En la lista, habilita Controlled by atlas.
• Y ajusta Marging around feature a 10%. La extensión de la vista sera un 10% mayor que los polígonos, lo
que significa que tus mapas detallados tendrán un 10% superpuesto.
Ahora puedes utilizar la herramienta de vista previa para los mapas Atlas para revisar que todos tus mapas se ven
así:
• Active la vista previa de Atlas mediante el botón o si la barra de herramientas del Atlas no esta visible,
por Atlas → Vista previa del Atlas.
• Puedes utilizar las flechas de la barra del menú de la herramientas Atlas Atlas para moverte a través de los
mapas que serán creados.
Observa que algunos de ellos cubren áreas que no son interesantes. Vamos a hacer algo al respecto y salvaremos
algunos árboles al no imprimir mapas inútiles.
En lugar de borrar los polígonos para esas áreas que no son interesantes, puedes también personalizar las etiquetas
de texto en tu mapa a generar con contenido de la Attribute table de tu capa de cobertura:
• Vuelve a la vista del mapa.
Puedes volver a Print Composer y comprobar que las vistas previas del Atlas utiliza solo los polígonos que has
dejado en la capa.
La capa de cobertura que estás utilizando todavía no tiene información útil que podrías utilizar para personalizar
el contenido de las etiquetas en tu mapa. El primer paso es crearlas, puedes añadir por ejemplo un código de zona
para las áreas de los polígonos y un campo con algunas observaciones para que los equipos de campo tengan en
cuenta:
• Abre la Attribute table para la capa atlas_coverage.
• Habilita la edición.
• Crea otro campo llamado Remarks, del tipo Text (string) y con un ancho de 255.
• En la caja Expression escribe ’No remarks.’. Esto ajustará todos los valores por defecto para todos los
polígonos.
El gestor forestal tendrá alguna información sobre el área que puede ser útil cuando visite el área. Por ejem-
plo, la existencia de un puente, un pantano o la presencia de especies protegidas. Probablemente la capa
atlas_coverage todavía está en modo edición, y el siguiente texto en el campo Remarks a los polígonos
correspondientes (haz doble clic en la celda para editarla):
• Para la Zone 2: Puente al norte de la parcela 19. Ardilla siberiana entre
p_13 y p_14..
• Para la Zone 6: Dificultad de tránsito en el pantano al norte del lago..
• Para la Zone 7: Ardilla siberiana al sureste de p_94..
• Desactiva y guarda la edición.
Casi listo, ahora tienes que decirle a la herramienta Atlas que quieres que algunas de las etiquetas de texto utilicen
la informacion de la tabla de atributos de la capa atlas_coverage:
• Vuelve a Print Composer.
• Selecciona la etiqueta de texto que contiene Detailed map....
• Ajusta el tamaño de Font a 12.
• Ajusta el cursor al final del texto en la etiqueta.
• En la pestaña Item properties, en Main properties haz clic en Insert an expression.
• En la Function list haz doble clic en el campo Zone under Field and Values.
• Haz clic en OK.
• El texto dentro de la caja en el Propiedades del elemento deben mostrar Detalle del mapa de la
zona inventariada: [% "Zone" %]. Tenga en cuenta que la [% "Zone" %] será substituida
por el valor del campo Zona para el objeto espacial correspondiente de la capa atlas_coverage.
Comprueba el contenido de la etiqueta mirando diferentes mapas de vista previa de Atlas.
Haga lo mismo para las etiquetas con el texto Observaciones: utilizando el campo con la información de la
zona. Puede dejar una línea de descanso antes de ingresar la expresión. Puede ver el resultado para la vista previa
de la zona en la imagen inferior:
Utiliza la vista previa del Atlas para navegar a través de todos los mapas que crearás pronto, ¡y disfrútalo!
Por último pero no menos importante, imprimir o exportar tus mapas a archivos de imagen o archivos PDF. Puedes
utilizar Atlas → Export Atlas as Images... o Atlas → Export Atlas as PDF.... Actualmente la exportación a formato
SGV y funciona correctamente y dará malos resultados.
Vamos a imprimir los mapas como un archivo PDF que puedes enviar a la oficina de campo para imprimir:
• Ve a la pestaña Atlas generation en el panel derecho.
• En Output activa Single file export when possible. Esto pondrá todos los mapas juntos en un archivo PDF,
si esta opción no está activada obtendrás un archivo para cada mapa.
• Abre Composer → Export as PDF....
• Guarda el archivo PDF como inventory_2012_maps.pdf en tu carpeta
exercise_data\forestry\samplig\map_creation\.
Abre el archivo PDF para comprobar que todo fué como esperabas.
Podrías crear imágenes para cada mapa así de fácil (recuerda desactivar la creación de archivos individuales), aquí
puedes ver las miniaturas de las imágenes que serían creadas:
En Print Composer, guarda tu mapa como una plantilla compositora como forestry_atlas.qpt en tu car-
peta exercise_data\forestry\map_creation\. Utiliza Composer → Save as Template. Serás capaz
de utilizar esa plantilla una y otra vez.
Cierra Print Composer y guarda tu proyecto QGIS.
15.6.10 In Conclusion
Te las has arreglado para crear un mapa de plantilla que puede ser utilizado para generar automáticamente ma-
pas detallados para ser utilizados para ayudar a navegar hasta las diferentes parcelas. Como observaste, no fué
una tarea fácil pero el beneficio vendrá cuando necesites crear mapas similares para otras regiones utilizando la
plantilla que acabas de guardar.
En la siguiente lección, verás cómo puedes utilizar datos LIDAR para crear un DEM y luego utilizarlo para ampliar
tus datos y la visibilidad del mapa.
Estimar los parámetros forestales es un objetivo del inventario forestal. Continuando el ejemplo de la lección
anterior, utilizarás la información de inventario recogida en el campo para calcular los parámetros forestales,
primero para la totalidad del monte, y luego para las masas que has digitalizado previamente.
El objetivo de esta lección: Calcular parámetros forestales a nivel general y de masas.
Los equipos de campo visitaron el monte y con ayuda de la información que les proporcionaste, recogieron
información sobre el monte en cada parcela de muestreo.
Muy a menudo la información se recogerá en forma de papel en el campo, luego pasada a hojas de cálculo. La
información de las parcelas de muestreo se han comprimido en un archivo .csv que puede abrirse fácilmente en
QGIS.
Continua con el proyecto QGIS de la lección sobre el diseño de inventario, probablemente lo nombraste
forest_inventory.qgs.
Primero, añade las medidas de las parcelas de muestreo a tu proyecto QGIS:
Puedes calcular las medias para el área forestal completa desde los resultados de inventario para algunos parámet-
ros interesantes, como el volumen y el número de pies por hectárea. Como las parcelas de muestreo sistemáticas
representan áreas iguales, puedes calcular directamente las medias de los volúmenes y número de pies por hectárea
desde la capa sample_plots_results.
Puedes calcular la media de un campo en la capa vectorial utilizando la herramienta Basic statistics:
• Abre Vector → Analysis Tools → Basic statistics.
• Selecciona sample_plots_results como la Input Vector Layer.
• Selecciona Vol como Target field.
• Haz clic en OK.
El volumen medio del monte es de 135.2 m3/ha.
Puedes calcular la media para el número de pies de la misma forma, 2745 stems/ha.
Puedes utilizar las mismas parcelas de muestreo sistemáticas para calcular estimaciones para diferentes masas
forestales que previamente has digitalizado. Algunas de las masas forestales no tuvieron ninguna parcela de
muestreo y para esas no obtendrás información. Podrías haber planeado algunas parcelas de muestreo extra
cuando planeaste el inventario sistemático, para que los equipos de campo hubieran medido unas pocas parcelas
de muestreo para ese propósito. O podrías enviar un equipo de campo luego para obtener la estimación de las
masas forestales que falten para completar el inventario de masas. No obstante, obtendrás información para un
buen número de masas simplemente utilizando las parcelas planeadas.
Lo que necesitas es obtener las medias de las medias de las parcelas que están incluidas dentro de cada masa
forestal. Cuando quieras combinar información basada en sus localidades relativas, realizarás una unión espacial:
• Abre la herramienta Vector → Data Management → Join attributes by location.
• Ajusta forest_stands_2012 como la Target vector layer. La capa para la que quieres los resultados.
• Ajusta sample_plots_results como la Join vector layer. La capa desde la que quieres calcular las
estimaciones.
• Activa Take summary of intersecting features.
• Activa solo el cálculo de Mean.
• Nombra al resultado forest_stands_2012_results.shp y guárdalo en la carpeta
exercise_data\forestry\results\.
• Finalmente selecciona Keep all records..., así luego podrás comprobar las masas que no obtuvieron infor-
mación.
• Haz clic en OK.
• Acepta añadir la nueva capa a tu proyecto cuando se requiera.
• Cierra la herramienta Join attributes by location.
Abre la Attribute table para forest_stands_2012_results y comprueba los resultados que has obtenido.
Observarás un número de masas forestales que tienen un valor NULL para los cálculos, esas son las que no tenían
parcelas de muestreo. Selecciónalas en la vista del mapa, son algunas de las parcelas más pequeñas:
Vamos a calcular ahora las mismas medias para el monte entero como has hecho antes, pero esta vez utilizarás
las medias que obtuviste para las masas como las bases del cálculo. Recuerda que en la situación previa, cada
parcela de muestreo representaba una masa teórica de 80x80 m. Ahora tienes que considerar el área de cada
masa individualmente en su lugar. De este modo, de nuevo, los valores medios de los parámetros que están en,
por ejemplo, m3/ha para los volúmenes se convierten en volumen total para las masas.
Necesitas calcular primero las áreas para las masas y luego calcular volúmenes totales y número de pies para cada
una de ellas:
• En la Tabla de atributos habilitar la edición.
• Abre el Field calculator.
• Crea un nuevo campo llamado area.
Como puedes ver, la suma total de las áreas de las masas es 66.04 ha. Observa que el área de las masas
forestales que faltan solo son alrededor de 7 ha.
Del mismo modo, puedes calcular que el volumen total de esas masas es 8908 m3/ha y el número total de pies
es 179594 stems.
Utilizando la información de las masas forestales, en lugar de utilizar directamente la de las parcelas de muestreo,
te da las siguientes estimaciones medias:
• 184.9 m3/ha and
• 2719 stems/ha.
Guarda tu proyecto QGIS, forest_inventory.qgs.
15.7.4 In Conclusion
Te las has arreglado para calcular las estimaciones forestales para el monte entero utilizando la información de
tus parcelas de muestreo sistemáticas, primero sin considerar las características del monte y luego utilizando la
interpretación de la imagen aérea de las masas forestales. También obtuviste alguna información valiosa sobre las
masas en particular, que podría ser utilizado para planear el manejo del monte en los próximos años.
En la siguiente lección, la última de este módulo, primero crearás un fondo de sombreado del relieve desde un
conjunto de datos LiDAR que utilizarás para preparar un mapa de presentación con los resultados forestales que
acabas de calcular.
Puedes mejorar las vistas de tus mapas utilizando diferentes imágenes de fondo. Podrías utilizar el mápa básico o
la imágen aérea que has utilizado antes, pero un ráster del relieve sombreado del terreno se verá mejor en algunas
situaciones.
Utilizarás LAStools para extraer un DEM de un conjunto de datos LiDAR y luego crearás un ráster del sombreado
de relieve para utilizar en tu en tu presentación del mapa más tarde.
El objetivo de esta lección: Instalar LAStools y calcular un DEM desde datos LiDAR y un ráster de sombreado
de relieve.
El manejo de datos LiDAR dentro de QGIS es posible utilizando el Marco de procesado y los algoritmos provistos
por LAStools.
Puede obtener un modelo digital de elevación (DEM) a partir de una nube de puntos LiDAR y luego crear un ráster
de mapa de sombras que es visualmente más intuitivo para los fines de presentación. En primer lugar, tendrá que
configurar el marco de trabajo Procesado para trabajar correctamente con LAStools:
• Si ya has iniciado QGIS, ciérralo.
• Una versión antigua del complemento lidar puede haberse instalado por defecto en tu sistema en la carpeta
C:/Program Files/QGIS Valmiera/apps/qgis/python/plugins/processing/.
• Si tienes una carpeta llamada lidar, bórrala. Esto puede ser necesario para algunas instalaciones de QGIS
2.2 y 2.4.
Nota: Lee el archivo LICENSE.txt dentro de la carpeta lastools. Algunos de los LAStools son de código
abierto y otros son de código cerrado que requieren licencias para usos más comerciales y gubernamentales. Para
fines educativos y de evaluación puedes utilizar y probar LAStools tanto como necesites.
Los complementos y algoritmos actuales están instalados en tu ordenador y casi listos para su uso, solo necesitas
preparar el marco de procesado para empezar a utilizarlos:
• Abre un nuevo proyecto en QGIS.
• Ajusta el SRC del proyecto a ETRS89 / ETRS-TM35FIN.
• Guarda el proyecto como forest_lidar.qgs.
Para preparar el LAStools en QGIS:
• Ve a Processing → Options and configuration.
• En el cuadro de diálogo Processing options, ve a Providers y luego a Tools for LiDAR data.
• Habilita Activate.
Ya has utilizado la caja de herramientas Processing en el Módulo 7 para ejecutar algunos algoritmos. Ahora vas a
utilizarla para ejecutar programas de LAStools:
• Abre Processing → Toolbox.
• En el menú desplegable inferior, selecciona Advanced interface.
• Deberías ver la categoría Tools for LiDAR data.
• Expándelo para ver las herramientas disponibles, expande también la categoría LAStools (el número de
algoritmos puede variar).
• Desplázate hacia abajo hasta encontrar el algoritmo lasview, hazle doble clic para abrirlo.
• Como Input LAS/LAZ file, navega hasta exercise_data\forestry\lidar\ y selecciona el archivo
rautjarvi_lidar.laz.
Hay muchas cosas que puedes hacer en ese visor, pero por ahora puedes hacer clic y arrastrar en el visor para
desplazar la nube de puntos LiDAR y ver a qué se parece.
Nota: Si quieres saber información más detallada sobre cómo funciona el LAStools, puedes leer los archivos
de texto README sobre cada una de las herramientas, en la carpeta C:\lastools\bin\. Tutoriales y otros
materiales están disponibles en Rapidlasso webpage.
Los puntos marrones son los puntos clasificados como suelo y los grises son el resto, puedes hacer clic
en la letra g para visualizar solo los puntos de tierra o la letra u‘para ver solo los puntos no
clasificados. Haz clic en la letra :kbd:‘a para ver todos los puntos de nuevo. Com-
prueba el arhivo lasview_README.txt para más comandos. Si estás interesado, también el tutorial
<http://www.rapidlasso.com/2014/03/02/tutorial-manual-lidar-editing/>‘_ sobre edición manual de puntos Li-
DAR te mostrará diversas operaciones dentro del visor.
• Vuelve a cerrar el visor.
• En la Processing Toolbox, busca las2dem.
• Abre la herramienta las2dem y configúrala como se muestra en la imagen:
El resultado DEM se añade a tu mapa con el nombre genérico Output raster file, renombralo a
rautjarvi_dem.
Nota: Las herramientas lasground y las2dem requieren licencia. Puedes utilizar herramientas sin licencia como
se indica en el archivo licencia, pero obtendrás las diagonales que puedes apreciar en la imagen resultados.
Por fines visuales, un sombreado de relieve generado desde un DEM da una mejor visualización del terreno:
• Abre Raster → Terrain analysis → Hillshade.
• Como la Capa de salida, navega hasta exercise_data\forestry\lidar\ y nombra al archivo
rautjarvi_hillshade.tif.
• Deja el resto de parámetros con los ajustes por defecto.
15.8.4 In Conclusion
Utilizar datos LiDAR para obtener un DEM, especialmente en áreas forestales, da buenos resultados sin de-
masiados esfuerzos. También puedes utilizar listas LiDAR DEM derivados o de otras fuentes como SRTM 9m
resolution DEMs. De todas formas, puedes utilizarlos para crear un ráster de sombreado de relieve para utilizar
en tus presentaciones del mapa.
A continuación, y lección final en este módulo, utilizarás el ráster de sombreado de relieve y los resultados fore-
stales del inventario para crear una presentación de los resultados del mapa.
En las lecciones previas has importado un viejo inventario forestal como un proyecto SIG, lo has actualizado a la
situacion actual, diseñado un inventario forestal, creado mapas para el trabajo de campo y calculado los parámetros
forestales desde las medidas de campo.
A menudo es importante crear mapas con los resultados de un proyecto SIG. Una presentación de los resultados
del mapa del inventario forestal facilitará a cualquiera el tener una buena idea de cuales son los resultados a simple
Está utilizando el modo Hard light para el Layer blending mode. Observa que los diferentes modos aplican
diferentes filtros combinando capas inferiores y superiores, en este caso se utilizan el ráster de sombreado de
relieve y tus masas forestales. Puedes leer sobre esos modos en User Guide.
Prueba modos diferentes y observa las diferencias en tu mapa. Luego elige el que más te guste para el mapa final.
15.9.3 Try Yourself Utilizar una Plantilla de Composición para Crear el Mapa
de Resultado
Utiliza una plantilla preparada para presentar los resultados. La plantilla forest_map.qpt que está en la car-
peta exercise_data\forestry\results\. Cárgalo utilizando el cuadro de diálogo Project → Composer
Manager....
Abre el compositor de mapa y edita el mapa final para obtener un resultado con el que estés contento.
La plantilla de mapa que estás utilizando dará un mapa similar a este:
15.9.4 In Conclusion
A través de este módulo has visto cómo un inventario forestal básico puede ser planificado y presentado con QGIS.
Muchos más análisis forestales son posibles con la variedad de herramientas a las que tienes acceso, pero afortu-
nadamente este manual te ha dado un buen punto de inicio para explorar cómo podrías conseguir los resultados
específicos que necesites.
Las Bases de Datos Relacionales son una parte importante de cualquier sistema GIS. en este módulo, aprenderás
sobre el concepto de Sistema de Manejo de Base de Datos Relacional (RDBMS) y utilizarás PostgreSQL para crear
una nueva base de datos en la que guardar datos, así como aprender sobre otras funciones típicas de RDBMS.
Antes de utilizar PostgreSQL, vamos a asegurarnos de nuestro terreno cubriendo la teoría de base de datos general.
No es necesario ingresar algún código de ejemplo; sólo existe para fines de ilustración.
La meta para esta lección: Para entender los conceptos fundamentales de los conceptos de base de datos.
Una base de datos consiste de una colección organizada de datos para uno o más usuarios, típicamente en forma
digital. - Wikipedia
Un Sistema de Administración de base de datos (DBMS) consiste de software que opera base de datos, para el
almacenamiento, acceso, seguridad, respaldo y otras facilidades. - Wikipedia
16.1.2 Tablas
En base de datos relacionales y base de datos de archivo plano, una tabla es un conjunto de elementos de dato
(valores) que se organizan mediante un modelo de columnas verticales (que están identificadas por su nombre)
y filas horizontales. Una tabla tiene un numero especifico de columnas pero puede tener cualquier numero de
filas. Cada fila se identifica por los valores que aparecen en un subconjunto de columna en particular que ha sido
identificado como una llave candidata. - Wikipedia
id | name | age
----+-------+-----
1 | Tim | 20
2 | Horst | 88
(2 rows)
En base de datos SQL una tabla también es comocida como una relación
Una columna es un conjunto de valores de datos de un tipo simple particular, uno para cada fila de la tabla. Las
columnas proporcionan la estructura de acuerdo a que filas por las que esta compuesta. El campo término se
utiliza a menudo como sinónimo de la columna, aunque muchos consideran que es más correcto utilizar el campo
401
QGIS Training Manual, Publicación 2.18
(o valor de campo) para referirse específicamente al único elemento que existe en la intersección entre una fila y
una columna. - Wikipedia
Una columna:
| name |
+-------+
| Tim |
| Horst |
Un campo:
| Horst |
16.1.4 Registros
Un registro es la información almacenada en una fila de tabla. Cada registro tiene un campo para cada una de las
columnas en la tabla.
2 | Horst | 88 <-- one record
Tipo de datos restringe el tipo de información que puede ser almacenada en una columna. - Tim y Horst
Hay muchas clases de tipos de datos. Enfoquemonos en los más comunes:
• String - to store free-form text data
• Integer - to store whole numbers
• Real - to store decimal numbers
• Date - to store Horst’s birthday so no one forgets
• Boolean - to store simple true/false values
Puede decirle a la base de datos que le permita no almacenar nada en un campo. Si no hay nada en un campo,
entonces el contenido del campo se denomina como valor ‘null’:
insert into person (age) values (40);
Resultado:
id | name | age
---+-------+-----
1 | Tim | 20
2 | Horst | 88
4 | | 40 <-- null for name
(3 rows)
Hay muchos más tipos de datos que puede utilizar - revise el manual PostgreSQL!
Vamos a utilizar un caso de estudio sencillo cómo se construye una base de datos. Queremos crear una dirección
base de datos.
Try Yourself
Anotar las propiedades que forma una dirección sencilla y que desea almacenar en nuestra base de datos.
Revise sus resultados
Estructura de Dirección
Las propiedades que describen una dirección son las columnas. El tipo de información almacenada en cada
columna es su tipo de dato. En la siguiente sección analizaremos nuestra tabla de dirección conceptual para ver
¡cómo podemos hacerlo mejor!
El proceso para crear una base de datos implica la creación de un modelo del mundo real; tomando conceptos del
mundo real y representándolos en la base de datos como entidades.
16.1.8 Normalización
Una de las ideas principales de una base de datos es para evitar duplicidad / redundancia. El proceso de eliminar
redundancia de una base de datos se llama normalización.
Normalización es una forma sistemática de asegurar que una estructura de base de datos es adecuada para con-
sultas de propósito general y libre de ciertas características indeseables-inserción, actualización y eliminación de
anomalías- que podrían conducir a una pérdida de la integridad de los datos.
Hay diferentes tipos de normalización ‘formas’.
Let’s take a look at a simple example:
Table "public.people"
Imagine que tiene muchos amigos con el mismo nombre de calle o ciudad. Cada vez que se duplican estos datos,
se consume espacio. Peor aún, si el nombre de una ciudad cambia, tiene que hacer mucho trabajo para actualizar
su base de datos.
Rediseñar la tabla teórica personas anterior para reducir duplicidad y para normalizar la estructura de datos.
Se puede leer más acerca de normalización de base de datos aquí
Verifique sus resultados
16.1.10 Índices
Un índice de base de datos es una estructura que mejora la velocidad de operaciones de recuperación de datos en
una tabla de base de datos. - Wikipedia
Imagine you are reading a textbook and looking for the explanation of a concept - and the textbook has no index!
You will have to start reading at one cover and work your way through the entire book until you find the information
you need. The index at the back of a book helps you to jump quickly to the page with the relevant information:
create index person_name_idx on people (name);
16.1.11 Secuencias
Una secuencia es un generador de números único. Se utiliza normalmente para crear un identificador único para
una columna en una tabla.
In this example, id is a sequence - the number is incremented each time a record is added to the table:
id | name | address | phone_no
---+--------------+-----------------------------+-------------
1 | Tim Sutton | 3 Buirski Plein, Swellendam | 071 123 123
2 | Horst Duster | 4 Avenue du Roix, Geneva | 072 121 122
In a normalised database, you typically have many relations (tables). The entity-relationship diagram (ER Dia-
gram) is used to design the logical dependencies between the relations. Consider our non-normalised people table
from earlier in the lesson:
select * from people;
Con un pequeño trabajo podemos dividirlo en dos tablas, eliminando la necesidad de repetir el nombre de la calle
para individuos que viven en la misma calle:
select * from streets;
id | name
----+--------------
1 | Plein Street
(1 row)
y:
select * from people;
Podemos entonces enlazar las dos tablas utilizando las ‘claves’ streets.id y people.streets_id.
Si dibujamos el diagrama ER para estas dos tablas se vería algo así:
El diagrama ER nos ayuda a expresar relaciones ‘uno a muchos’. En este caso, el símbolo de flecha muestra que
una calle puede tener mucha gente viviendo en ella.
Try Yourself
Nuestro modelo personas tiene aún problemas de normalización - intente ver si se puede normalizar aún más y
mostrar sus ideas por medio de un diagrama de ER.
Verifique sus resultados
Una restricción de base de datos se utiliza para asegurar que datos en un relación coinciden con la vista del
modelador de cómo ese dato debería ser almacenado. Por ejemplo una restricción en su código postal podría
asegurar que el número cae entre 1000 y 9999.
Una clave primaria es uno o más valores de campo que hacen un único registro. Normalmente la clave primaria
es llamada id y es una secuencia.
Una clave foránea es utilizada para referirse a un registro único en otra tabla (utilizando la clave primaria de esa
otra tabla).
En diagramas de ER, el enlace entre tablas se basa normalmente en claves foráneas que enlazan con claves pri-
marias.
If we look at our people example, the table definition shows that the street column is a foreign key that references
the primary key on the streets table:
Table "public.people"
16.1.14 Transacciones
Al añadir, cambiar o borrar datos en una base de datos, siempre es importante que se deje la base de datos en buen
estado si algo va mal. La mayoría de la base de datos proporciona una característica llamada asistencia de transac-
ciones. Las transacciones permiten crear una posición de reversión que se puede volver si sus modificaciones a la
base de datos no se han ejecutado como estaba previsto.
Tome un esenario donde tenga un sistema de contabilidad. Necesita transferir fondos de una cuenta y añadirlos a
otra. La secuencia de pasos sería algo así:
• eliminar R20 de Joe
• añadir R20 a Anne
Si algo va mal durante el proceso (por ejemplo, corte de energía), la transacción se deshace.
16.1.15 In Conclusion
Las bases de datos le permite administrar datos en una forma estructurada utilizando estructuras de código sencillo.
Ahora que hemos visto en teoría cómo las bases de datos funcionan, vamos a crear una nueva base de datos para
implementar la teoría que hemos cubierto.
Ahora que hemos cubierto toda la teoría, pasemos a crear una nueva base de datos. Esta base de datos la vamos a
utilizar para nuestros ejercicios en las lecciones que siguen a continuación.
El objetivo de esta lección: Instalar el software requerido y utilizarlo para implementar nuestra base de datos de
ejemplo.
Nota: Aunque está fuera del alcance de este documento, los usuarios de Mac pueden instalar Post-
greSQL usando Homebrew. Los usuarios de Windows pueden usar el instalador gráfico ubicado aquí:
http://www.postgresql.org/download/windows/. Por favor tenga en cuenta que la documentación asume que los
usuarios están ejecutando QGIS en Ubuntu.
En Ubuntu:
sudo apt-get install postgresql-9.1
16.2.2 Ayuda
En Ubuntu:
After the installation is complete, run this command to become the postgres user and then create a new database
user:
sudo su - postgres
Ingrese la contraseña cuando se pida. Debería usar una contraseña diferente a la contraseña de acceso.
¿Qué significan estas opciones?
-d, --createdb role can create new databases
-E, --encrypted encrypt stored password
-i, --inherit role inherits privileges of roles it is a member of (default)
-l, --login role can login (default)
-P, --pwprompt assign a password to new role
-r, --createrole role can create new roles
-s, --superuser role will be superuser
Now you should leave the postgres user’s bash shell environment by typing:
exit
psql -l
The createdb command is used to create a new database. It should be run from the bash shell prompt:
createdb address -O qgis
You can verify the existence of your new database by using this command:
psql -l
Let’s start making some tables! We will use our ER Diagram as a guide. First, connect to the address db:
psql address
serial y varchar son tipos de datos. serial indica a PostgreSQL que comience una secuencia de entero
(auto-numerada) para introducir el id automáticamente en cada nuevo registro. varchar(50) le indica a
PostgreSQL crear un campo de caracter con un ancho de 50 caracteres.
You will notice that the command ends with a ; - all SQL commands should be terminated this way. When you
press Enter, psql will report something like this:
NOTICE: CREATE TABLE will create implicit sequence "streets_id_seq"
for serial column "streets.id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"streets_pkey" for table "streets"
CREATE TABLE
Eso significa que su tabla fue creada satisfactoriamente, con la clave primaria calles_pkey using calles.id.
Nota: Si presiona enter sin haber escrito el ;, obtendrá unos símbolos como address-#. Esto es porque PG
está esperando que introduzca más información. Ingrese ; para ejecutar su comando.
To view your table schema, you can do this:
\d streets
Try Yourself
El problema con nuestra solución de arriba, es que la base de datos no sabe que las tablas personas y calles
tienen una relación lógica. Para indicar esta relación, necesitamos definir una clave externa que apunte a la Clave
Primaria de la tabla calles.
Esto indica que el campo street_id de la tabla people deberá coincidir con con un id válido de la tabla
streets.
El modo más usual de crear una restricción es hacerlo cuando se está creando la tabla:
create table people (id serial not null primary key,
name varchar(50),
house_no int not null,
street_id int references streets(id) not null,
phone_no varchar null);
\d people
After adding the constraint, our table schema looks like this now:
Table "public.people"
We want lightning fast searches on peoples names. To provide for this, we can create an index on the name column
of our people table:
create index people_name_idx on people(name);
\d people
Table "public.people"
If you want to get rid of a table you can use the drop command:
drop table streets;
Nota: En nuestro ejemplo actual, el comando de arriba no funciona. ¿Por qué no? Vea porque
If you used the same drop table command on the people table, it would be successful:
drop table people;
Nota: Si ingresó el comando y eliminó la tabla people, ahora sería buen momento para reconstruirla, pues la
necesitará en los próximos ejercicios.
Hemos estado mostrando los comandos SQL desde la consola psql porque es un modo muy útil para aprender
sobre bases de datos. Sin embargo, existen modos más rápidos y fáciles para hacer mucho de lo que hemos estado
mostrando. Instale pgAdmin III y podrá crear, eliminar, modificar, Etc. tablas usando operaciones apuntar y hacer
click en una GUI.
Under Ubuntu, you can install it like this:
sudo apt-get install pgadmin3
16.2.12 In Conclusion
Ha visto hasta ahora como crear una nueva base de datos empezando completamente desde cero.
Los modelos que hemos creado ahora tendrá que ser llenado con los datos que están destinados a contener.
La meta para esta lección Para aprender cómo insertar nuevos datos al modelo de base de datos.
¿Cómo añadir datos a una tabla? La sentencia sql INSERT proporciona la funcionalidad para esto:
insert into streets (name) values (’High street’);
Result:
select * from streets;
id | name
----+-------------
1 | High street
(1 row)
Try Yourself
Use el comando INSERT para agregar una nueva calle a la tabla streets.
Verifique sus resultados
Intente añadir un objeto persona a la tabla people con los siguientes detalles:
Name: Joe Smith
House Number: 55
Street: Main Street
Phone: 072 882 33 21
Nota: Recodemos que en este ejemplo, definimos números de teléfono como cadenas y no como números enteros.
En este punto, debe tener un reporte de error, si intentó hacerlo sin antes crear un registro para la Main Street en
la tabla de streets.
También debe haber notado que:
• No se puede añadir la calle utilizando su nombre
• No se puede añadir una calle utilizando un id de una calle antes , primero se crea el registro de la calle en
la tabla de streets
Recordar que nuestras tablas estan vinculadas por un par de llave primaria/foreana. Esto significa que ninguna
persona válida puede ser creado sin que exista también un récord calle correspondiente válida.
Usar el conocimiento previo, añadir la nueva persona a la base de datos.
Verifique sus resultados
We have already shown you the syntax for selecting records. Let’s look at a few more examples:
select name from streets;
En sesiones posteriores, vamos a entrar en más detalle sobre como seleccionar y filtrar datos.
What if you want to make a change to some existing data? For example, a street name is changed:
update streets set name=’New Main Road’ where name=’Main Road’;
Tenga mucho cuidado al utilizar este tipo de sentencias de actualización - si más de un registro coincide con su
cláusula WHERE, ¡todos serán actualizados!
A better solution is to use the primary key of the table to reference the record to be changed:
update streets set name=’New Main Road’ where id=2;
Nota: El criterio de la cláusula WHERE distingue entre mayúsculas y minúsculas Main Road no es lo mismo
que Main road
Use the skills you have learned to add some new friends to your database:
name | house_no | street_id | phone_no
-----------------+----------+-----------+--------------
Joe Bloggs | 3 | 2 | 072 887 23 45
Jane Smith | 55 | 3 | 072 837 33 35
Roger Jones | 33 | 1 | 072 832 31 38
Sally Norman | 83 | 1 | 072 932 31 32
16.3.8 In Conclusion
Ahora que sabe como añadir nuevos datos a los modelos existentes que se crearon previamente. Recordar que si
se quiere añadir nuevos tipos de datos, es posible que se desee modificar y/o crear nuevos modelos para contener
los datos.
Ahora que se han añadido algunos datos, aprenderá cómo utilizar las consultas para acceder a estos datos de
diferentes maneras.
Cuando escribe un comando SELECT ... se conoce comúnmente como una consulta - se están interrogando a
la base de datos para obtener información.
La meta de esta lección: Para aprender cómo crear consultas que regresen información útil.
Nota: Si no se hizo en la lección anterior. añada los siguientes objetos de personas a su tabla people. si recibe
errores relacionados con restricciones de clave foránea, necesitará añadir el objeto ‘Carretera principal’ a su tabla
de calles primero.
Resultado:
name | house_no
--------------+----------
Joe Bloggs | 3
Roger Jones | 33
Jane Smith | 55
Sally Norman | 83
(4 rows)
You can sort the results by the values of more than one column:
select name, house_no from people order by name, house_no;
Resultado:
name | house_no
--------------+----------
Jane Smith | 55
Joe Bloggs | 3
Roger Jones | 33
Sally Norman | 83
(4 rows)
16.4.2 Filtrar
A menudo no se desea ver cada registro individual en la base de datos - especialmente si hay miles de registros y
sólo se está interesado en ver una o dos.
Here is an example of a numerical filter which only returns objects whose house_no is less than 50:
select name, house_no from people where house_no < 50;
name | house_no
-------------+----------
Joe Bloggs | 3
Roger Jones | 33
(2 rows)
You can combine filters (defined using the WHERE clause) with sorting (defined using the ORDER BY clause):
select name, house_no from people where house_no < 50 order by house_no;
name | house_no
-------------+----------
Joe Bloggs | 3
Roger Jones | 33
(2 rows)
name | house_no
-------------+----------
Joe Bloggs | 3
Roger Jones | 33
(2 rows)
Aquí utilizamos la clausula LIKE para encontrar todos los nombres con una s en ellos. Se dará cuenta que esta
consulta distingue entre mayúsculas y minúsculas, por lo que la entrada Sally Norman no ha sido devuelta.
If you want to search for a string of letters regardless of case, you can do a case in-sensitive search using the
ILIKE clause:
select name, house_no from people where name ilike ’%r%’;
name | house_no
--------------+----------
Roger Jones | 33
Sally Norman | 83
(2 rows)
16.4.3 Uniones
What if you want to see the person’s details and their street’s name instead of the ID? In order to do that, you need
to join the two tables together in a single query. Lets look at an example:
select people.name, house_no, streets.name
from people,streets
where people.street_id=streets.id;
Nota: Con las uniones, siempre indicará las dos tablas de información que esta viendo, en este caso personas y
calles. También es necesario especificar que las claves deben coincidir (clave foránea y clave primaria). Si no se
especifica eso, se obtendrá una lista de todas las combinaciones posibles de personas y calles, pero ¡no hay forma
de saber quién vive en que calle!
Volveremos a examinar las uniones que creamos con consultas más complejas después. Sólo recuerde que pro-
porcionan una manera sencilla de combinar la información de dos o más tablas.
16.4.4 Sub-selección
Las sub-selecciones le permiten seleccionar objetos de una tabla basada en los datos de otra que esta enlazada
mediante una relación de clave foránea. En nuestro caso, queremos encontrar personas que vivan en una calle
especifica.
First, let’s do a little tweaking of our data:
insert into streets (name) values(’QGIS Road’);
insert into streets (name) values(’OGR Corner’);
insert into streets (name) values(’Goodle Square’);
update people set street_id = 2 where id=2;
update people set street_id = 3 where id=3;
Let’s take a quick look at our data after those changes: we can reuse our query from the previous section:
select people.name, house_no, streets.name
from people,streets
where people.street_id=streets.id;
Resultado:
Now let’s show you a sub-selection on this data. We want to show only people who live in street_id number
1:
select people.name
from people, (
select *
from streets
where id=1
) as streets_subset
where people.street_id = streets_subset.id;
Resultado:
name
--------------
Roger Jones
Sally Norman
(2 rows)
Aunque este es un ejemplo muy sencillo e innecesario con nuestros conjuntos de datos, que ilustra cómo las
sub-selecciones útiles e importantes pueden ser al consultar conjunto de datos grandes y complejos.
One of the powerful features of a database is its ability to summarise the data in its tables. These summaries are
called aggregate queries. Here is a typical example which tells us how many people objects are in our people
table:
select count(*) from people;
Resultado:
count
-------
4
(1 row)
Resultado:
count | street_id
-------+-----------
2 | 1
1 | 3
1 | 2
(3 rows)
Nota: Debido a que no hemos utilizado una cláusula ORDER BY, el orden de sus resultados podrían no coincidir
con el que se muestra aquí.
Try Yourself
Resumir las personas por nombre de calle y mostrar los nombres de calle reales en lugar del street_ids.
Verifique sus resultados
16.4.6 In Conclusion
Se ha visto cómo utilizar consultas para regresar los datos en su base de datos en una manera que le permita extraer
información útil de esto.
A continuación, vamos a ver cómo crear vistas de las consultas que ha escrito.
Cuando se escribe una consulta, debe pasar mucho tiempo y esfuerzo para formularla. Con vistas, se puede
guardar la definición de una consulta SQL en una reutilizable ‘tabla virtual’
El objetivo de esta lección: Guardar una consulta como una vista.
You can treat a view just like a table, but its data is sourced from a query. Let’s make a simple view based on the
above:
create view roads_count_v as
select count(people.name), streets.name
from people, streets where people.street_id=streets.id
group by people.street_id, streets.name;
Como puede ver estos cambios solo son en la parte Crea una vista roads_count_v as al inicio. Ahora
podemos seleccionar datos de esa vista:
select * from roads_count_v;
Resultado:
count | name
-------+-------------
1 | Main Road
2 | High street
1 | Low Street
(3 rows)
A view is not fixed, and it contains no ‘real data’. This means you can easily change it without impacting on any
data in your database:
CREATE OR REPLACE VIEW roads_count_v AS
SELECT count(people.name), streets.name
FROM people, streets WHERE people.street_id=streets.id
GROUP BY people.street_id, streets.name
ORDER BY streets.name;
(Este ejemplo muestra también la mejor practica de convención de la utilización UPPER CASE para todas la
palabras clave SQL.)
You will see that we have added an ORDER BY clause so that our view rows are nicely sorted:
select * from roads_count_v;
count | name
-------+-------------
2 | High street
1 | Low Street
1 | Main Road
(3 rows)
16.5.4 In Conclusion
Usar vistas, puede guardar una consulta y acceder a los resultados como si fuera una tabla.
Algunas veces, cuando cambia datos, quiere que los cambios tengan efecto entre otra parte en la base de datos. La
siguiente lección mostrará cómo puede hacer esto.
Las reglas permiten la “un árbol de consulta” de una consulta de entrada para reescribir. Un uso común es
implementar vistas, incluyendo vista actualizable .*- Wikipedia*
La meta de esta lección: Aprender cómo crear nuevas reglas para la base de datos.
Say you want to log every change of phone_no in your people table in to a people_log table. So you set up a new
table:
create table people_log (name text, time timestamp default NOW());
In the next step, create a rule that logs every change of a phone_no in the people table into the people_log table:
create rule people_log as on update to people
where NEW.phone_no <> OLD.phone_no
do insert into people_log values (OLD.name);
Now, thanks to the rule we created, the people_log table will look like this:
select * from people_log;
name | time
------------+----------------------------
Joe Bloggs | 2014-01-11 14:15:11.953141
(1 row)
16.6.2 In Conclusion
Reglas le permiten agregar automáticamente o cambiar los datos de su base de datos para reflejar los cambios en
otras partes de la base de datos.
El siguiente módulo le dará a conocer las base de datos espaciales utilizando PostGIS, que toma estos conceptos
de bases de datos y las aplica a los datos GIS.
Base de datos espacial permite el almacenamiento de las geometrías de los registros dentro de una base de datos así
como proveer funcionalidades para consultar y recuperar registros que utilizan estas geometrías. En este modulo
nosotros usaremos PostGIS, una extensión de PostgreSQL, para aprender como instalar una base de datos espacial,
importar datos desde shapefiles a la base de datos y usar las funciones geográficas que PostGIS ofrece.
While working through this section, you may want to keep a copy of the PostGIS cheat sheet available from
Boston GIS user group. Another useful resource is the online PostGIS documentation.
También hay algunos tutoriales extensos sobre PostGIS y base de datos espaciales disponibles de Boundless Geo:
• Introducción a PostGIS <http://workshops.boundlessgeo.com/postgis-intro/>‘_
• Concejos y trucos de Base de datos espacial <http://workshops.boundlessgeo.com/postgis-spatialdbtips/>‘_
Ver también PostGIS en línea <http://postgisonline.org/>
Setting up PostGIS functions will allow you to access spatial functions from within PostgreSQL.
El objetivo de esta lección: instalar funciones espaciales y una breve demostración de sus efectos.
Nota: We will assume the use of PostGIS version 2.1 in this exercise. The installation and database config-
uration are different for older versions, but the rest of this material in this module will still work. Consult the
documentation for your platform for help with installation and database configuration.
Nota: Depending on which version of Ubuntu you are using, and which repositories you have configured,
these commands will install PostGIS 1.5, or 2.x. You can find the version installed by issuing a select
PostGIS_full_version(); query with psql or another tool.
To install the absolute latest version of PostGIS, you can use the following commands.
$ sudo apt-add-repository ppa:sharpie/for-science
$ sudo apt-add-repository ppa:sharpie/postgis-nightly
421
QGIS Training Manual, Publicación 2.18
Installing on Windows is a little more complicated, but still not hard. Note that you need to be online to install the
postgis stack.
First Visit the download page.
Then follow this guide.
More information about installing on Windows can be found on the PostGIS website.
The PostGIS website download has information about installing on other platforms including macOS and on other
linux distributions
Once PostGIS is installed, you will need to configure your database to use the extensions. If you have installed
PostGIS version > 2.0, this is as simple as issuing the following command with psql using the address database
from our previous exercise.
$ psql -d address -c "CREATE EXTENSION postgis;"
Nota: If you are using PostGIS 1.5 and a version of PostgreSQL lower than 9.1, you will need to follow a different
set of steps in order to install the postgis extensions for your database. Please consult the PostGIS Documentation
for instructions on how to do this. There are also some instructions in the previous version of this manual.
PostGIS can be thought of as a collection of in-database functions that extend the core capabilities of PostgreSQL
so that it can deal with spatial data. By ‘deal with’, we mean store, retrieve, query and manipulate. In order to do
this, a number of functions are installed into the database.
Our PostgreSQL address database is now geospatially enabled, thanks to PostGIS. We are going to delve a lot
deeper into this in the coming sections, but let’s give you a quick little taster. Let’s say we want to create a point
from text. First we use the psql command to find functions relating to point. If you are not already connected to
the address database, do so now. Then run:
\df *point*
This is the command we’re looking for: st_pointfromtext. To page through the list, use the down arrow,
then press q to quit back to the psql shell.
Intente ejecutar este comando:
select st_pointfromtext(’POINT(1 1)’);
Result:
st_pointfromtext
--------------------------------------------
0101000000000000000000F03F000000000000F03F
(1 row)
422 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Publicación 2.18
The query we’re looking for now is st_astext. Let’s combine it with the previous query:
select st_astext(st_pointfromtext(’POINT(1 1)’));
Result:
st_astext
------------
POINT(1 1)
(1 row)
Here, we entered the string POINT(1,1), turned it into a point using st_pointfromtext(), and turned it
back into a human-readable form with st_astext(), which gave us back our original string.
One last example before we really get into the detail of using PostGIS:
select st_astext(st_buffer(st_pointfromtext(’POINT(1 1)’),1.0));
What did that do? It created a buffer of 1 degree around our point, and returned the result as text.
In addition to the PostGIS functions, the extension contains a collection of spatial reference system (SRS) defi-
nitions as defined by the European Petroleum Survey Group (EPSG). These are used during operations such as
coordinate reference system (CRS) conversions.
We can inspect these SRS definitions in our database as they are stored in normal database tables.
First, let’s look at the schema of the table by entering the following command in the psql prompt:
\d spatial_ref_sys
You can use standard SQL queries (as we have learned from our introductory sections), to view and manipulate
this table - though its not a good idea to update or delete any records unless you know what you are doing.
One SRID you may be interested in is EPSG:4326 - the geographic / lat lon reference system using the WGS 84
ellipsoid. Let’s take a look at it:
Result:
srid | 4326
auth_name | EPSG
auth_srid | 4326
srtext | GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS
84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,
0,0,0,0,0,0],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,
AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]
proj4text | +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs
The srtext is the projection definition in well known text (you may recognise this from .prj files in your shapefile
collection).
17.1.7 In Conclusion
You now have PostGIS functions installed in your copy of PostgreSQL. With this you’ll be able to make use of
PostGIS’ extensive spatial functions.
How can we store and represent geographic features in a database? In this lesson we’ll cover one approach, the
Simple Feature Model as defined by the OGC.
El objetivo de esta lección: Aprender qué es el modelo SFS y cómo utilizarlo.
The Open Geospatial Consortium (OGC), an international voluntary consensus standards organization, originated
in 1994. In the OGC, more than 370+ commercial, governmental, nonprofit and research organizations worldwide
collaborate in an open consensus process encouraging development and implementation of standards for geospatial
content and services, GIS data processing and data sharing. - Wikipedia
The Simple Feature for SQL (SFS) Model is a non-topological way to store geospatial data in a database and
defines functions for accessing, operating, and constructing these data.
424 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Publicación 2.18
The model defines geospatial data from Point, Linestring, and Polygon types (and aggregations of them to Multi
objects).
For further information, have a look at the OGC Simple Feature for SQL standard.
You will notice that the geometry field type does not implicitly specify what type of geometry for the field - for
that we need a constraint:
alter table people
add constraint people_geom_point_chk
check(st_geometrytype(the_geom) = ’ST_Point’::text
OR the_geom IS NULL);
This adds a constraint to the table so that it will only accept a point geometry or a null value.
Create a new table called cities and give it some appropriate columns, including a geometry field for storing
polygons (the city boundaries). Make sure it has a constraint enforcing geometries to be polygons.
Comprueba tus resultados
At this point you should also add an entry into the geometry_columns table:
Why? geometry_columns is used by certain applications to be aware of which tables in the database contain
geometry data.
Nota: If the above INSERT statement causes an error, run this query first:
select * from geometry_columns;
If the column f_table_name contains the value people, then this table has already been registered and you
don’t need to do anything more.
The value 2 refers to the number of dimensions; in this case, two: x and y.
The value 4326 refers to the projection we are using; in this case, WGS 84, which is referred to by the number
4326 (refer to the earlier discussion about the EPSG).
Try Yourself
Now that our tables are geo-enabled, we can store geometries in them:
insert into people (name,house_no, street_id, phone_no, the_geom)
values (’Fault Towers’,
34,
3,
’072 812 31 28’,
’SRID=4326;POINT(33 -33)’);
Nota: In the new entry above, you will need to specify which projection (SRID) you want to use. This is because
you entered the geometry of the new point using a plain string of text, which does not automatically add the correct
projection information. Obviously, the new point needs to use the same SRID as the data-set it is being added to,
so you need to specify it.
If at this point you were using a graphical interface, for example, specifying the projection for each point would
be automatic. In other words, you usually won’t need to worry about using the correct projection for every point
you want to add if you’ve already specified it for that data-set, as we did earlier.
Now is probably a good time to open QGIS and try to view your people table. Also, we should try editing /
adding / deleting records and then performing select queries in the database to see how the data has changed.
To load a PostGIS layer in QGIS, use the Layer → Add PostGIS Layers menu option or toolbar button:
426 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Publicación 2.18
To see whether QGIS has found the address database and that your username and password are correct, click
Test Connect. If it works, check the boxes next to Save Username and Save Password. Then click OK to create
this connection.
428 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Publicación 2.18
Back in the Add PostGIS Layers dialog, click Connect and add layers to your project as usual.
Try Yourself
Formulate a query that shows a person’s name, street name and position (from the the_geom column) as plain text.
Comprueba tus resultados
17.2.8 In Conclusion
You have seen how to add spatial objects to your database and view them in GIS software.
A continuación verá cómo importar data a, y exportar data desde, su base de datos.
Evidentemente, una base de datos sin una manera simple de migrar datos dentro y fuera de esta no seria de mucha
utilidad. Afortunadamente, hay ciertas herramientas que te permitirán importar o exportar datos de PostGIS
fácilmente .
17.3.1 shp2pgsql
shp2pgsql is a commandline tool to import ESRI shapefiles to the database. Under Unix, you can use the following
command for importing a new PostGIS table:
shp2pgsql -s <SRID> -c -D -I <path to shapefile> <schema>.<table> | \
psql -d <databasename> -h <hostname> -U <username>
Under Windows, you have to perform the import process in two steps:
shp2pgsql -s <SRID> -c -D -I <path to shapefile> <schema>.<table> > import.sql
psql psql -d <databasename> -h <hostname> -U <username> -f import.sql
Este es un problema conocido con respecto a la creación in situ de un índice espacial para los datos que se van a
importar. Para evitar el error, hay que excluir el parámetro -I. Esto quiere decir que ningún índice espacial está
siendo creado directamente, y necesitará crearse en la base de datos después que los datos hayan sido importados.
(La creación de un índice espacial se verá en la próxima lección.)
17.3.2 pgsql2shp
pgsql2shp is a commandline tool to export PostGIS Tables, Views or SQL select queries. To do this under Unix:
pgsql2shp -f <path to new shapefile> -g <geometry column name> \
-h <hostname> -U <username> <databasename> <table | view>
17.3.3 ogr2ogr
ogr2ogr is a very powerful tool to convert data into and from postgis to many data formats. ogr2ogr is part of the
GDAL/OGR Software and has to be installed separately. To export a table from PostGIS to GML, you can use
this command:
ogr2ogr -f GML export.gml PG:’dbname=<databasename> user=<username>
host=<hostname>’ <Name of PostGIS-Table>
You may have noticed another option in the Database menu labeled DB Manager. This is a tool that provides a
unified interface for interacting with spatial databases including PostGIS. It also allows you to import and export
from databases to other formats. Since the next module is largely devoted to using this tool, we will only briefly
mention it here.
17.3.5 In Conclusion
Importar y exportar datos hacia una base de datos o desde una base de datos puede ser llevado a cabo de distin-
tas formas. Especialmente cuando se usa diversas fuentes de datos, probablemente se usen estas funciones ( o
parecidas) en una base regular.
A continuación se detalla como hacer una consulta en los datos que hemos creado previamente.
Spatial queries are no different from other database queries. You can use the geometry column like any other
database column. With the installation of PostGIS in our database, we have additional functions to query our
database.
El objetivo de esta lección: Ver cómo las funciones espaciales se implementan de manera similar a las funciones
“no-espaciales” normales.
When you want to know which points are within a distance of 2 degrees to a point(X,Y) you can do this with:
select *
from people
where st_distance(the_geom,’SRID=4326;POINT(33 -34)’) < 2;
Resultados:
id | name | house_no | street_id | phone_no | the_geom
----+--------------+----------+-----------+---------------+---------------
6 | Fault Towers | 34 | 3 | 072 812 31 28 | 01010008040C0
(1 row)
430 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Publicación 2.18
Nota: the_geom value above was truncated for space on this page. If you want to see the point in human-readable
coordinates, try something similar to what you did in the section “View a point as WKT”, above.
How do we know that the query above returns all the points within 2 degrees? Why not 2 meters? Or any other
unit, for that matter?
Check your results
We also can define spatial indexes. A spatial index makes your spatial queries much faster. To create a spatial
index on the geometry column use:
CREATE INDEX people_geo_idx
ON people
USING gist
(the_geom);
\d people
Resultados:
Table "public.people"
Column | Type | Modifiers
-----------+-----------------------+----------------------------------------
id | integer | not null default
| | nextval(’people_id_seq’::regclass)
name | character varying(50) |
house_no | integer | not null
street_id | integer | not null
phone_no | character varying |
the_geom | geometry |
Indexes:
"people_pkey" PRIMARY KEY, btree (id)
"people_geo_idx" gist (the_geom) <-- new spatial key added
"people_name_idx" btree (name)
Check constraints:
"people_geom_point_chk" CHECK (st_geometrytype(the_geom) = ’ST_Point’::text
OR the_geom IS NULL)
Foreign-key constraints:
"people_street_id_fkey" FOREIGN KEY (street_id) REFERENCES streets(id)
In order to demo PostGIS spatial functions, we’ll create a new database containing some (fictional) data.
To start, create a new database (exit the psql shell first):
createdb postgis_demo
Next, import the data provided in the exercise_data/postgis/ directory. Refer back to the previous lesson
for instructions, but remember that you’ll need to create a new PostGIS connection to the new database. You can
import from the terminal or via DB Manager. Import the files into the following database tables:
• points.shp into building
• lines.shp into road
• polygons.shp into region
Load these three database layers into QGIS via the Add PostGIS Layers dialog, as usual. When you open their
attribute tables, you’ll note that they have both an id field and a gid field created by the PostGIS import.
Now that the tables are imported, we can use PostGIS to query the data. Go back to your terminal (command line)
and enter the psql prompt by running:
psql postgis_demo
We’ll demo some of these select statements by creating views from them, so that you can open them in QGIS and
see the results.
Resultados:
id | name | point
----+------+------------------------------------------
30 | York | POINT(1622345.23785063 6940490.65844485)
33 | York | POINT(1622495.65620524 6940403.87862489)
35 | York | POINT(1622403.09106394 6940212.96302097)
36 | York | POINT(1622287.38463732 6940357.59605424)
40 | York | POINT(1621888.19746548 6940508.01440885)
(5 rows)
432 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Publicación 2.18
Select neighbors
Show a list of all the names of regions adjoining the Hokkaido region:
SELECT b.name
FROM region a, region b
WHERE st_touches(a.the_geom, b.the_geom)
AND a.name = ’Hokkaido’;
Resultados:
name
--------------
Missouri
Saskatchewan
Wales
(3 rows)
As a view:
CREATE VIEW vw_regions_adjoining_hokkaido AS
SELECT b.gid, b.name, b.the_geom
FROM region a, region b
WHERE TOUCHES(a.the_geom, b.the_geom)
AND a.name = ’Hokkaido’;
En QGIS:
Note the missing region (Queensland). This may be due to a topology error. Artifacts such as this can alert us to
potential problems in the data. To solve this enigma without getting caught up in the anomalies the data may have,
we could use a buffer intersect instead:
CREATE VIEW vw_hokkaido_buffer AS
SELECT gid, ST_BUFFER(the_geom, 100) as the_geom
FROM region
WHERE name = ’Hokkaido’;
434 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Publicación 2.18
In this query, the original buffer view is used as any other table would be. It is given the alias a, and its geometry
field, a.the_geom, is used to select any polygon in the region table (alias b) that intersects it. However,
Hokkaido itself is excluded from this select statement, because we don’t want it; we only want the regions adjoin-
ing it.
En QGIS:
It is also possible to select all objects within a given distance, without the extra step of creating a buffer:
CREATE VIEW vw_hokkaido_distance_select AS
SELECT b.gid, b.name, b.the_geom
FROM region a, region b
WHERE ST_DISTANCE (a.the_geom, b.the_geom) < 100
AND a.name = ’Hokkaido’
AND b.name != ’Hokkaido’;
This achieves the same result, without need for the interim buffer step:
436 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Publicación 2.18
Show a list of unique town names for all buildings in the Queensland region:
SELECT DISTINCT a.name
FROM building a, region b
WHERE st_within(a.the_geom, b.the_geom)
AND b.name = ’Queensland’;
Resultados:
name
---------
Beijing
Berlin
Atlanta
(3 rows)
SELECT ST_PERIMETER(a.the_geom)
FROM region a
WHERE a.name=’Queensland’;
SELECT ST_AREA(a.the_geom)
FROM region a
WHERE a.name=’Queensland’;
17.4.5 In Conclusion
You have seen how to query spatial objects using the new database functions from PostGIS.
Next we’re going to investigate the structures of more complex geometries and how to create them using PostGIS.
In this section we are going to delve a little deeper into how simple geometries are constructed in SQL. In real-
ity, you will probably use a GIS like QGIS to create complex geometries using their digitising tools; however,
understanding how they are formulated can be handy for writing queries and understanding how the database is
assembled.
The goal of this lesson: To better understand how to create spatial entities directly in PostgreSQL/PostGIS.
Going back to our address database, let’s get our streets table matching the others; i.e., having a constraint on
the geometry, an index and an entry in the geometry_columns table.
• Modify the streets table so that it has a geometry column of type ST_LineString.
• Don’t forget to do the accompanying update to the geometry columns table!
• Also add a constraint to prevent any geometries being added that are not LINESTRINGS or null.
• Create a spatial index on the new geometry column
Check your results
Now let’s insert a linestring into our streets table. In this case we will update an existing street record:
update streets
set the_geom = ’SRID=4326;LINESTRING(20 -33, 21 -34, 24 -33)’
where streets.id=2;
Take a look at the results in QGIS. (You may need to right-click on the streets layer in the ‘Layers’ panel, and
choose ‘Zoom to layer extent’.)
Now create some more streets entries - some in QGIS and some from the command line.
438 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Publicación 2.18
Creating polygons is just as easy. One thing to remember is that by definition, polygons have at least four vertices,
with the last and first being co-located:
insert into cities (name, the_geom)
values (’Tokyo’, ’SRID=4326;POLYGON((10 -10, 5 -32, 30 -27, 10 -10))’);
Nota: A polygon requires double brackets around its coordinate list; this is to allow you to add complex polygons
with multiple unconnected areas. For instance
If you followed this step, you can check what it did by loading the cities dataset into QGIS, opening its attribute
table, and selecting the new entry. Note how the two new polygons behave like one polygon.
Table "public.people"
Column | Type | Modifiers
-----------+-----------------------+--------------------------------------------
id | integer | not null
| | default nextval(’people_id_seq’::regclass)
name | character varying(50) |
house_no | integer | not null
street_id | integer | not null
phone_no | character varying |
the_geom | geometry |
city_id | integer | not null
Indexes:
"people_pkey" PRIMARY KEY, btree (id)
"people_name_idx" btree (name)
Check constraints:
"people_geom_point_chk" CHECK (st_geometrytype(the_geom) =
’ST_Point’::text OR the_geom IS NULL)
Foreign-key constraints:
"people_city_id_fkey" FOREIGN KEY (city_id) REFERENCES cities(id)
"people_street_id_fkey" FOREIGN KEY (street_id) REFERENCES streets(id)
Create city boundaries by computing the minimum convex hull of all addresses for that city and computing a
buffer around that area.
With the SFS-Model functions, you have a wide variety of options to access sub-objects of SFS Geometries. When
you want to select the first vertex point of every polygon geometry in the table myPolygonTable, you have to do
this in this way:
• Transform the polygon boundary to a linestring:
select st_boundary(geometry) from myPolygonTable;
PostGIS supports all OGC SFS/MM standard conform functions. All these functions start with ST_.
17.5.9 Corte
To clip a subpart of your data you can use the ST_INTERSECT() function. To avoid empty geometries, use:
where not st_isempty(st_intersection(a.the_geom, b.the_geom))
440 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Publicación 2.18
From a given point table, you want to generate a linestring. The order of the points is defined by their id. Another
ordering method could be a timestamp, such as the one you get when you capture waypoints with a GPS receiver.
To create a linestring from a new point layer called ‘points’, you can run the following command:
select ST_LineFromMultiPoint(st_collect(the_geom)), 1 as id
from (
select the_geom
from points
order by id
) as foo;
To see how it works without creating a new layer, you could also run this command on the ‘people’ layer, although
of course it would make little real-world sense to do this.
442 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Publicación 2.18
You can get more information for this topic in this blog entry.
To detect the difference between two tables with the same structure, you can use the PostgreSQL keyword
EXCEPT:
select * from table_a
except
select * from table_b;
As the result, you will get all records from table_a which are not stored in table_b.
17.5.13 Tablespaces
You can define where postgres should store its data on disk by creating tablespaces:
CREATE TABLESPACE homespace LOCATION ’/home/pg’;
Cuando creas una base de datos, puedes elegir qué espacio de tabla usar, por ejemplo :
17.5.14 In Conclusion
You’ve learned how to create more complex geometries using PostGIS statements. Keep in mind that this is mostly
to improve your tacit knowledge when working with geo-enabled databases through a GIS frontend. You usually
won’t need to actually enter these statements manually, but having a general idea of their structure will help you
when using a GIS, especially if you encounter errors that would otherwise seem cryptic.
444 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
CHAPTER 18
18.1 Introducción
Esta guía describe como usar el marco de procesamiento de QGIS. Se asume que no se tiene ningún conocimiento
previo del marco de procesamiento o cualquiera de las aplicaciones de los que depende. Supone un conocimiento
básico de QGIS. Los capítulos sobre scripting asume que usted tiene algunos conocimientos básicos de Python y
tal vez la API de Python de QGIS.
La guía se diseño para el auto estudio o utilizarse para ejecutar un taller de procesamiento.
Los ejemplos en este manual utilizan QGIS 2.0, con actualizaciones parciales a 2.10. Puede ser que no funcionen
o no estén disponibles en versiones distintas de esas.
Esta guía esta compuesta de un conjunto de pequeños ejercicios de complejidad progresiva. Si nunca ha usado el
marco de procesamiento, debe comenzar desde el principio. Si tiene alguna experiencia previa no dude de saltar
lecciones. Ellos son mas o menos independientes entre si y cada uno presenta un concepto nuevo o un nuevo
elemento, que se indica en el título del capítulo y la breve introducción al inicio de cada capítulo. Esto debería
hacer más fácil localizar lecciones que tratan de un tema en particular.
Para una descripción más sistemática de todos los componentes del marco y su uso, se recomienda revisar el
capítulo correspondiente en el manual de QGIS. Usarlo como un texto de ayuda a lo largo de esta guía.
Todos los ejercicios de esta guía utilizan conjunto de datos gratuitos que pueden ser descargados de página web
de QGIS. El archivo zip de descarga contiene varias carpetas correspondientes a cada una de las lecciones de esta
guía. En cada uno de ellos, encontrará un archivo de proyecto de QGIS. Sólo ábralo y estará listo para iniciar la
lección.
Disfrutar!
Al igual que el manual de un procesador de textos no te enseña cómo escribir una novela o un poema, o un tutorial
CAD no le mostrará cómo calcular el tamaño de una viga de un edificio, esta guía no le enseñará análisis espacial.
En su lugar , se le mostrará cómo utilizar el marco de proceso de QGIS, una potente herramienta para realizar
análisis espaciale, pero depende de usted para aprender los conceptos necesarios que se necesitan para entender
que tipo de análisis . Sin ellos, no hay un punto sobre el uso del marco y sus algoritmos, aunque es posible que se
sienta tentado a probar.
Vamos a mostrar esto más claramente con un ejemplo.
Dado un conjunto de puntos y un valor de un valor variable dado en cada punto , se puede calcular una capa raster
de ellos utilizando el geoalgoritmo Kriging. El diálogo de parámetros para ese módulo es como el siguiente.
445
QGIS Training Manual, Publicación 2.18
Se ve complejo, ¿cierto?
Al leer este manual, aprenderá cosas por ejemplo cómo utilizar ese módulo, cómo ejecutarlo en un proceso por
lotes para crear capas raster de cientos de capas de puntos en una sola corrida, o qué pasa si la capa de entrada tiene
algunos puntos seleccionados. Sin embargo, no se explican los propios parámetros. Un analista experimentado
con un buen conocimiento de la geoestadística no tendrá ningún problema para entender esos parámetros. Si no es
uno de ellos y sill , range o nugget no son conceptos familiares, entonces no debe utilizar el módulo Kriging. Más
que eso, está lejos de estar listos para utilizar el módulo *Kriging *, ya que requiere el aprendizaje de conceptos
como la autocorrelación o semivariograma espacial, que probablemente también no ha oído antes, o al menos
no ha estudiado suficientemente. Debe primero estudiar y entenderlos, y luego volver a QGIS para ejecutarlos
efectivamente y realizar el análisis. Haciendo caso omiso de esto se traducirá en resultados de análisis erróneos y
pobres ( y lo más probable inútil).
Aunque no todos los algoritmos son tan complejos como kriging (pero algunos de ellos son incluso más comple-
jos), casi todos ellos requieren comprensión de las ideas de análisis fundamentales en las que se basan. Sin ese
conocimiento, utilizarlos les conducirá muy probablemente a resultados pobres.
Utilizando geoalgoritmos sin tener una buena base de análisis espacial es como tratar de escribir una novela sin
saber nada acerca de la gramática o la sintaxis, y que no tiene conocimiento acerca de la narración. Puede obtener
un resultado, pero es probable que no tenga ningún valor en absoluto. Por favor , no te engañes a ti mismo y
pensar que después de leer esta guía ya es capaz de realizar el análisis espacial y obtener buenos resultados . Es
necesario estudiar el análisis espacial.
Aquí esta una buena referencia que puede leer para aprender más acerca de análisis de datos espaciales.
Análisis geoespacial (3ra Edición): Una guía completa de principios, técnicas y herramientas de software Michael
John De Smith, Michael F. Goodchild, Paul A. Longley
Esta disponible en línea aquí
Lo primero que debe hacerse antes de usar la caja de herramientas de procesado es para configurarlo. No hay
mucho que configurar, así que esta es una tarea fácil.
Más adelante vamos a mostrar como configurar las aplicaciones externas que se utilizan para ampliar la lista de
algoritmos disponibles, pero por ahora solo vamos a trabajar con el marco.
El marco de procesamiento es un complemento núcleo de QGIS, lo que significa que si se ejecuta QGIS 2.0 o
posterior, este ya debería estar instalado en su sistema, ya que esta incluido en QGIS. En caso de que este activo,
debería ver el menú llamado Procesado en la barra de menú. Allí encontrará un acceso a todos los componentes
del marco.
Si no puede encontrar el menú, debe habilitar el complemento, vaya al administrador de complementos y activelo.
El principal elemento con el que vamos a trabajar en la caja de herramientas. Haga clic en la entrada del menú
correspondiente y verá la caja de herramientas acoplada del lado derecho de la ventana de QGIS.
The toolbox contains a list of all the available algorithms, divided in groups so called Providers. Providers can
be (de)activated in the settings dialog. A label in the bottom part of the toolbox will remind you of that whenever
there are inactive providers. Use the link in the label to open the settings window and set up providers. We will
discuss the settings dialog later in this manual.
By default, only providers that do not rely on third-party applications (that is, those that only require QGIS
elements to be run) are active. Algorithms requiring external applications might need additional configuration.
Configuring providers is explained in a later chapter in this manual.
Si ha llegado a este punto, ahora está listo para usar geoalgorithms. No hay necesidad de configurar alguna otra
cosa por ahora. Ya podemos ejecutar nuestro primer algoritmo, lo que haremos en la próxima lección.
Nota: En esta lección ejecutaremos nuestro primer algoritmo y obtendremos nuestro primer resultado de él.
As we have already mentioned, the processing framework can run algorithms from other applications, but it also
contains native algorithms that need no external software to be run. To start exploring the processing framework,
we are going to run one of those native algorithms. In particular, we are going to calculate the centroids of set of
polygons.
First, open the QGIS project corresponding to this lesson. It contains just a single layer with two polygons
Now go to the text box at the top of the toolbox. That is the search box, and if you type text in it, it will filter the
list of algorithms so just those ones containing the entered text are shown. If there are algorithms that match your
search but belong to a provider that is not active, an additional label will be shown in the lower part of the toolbox.
Type centroids and you should see something like this.
The search box is a very practical way of finding the algorithm you are looking for. At the bottom of the dialog, an
additional label shows that there are algorithms that match your search but belong to a provider that is not active.
If you click on the link in that label, the list of algorithms will also include results from those inactive providers,
which will be shown in light gray. A link to activate each inactive provider is also shown. We’ll see later how to
activate other providers.
To execute an algorithm, you just have to double-click on its name in the toolbox. When you double-click on the
Polygon centroids algorithm, you will see the following dialog.
All algorithms have a similar interface, which basically contains input parameters that you have to fill, and outputs
that you have to select where to store. In this case, the only input we have is a vector layer with polygons.
Select the Polygons layer as input. The algorithm has a single output, which is the centroids layer. There are two
options to define where a data output is saved: enter a filepath or save it to a temporary filename
In case you want to set a destination and not save the result in a temporary file, the format of the output is defined by
the filename extension. To select a format, just select the corresponding file extension (or add it if you are directly
typing the filepath instead). If the extension of the filepath you entered does not match any of the supported ones,
a default extension (usually .dbf for tables, .tif for raster layers and .shp for vector ones) will be appended
to the filepath and the file format corresponding to that extension will be used to save the layer or table.
In all the exercises in this guide, we will be saving results to a temporary file, since there is no need to save them
for a later use. Feel free to save them to a permament location if you want to.
Advertencia: Temporary files are deleted once you close QGIS. If you create a project with an output that
was saved as a temporary output, QGIS will complain when you try to open back the project later, since that
output file will not exist.
Once you have configured the algorithm dialog, press [Run] to run the algorithm.
You will get the following output.
The output has the same CRS as the input. Geoalgorithms assumes all input layers share the same CRS and do
not perform any reprojection. Except in the case of some special algorithms (for instance, reprojection ones), the
outputs will also have that same CRS. We will see more about this soon.
Try yourself saving it using different file formats (use, for instance, shp and geojson as extensions). Also, if
you do not want the layer to be loaded in QGIS after it is generated, you can check off the checkbox that is found
below the output path box.
Nota: En esta lección vamos a ejecutar tres algoritmos más, aprenderemos cómo utilizar otros tipos de entrada y
configurar salidas para guardar a un directorio dado automáticamente.
Para estas lecciones necesitaremos una tabla y una capa de polígonos. Vamos a crear una capa de puntos basado
en las coordenadas de una tabla, y a continuación contaremos el numero de puntos de cada polígono. Si abre el
proyecto QGIS correspondiente para esta lección, encontrará una tabla con coordenadas Xy Y, pero no encontrará
una capa de polígonos. No se preocupe, vamos a crearlo utilizando un geoalgoritmo de procesamiento.
Lo primero que vamos a hacer es crear una capa de puntos a partir de las coordenadas de la tabla, utilizando el
algoritmo Capa de puntos a partir de tabla. Ahora ya sabe cómo utilizar el cuadro de búsqueda, por lo que no
debe ser difícil para que usted pueda encontrarlo. Haga doble – clic en él para ejecutarlo y llegar a su siguiente
cuadro de diálogo.
Este algoritmo, como uno de una lección anterior, solo genera una salida sencilla, y tiene tres entradas:
• Tabla: La tabla con las coordenadas. Debe seleccionar aquí la tabla de los datos de la lección.
• Campos X y Y: Estos dos parámetros estan enlazados al primero. El selector correspondiente mostrará el
nombre de esos campos que estan disponibles en la tabla seleccionada. Seleccione el campo XCOORD para
el parámetro X, y el campo YYCOORD para el parámetro Y.
• SRC: Dado que este algoritmo no toma capas de entrada, no se puede asignar un SRC de la capa de salida
en base a ellos. En su lugar, se le pedirá que seleccione manualmente el SRC que las coordenadas utilizan
en la tabla. Haga clic en el botón del lado izquierdo para abrir el selector de QGIS SRC y seleccione EPSG:
4326 como la salida de SRC. Estamos utilizando esta SRC debido a las coordenadas de la tabla están en ese
CRS.
Si diálogo debe tener este aspecto.
Ahora presione el botón Ejecutar para obtener la siguiente capa (podría necesitar hacer un zum completo para
reingresar el mapa alrededor de los nuevos puntos creados):
Lo siguiente que necesitamos es la capa de polígono. Tendremos que crear polígonos de cuadrícula regular
utilizando el algoritmo Crear cuadrícula, el cual tiene el siguiente diálogo de parámetros.
Advertencia: Las opciones son más sencillas en versiones recientes de QGIS; sólo se necesita ingresar el
min y max de X y Y (valores sugeridos: -5.696226,-5.695122,40.24742,40.248171)
Las entradas necesarias para crear una cuadrícula son todos los números. Cuando se tiene que ingresar un valor
numérico, tiene dos opciones: escribirlo directamente en la caja correspondiente o haciendo clic sobre el botón
del lado derecho para obtener un diálogo como el que se muestra a continuación.
El diálogo contiene una calculadora sencilla, por lo que se pueden escribir expresiones como 11 * 34.7 +
4.6, y el resultado será calculado y colocado en la caja de texto correspondiente en el diálogo de parámetros.
También, contiene constantes que puede utilizar, y valores de otras capas disponibles.
En este caso, queremos crear una cuadrícula que cubra la extensión de la capa de puntos de entrada, por lo que se
debe utilizar sus coordenadas para calcular la coordenada del centro de la cuadrícula y su ancho y alto, ya que esos
son los parámetros que el algoritmo toma para crear la cuadrícula. Con un poco de matemáticas, trate de hacerlo
por si mismo utilizando el diálogo de la calculadora y las constantes de la capa de puntos de entrada.
Seleccione Rectángulos (polígonos) en el campo Tipo.
Como en el caso del último algoritmo, tenemos que ingresar aquí también el SRC. Seleccione EPSG:4326 como
el SRC destino, como hicimos antes.
Al final, debe tener un diálogo de parámetros como este:
(Añadir una mejor separación de ancho y altura: Separación horizontal: 0.0001, Separación vertical: 0.0001,
Ancho: 0.001004, Alto: 0.000651, Centro X: -5.695674, Centro Y: 40.2477955) En el caso del centro X es un
poco dificil, vea: -5.696126+(( -5.695222+ 5.696126)/2)
Presione Ejecutar y obtendrá la capa de cuadrícula.
El último paso es contar los puntos en cada uno de los rectangulos de la cuadrícula. Utilizaremos el algoritmo
Contar puntos en polígonos.
En la entrada Carpeta de salida que encontrará en el grupo General, escriba la ruta a su carpeta de destino.
Ahora cuando ejecute un algoritmo, sólo utilice el nombre del archivo en lugar de la ruta completa. Por ejemplo,
con la configuración anteriormente mostrada, si se ingresa graticule.shp como ruta de salida para el al-
goritmo que acabamos de utilizar el resultado se guardará en D:\processing_output\graticule.shp.
Aún se puede escribir una ruta completa en caso de que desee un resultado para guardar en una carpeta diferente.
Intente por si mismo el algoritmo Crear cuadrícula con diferentes tamaños de cuadrícula y también con diferentes
tipos de cuadrículas.
Nota: En esta lección discutiremos respecto a como Processing usa CRSs. También veremos un algoritmo muy
útil: reproyección.
CRS’s son una gran fuente de confusión para los usuarios de QGIS Processing, por esa razón aquí hay algunas
reglas generales acerca de como deben ser manejadas por geoalgoritmos al crear una nueva capa.
• Si hay capas de ingreso, se usará el CRS de la primera capa. Se asume que es el CRS de todas las capas
de ingreso, ya que deben tener la misma. Si se utiliza capas con CRS’s no parejos, QGIS le hará una
advertencia. Se debe notar que el CRS de las capas de entrada se muestran junto con su nombre en el
diálogo de parámetros.
• Si no hay capa de entrada, se usará el proyecto CRS, a menos que el algoritmo contenga un campo CRS
específico (como pasó en la última lección con el algoritmo retícula)
Abriendo el proyecto que corresponde a esta lección se verá dos capas nominadas 23030 y 4326. Ambas contienen
los mismos puntos, pero en diferentes CRSs (EPSG:23030 y EPSG:4326). Ellas aparecen en el mismo lugar
porque QGIS se reproyecta al vuelo al proyecto CRS (EPSG:4326), pero ellas en realidad no son la misma capa.
Abra el algoritmo *columnas de geometría Exportar/Agregar+
Este algoritmo añade nuevas columnas a la tabla de atributos de una capa vector. El contenido de las columnas
depende del tipo de geometría de la capa. En el caso de puntos, añade nuevas columnas con las coordenadas X y
Y de cada punto.
En la lista de capas disponibles que encontrará en el campo de ingreso de capa, se verá cada una con su CRS
correspondiente. Eso significa que, a pesar de que aparecen en el mismo lugar en su lienzo, se tratarán de forma
diferente. Seleccione la capa 4326.
El otro parámetro del algoritmo permite establecer como el algoritmo usa coordenadas para calcular el nuevo valor
que agregará a las capas resultantes. La mayoría de algoritmos no tiene una opción como esa, y usa directamente
las coordenadas. Seleccione la opción capa CRS para usar las coordenadas como tales. Así es como casi todos los
algoritmos trabajan.
Usted debería obtener una nueva capa con exactamente los mismos puntos de las otras dos capas. Si se da clic
derecho en el nombre de la capa y abre sus propiedades, verá que ella comparte el mismo CRS de la capa de
entrada, esto es, EPSG:4326. Cuando se carga la capa en QGIS, no se le solicitará ingresar el CRS de la capa, ya
que QGIS ya sabe de él.
Si abre la tabla de atributos de una nueva capa verá que contiene dos nuevos campos con las coordenadas X y Y
de cada punto.
Esos valores de coordenadas se dan en la capa CRS, ya que elegimos esa opción. Sin embargo, aún si escoge otra
opción, el CRS de salida de la capa habría sido la misma, debido a que el CRS de entrada se usa para establecer
el CRS de la capa de salida. Al escoger otra opción los valores serán diferentes, pero no el punto resultante para
cambiar o el CRS de la capa de salida sea diferente al CRS de la de entrada.
Ahora haga el mismo cálculo usando la otra capa. Debería encontrar la misma capa resultante representada
exactamente en el mismo lugar como las otras, y tendrá el CRS EPSG:23030, siempre que sea la de la capa de
entrada.
Si va a su tabla de atributos, verá valores que son diferentes a los que creamos en la primera capa.
Esto se debe a que los datos originales son diferentes (usa un CRS diferente), y esas coordenadas se toman de ahí.
Qué debería aprender de esto? La idea principal detrás de estos ejemplos es que los geoalgoritmos usan la capa
como es y en su fuente de datos original, e ignorar completamente las reproyecciones que QGIS haga antes de
la representación. En otras palabras, no crea lo que ve en el lienzo, pero siempre tenga en mente que se usarán
los datos originales. Eso no es muy importante en este caso, ya que estamos usando una sola capa al tiempo,
pero en un algoritmo que necesita algunas de ellas (como un algoritmo sujetador), las capas que parecen igualar o
sobreponer pueden estar muy lejos unas de otras, ya que pueden tener CRSs diferentes.
Los algoritmos no realizan reproyección (excepto en el algoritmo de reproyección que veremos pronto), así que
está en usted asegurar que las capas tengan CRS’s emparejados.
Un módulo interesante que trata con CRS’s es el de reproyección. Este representa un caso particular, ya que tiene
una capa de entrada (la que reproyecta), pero no usará su CRS de la de salida.
Abra el algoritmo capa Reproyección
Seleccione alguna de las capas como entrada, y seleccione EPSG:23029 como el CRS destino. Corra el algoritmo
y obtendrá una nueva capa, idéntica a la de entrada, pero con diferente CRS. Esta aparecerá en la misma región
del lienzo, como las otras, ya que QGSI reproyectará al vuelo, pero sus coordenadas originales serán diferentes.
Puede ver eso corriendo el algoritmo “columnas de geometría Exportar/Agregar” usando esta nueva capa como
entrada, y verificando que las coordenadas añadidas sean diferentes a las de la tabla de atributos de las dos capas
que hemos calculado antes.
18.7 Selección
Nota: En esta lección vamos a ver cómo los algoritmos de procesamiento manejan selecciones en capas vectori-
ales que se utilizan como insumos, y cómo crear una selección a través de un determinado tipo de algoritmo.
embargo también se puede utilizar un geoalgoritmo para hacerlo. Los algoritmos para la creación de una selección
se encuentran en la caja de herramientas bajo Vectorial/Selección
Se dará cuenta de que este algoritmo no produce ninguna salida, pero modifica la capa de entrada (no la propia
capa, pero si su selección ). Este es un comportamiento poco común, ya que todos los otros algoritmos producirán
nuevas capas y para no alterar las capas de entrada.
Dado que la selección no es parte de los datos en si, sino algo que solo existe dentro de QGIS, estos algoritmos de
selección sólo deben utilizarse seleccionando una capa que se abre en QGIS, y no con la opción de selección de
archivo que se puede encontrar en el cuadro de valor de parámetro correspondiente.
La selección que hemos hecho, como la mayoría de los creados por el resto de algoritmos de selección, también
se puede hacer manualmente desde QGIS, por lo que puede pregutarse, cuál es el objetivo de utilizar un algoritmo
para eso. Aunque ahora esto podría no tener mucho sentido, más adelante veremos cómo crear modelos y scripts.
Si desea hacer una selección en medio de un modelo (que define un flujo de trabajo de procesamiento), sólo un
geoalgoritmo se puede añadir al modelo, y otros elementos de QGIS y operaciones que no se pueden añadir. Esa
es la razón por la que algunos algoritmos de procesamiento duplican funcionalidad que también está disponible
en otros elementos de QGIS.
Por ahora , sólo recuerda que las selecciones se pueden hacer usando geoalgoritmos de procesamiento, y que
los algoritmos sólo utilizarán los objetos espaciales seleccionados si existe una selección, o todos los objetos
espaciales de otra manera.
Nota: In this lesson we will see how to use algorithms that depend on a third-party application, particularly
SAGA, which is one of the main algorithm providers.
All the algorithms that we have run so far are part of processing framework. That is, they are native algorithms
implemented in the plugin and run by QGIS just like the plugin itself is run. However, one of the greatest features
of the processing framework is that it can use algorithms from external applications and extend the possibilites of
those applications. Such algorithms are wrapped and included in the toolbox, so you can easily use them from
QGIS, and use QGIS data to run them.
Some of the algorithms that you see in the simplified view require third party applications to be installed in your
system. One algorithm provider of special interest is SAGA (System for Automated Geospatial Analysis). First,
we need to configure everything so QGIS can correctly call SAGA. This is not difficult, but it’s important to
understand how it works. Each external application has its own configuration, and later in this same manual we
will talk about some of the other ones, but SAGA is going to be our main backend, so we will discuss it here.
If you are on Windows, the best way to work with external algorithms is to install QGIS using the standalone
installer. It will take care of installing all the needed dependencies, including SAGA, so if you have used it, there
is nothing else to do. You can open the settings dialog and go to the Providers/SAGA group.
The SAGA path should already be configured and pointing to the folder where SAGA is installed.
If you have installed QGIS not using the standalone installer, then you must enter the path to your SAGA in-
stallation (which you must have installed separately) there. The required version is SAGA 2.1 [this is changing
according to the releases of SAGA].
In case you are using Linux, you do not have to set the path to your SAGA installation in the processing configu-
ration. Instead, you must install SAGA and make sure that the SAGA folder is in PATH, so it can be called from
the console (just open a console and type saga_cmd to check it). Under Linux, the target version for SAGA is
also 2.1, but in some installations (such as the OSGeo Live DVD) you might have just 2.0.8 available. There are
some 2.1 packages available, but they are not commonly installed and might have some issues, so if you prefer to
use the more common and stable 2.0.8, you can do it by enabling 2.0.8 compatibility in the configuration dialog,
under the SAGA group.
Once SAGA is installed, you can launch a SAGA algorithm double clicking on its name, as with any other
algorithm. Since we are using the simplified interface, you do not know which algorithms are based on SAGA or
in another external application, but if you happen to double–click on one of them and the corresponding application
is not installed, you will see something like this.
In our case, and assuming that SAGA is correctly installed and configured, you should not see this window, and
you will get to the parameters dialog instead.
Let’s try with a SAGA–based algorithm, the one called Split shapes layer randomly.
Use the points layer in the project corresponding to this lesson as input, and the default parameter values, and you
will get something like this (the split is random, so your result might be different).
The input layer has been split in two layers, each one with the same number of points. This result has been
computed by SAGA, and later taken by QGIS and added to the QGIS project.
If all goes fine, you will not notice any difference between this SAGA–based algorithm and one of the others that
we have previously run. However, SAGA might, for some reason, not be able to produce a result and not generate
the file that QGIS is expecting. In that case, there will be problems adding the result to the QGIS project, and an
error message like this will be shown.
This kind of problems might happen, even if SAGA (or any other application that we are calling from the pro-
cessing framework) is correctly installed, and it is important to know how to deal with them. Let’s produce one of
those error messages.
Open the Create graticule algorithm and use the following values.
We are using width and height values that is larger than the specified extent, so SAGA cannot produce any output.
In other words, the parameter values are wrong, but they are not checked until SAGA gets them and tries to create
the graticule. Since it cannot create it, it will not produce the expected layer, and you will see the error message
shown above.
Nota: In SAGA >= 2.2.3, the command will adjust automatically wrong input data, so you’ll not get an error. To
provoke an error, use negative values for division.
Understanding this kind of problems will help you solve them and find an explanation to what is happening. As
you can see in the error message, a test is performed to check that the connection with SAGA is working correctly,
indicating you that there might be a problem in how the algorithm was executed. This applies not only to SAGA,
but also to other external applications as well.
In the next lesson we will introduce the processing log, where information about commands run by geoalgorithms
is kept, and you will see how to get more detail when issues like this appear.
Todo el análisis realizado con el marco de procesamiento se registra en el sistema de registro de QGIS. Esto le
permite saber más sobre lo que se ha hecho con las herramientas de procesamiento, para resolver los problemas
cuando se producen, y también para re-ejecutar las operaciones anteriores, ya que el sistema de registro también
implementa cierta interactividad.
Para abrir el registro, haga clic sobre el globo inferior derecho en la barra de estado de QGIS. Algunos algoritmos
pueden dejar aquí información sobre su ejecución. Por ejemplo, estos algoritmos que llaman a una aplicación
externa normalmente registran la salida de la consola de esa aplicación a esta entrada. Si tiene una vista, verá
que la salida del algoritmo SAGA que sólo se ejecuta (y que falla al ejecutar porque los datos de entrada fueron
incorrectos) se almacena aquí.
Esto es útil para entender lo que está pasando. Los usuarios avanzados podrán analizar esa salida para averiguar
por qué el algoritmo falló. Si usted no es un usuario avanzado, esto va a ser útil para otros y ayudar a diagnosticar
el problema que tiene, lo que podría ser un problema en la instalación del software externo o un problema con los
datos que nos ha facilitado.
Incluso si el algoritmo pueden ser ejecutados, algunos de ellos pueden dejar advertencias en caso de que los
resultados no sean correctos. Por ejemplo, cuando ejecuta un algoritmo de interpolación con una pequeña cantidad
de puntos, el algoritmo puede ejecutar y producir un resultado, pero es probable que no sea correcto, ya que se
deben utilizar más puntos. Es una buena idea revisar regularmente este tipo de advertencias si no esta seguro
acerca de algunos aspectos de un algoritmo dado.
Del menú Procesos, bajo la sección Historial, encontrará Algoritmos. Todos los algoritmos que se ejecutan,
incluso si se ejecutan desde la interfaz de usuario y no desde la consola (que será explicada después en este
manual) se almacena en la sección como una llamada de consola. Eso significa que todo el tiempo que ejecuta un
algoritmo, una comando de consola se agrega al registro, y tiene el historial lleno de su sesión de trabajo. Así es
como se ve el historial.
Esto puede ser muy útil cuando inicia el trabajo con la consola, para aprender acerca de la sintaxis de los algorit-
mos. Vamos a utilizarlos cuando se discuta cómo ejecutar comandos de análisis desde la consola.
El histórico también es interactivo, y se puede volver a ejecutar cualquier algoritmo anterior, simplemente ha-
ciendo doble - clic sobre su entrada. Esta es una manera fácil de replicar el trabajo que ya hicimos antes.
Por ejemplo, pruebe lo siguiente. Abra los datos correspondientes al primer capítulo de este manual y ejecute
el algoritmo explicado allí. Ahora vaya al diálogo de registro y localice el último algoritmo en la lista, que
corresponde al algoritmo que acaba de ejecutar. Haga doble - clic en él y un nuevo resultado debe ser producido,
al igual que cuando se ejecuta utilizando el diálogo normal y llamándolo desde la caja de herramientas.
18.9.1 Avanzado
Nota: En esta lección, veremos cómo utilizar la calculadora ráster para realizar algunas operaciones en capas
ráster. También explicaremos que son valores sin datos y cómo la calculadora y otros algoritmos tratan con ellos
La calculadora ráster es una de los algoritmos más poderosos que encontrará. Es un algoritmo muy flexible y
versátil que se puede utilizar para muchos cálculos diferentes y que pronto se convertirá en una parte importante
de tu caja de herramientas.
En esta lección, vamos a realizar algunos cálculos con la calculadora ráster, la mayoría de ellas bastante simples.
Esto nos permitirá ver cómo se utilizan y cómo tratar con algunas situaciones particulares que podríamos encon-
trar. Entender que es importante para después obtener el resultado esperado al utilizar la calculadora, y también
entender ciertas técnicas que se aplicada comúnmente con él.
Abra el proyecto QGIS correspondiente para la lección y verá que contiene varias capas ráster.
Ahora abra la caja de texto y abra el diálogo correspondiente para la calculadora ráster.
Para empezar, cambiemos las unidades del MDT de metros a pies. La formula que necesitamos es la siguiente:
h’ = h * 3.28084
Advertencia: Para los usuarios no ingleses: utilice siempre ”.”, not ”,”.
Haga clic en Ejecutar para ejecutar el algoritmo. Se obtendrá una capa que tiene la misma apariencia de la capa
de entrada, pero con valores diferentes. La capa de entrada que nosotros utilizamos tiene valores validos en todas
sus celdas, por lo que el último parámetro no tiene efecto en absoluto.
Ahora vamos a realizar otro calculo, esta vez sobre la capa accflow. Esta capa contiene valores de flujo acumulado,
un parámetro hidrológico. Contienen esos valores sólo dentro de la zona de una determinada cuenta, con valores
de no datos fuera de él. Como se puede ver, la presentación no es muy informativa, debido a la forma en que los
valores son distribuidos. Utilice el algoritmo de acumulación de flujo dará lugar a una representación mucho más
informativa. Podemos calcular eso utilizando la calculadora ráster.
Abra el diálogo del algoritmo de nuevo, seleccione la capa accflow como la única capa de entrada, e introduzca la
siguiente formula: log(a).
Aquí esta la capa que se obtendrá.
Si se selecciona la herramienta Identificar objetos espaciales para conocer el valor de una capa en un punto dado,
seleccione la capa que acabamos de crear, y haga clic en un punto fuera de la cuenca, verá que contiene un no -
valor de datos.
Para el siguiente ejercicio vamos a utilizar dos capas en lugar de una, y vamos a obtener un MDT con valores
de elevación validos sólo dentro de la cuenca definida en la segunda capa. Abra el diálogo de la calculadora y
seleccione ambas capas del proyecto en el campo de capas de entrada. Introduzca la siguiente formula en el campo
correspondiente:
a/a * b
a se refiere a la capa de flujo acumulado (ya que es el primero en aparecer en la lista) y b se refiere al MDT. Lo
que estamos haciendo en la primera parte de la formula aquí es dividir la capa de flujo acumulado por si mismo,
lo que resultará en un valor de 1 dentro de la cuenca, y un no - valor de dato fuera. Luego multiplicamos por
el MDT, para obtener el valor de la elevación en esas celdas dentro de la cuenca (DEM * 1 = DEM) y sin dato
fuera (DEM * no_data = no_data)
Aquí esta la capa resultante.
Esta técnica se utiliza con frecuencia para los valores de mascara en una capa ráster, y es útil cuando desea realizar
cálculos para una región distinta a la región rectangular arbitraria que es utilizado por capa ráster. Por ejemplo, un
histograma de elevación de una capa ráster no tiene mucho significado. Si en su lugar se calcula utilizando sólo los
valores correspondientes a una cuenca (como en él caso anterior), el resultado que se obtiene es una significativa
que en realidad le da información sobre la configuración de la cuenca.
Hay otras cosas interesantes acerca de este algoritmo que acabamos de ejecutar, además de los valores sin datos
y la forma en que se manejan. Si se tiene un vistazo a la extensión de las capas que hemos multiplicado (puede
hacer doble - clic en los nombres de la capa en la tabla de contenido y mirando sus propiedades), se verá que no
son la mismo, ya que la medida cubierta por la capa de acumulación de flujo es más pequeña que la extensión del
MDT completa.
Eso significa que las capas no coinciden, y que no se pueden multiplicar directamente sin necesidad de homo-
geneizar los tamaños y extensión volviendo a muestrear una o ambas capas. Sin embargo, no hemos hecho nada.
QGIS se hizo cargo de esta situación y automáticamente vuelve a muestrear las capas de entrada cuando sea nece-
sario. La extensión de salida es la extensión de cobertura mínima calculada a partir de las capas de entrada, y el
tamaño de célula mínimo de sus tamaños de celdas.
En este caso (y en la mayoría), esto produce el resultado deseado, pero siempre debe estar al tanto de las opera-
ciones adicionales que se están produciendo, ya que podrían afectar el resultado. En los casos en que no esté
disponible el funcionamiento podría no ser el deseado, remuestreo manual debe ser aplicado con antelación. En
capítulos posteriores, veremos más sobre el comportamiento de los algoritmos cuando se utilizan múltiples capas
ráster.
Vamos a terminar esta lección con otro ejercicio de enmascaramiento. Vamos a calcular la pendiente en todas las
zonas con una elevación entre 1000 y 1500 metros.
En este caso, no tenemos una capa para utilizar como máscara, pero podemos crearla utilizando la calculadora.
Ejecute la calculadora utilizando el MDT como única capa de entrada y la siguiente fórmula.
ifelse(abs(a-1250) < 250, 1, 0/0)
Como puede ver, podemos utilizar la calculadora no sólo para hacer operaciones algebraicas sencillas, si no
también para ejecutar un cálculo más complejo que involucre las sentencias condicionales, como la anterior.
El resultado fue un valor de 1 dentro del rango con el que deseamos trabajar, y sin datos en celdas fuera de él.
Los valores sin datos vienen de la expresión 0/0. Dado que es un valor indeterminado, SAGA añadirá un valor
NaN (No es un número), que en realidad es manejado como un valor sin datos. Con este pequeño truco se puede
establecer un valor sin dato sin necesidad de conocer que valor sin dato es de la celda.
Ahora sólo hay que multiplicarlo por la capa de pendiente que se incluyó en el proyecto, y se obtendrá el resultado
esperado.
Todo eso se puede hacer en una operación sencilla con la calculadora. Dejamos como ejercicio para el lector.
Nota: En esta lección veremos cómo agregar nuevos atributos a una capa vectorial basado en una expresión
matemática, utilizando la calculadora de vectores.
Ya sabemos cómo utilizar la calculadora ráster para crear nuevas capas ráster utilizando expresiones matemáticas.
Un algoritmo similar está disponible para capas vectoriales, y genera una nueva capa con los mismos atributos de
la capa de entrada, además de uno adicional con el resultado de la expresión introducida. El algoritmo se llama
Calculadora de campos y tiene el diálogo de parámetros siguiente.
Nota: En las versiones más recientes de Procesamiento de la interfaz ha cambiado considerablemente, es más
potente y fácil de usar.
"MALES" / "FEMALES"
Esta vez la ventana de parámetros debería tener este aspecto antes de pulsar el botón Aceptar.
En la versión anterior, ya que ambos campos son de tipo entero, el resultado se trunca a un entero. En este caso, la
fórmula debería ser: 1.0 * "MACHOS" / "MUJERES", para indicar que queremos un resultado de número
punto flotante.
Podemos utilizar las funciones condicionales para tener un nuevo campo con cadenas de texto male o female
en lugar de los valor de la relación, mediante la siguiente fórmula:
CASE WHEN "MALES" > "FEMALES" THEN ’male’ ELSE ’female’ END
Una calculadora campo python está disponible en el Calculadora de campo de Python avanzada, que no será
detalla aquí
Nota: En esta lección aprenderemos cómo definir extensiones, necesarias especialmente para algoritmos raster.
Algunos algoritmos requieren una extensión que defina el área a ser cubierta por el análisis y, asimismo, que defina
la extensión de la capa resultante.
Cuando se requiere una extensión, la misma puede ser establecida manualmente ingresando los cuatro valores
que la definen (min X, min Y, max X, max Y); sin embargo en esta lección veremos otros modos más prácticos e
interesantes para hacer lo mismo.
En primer lugar, abra un algoritmo que requiera la definición de una extensión. Abra el algoritmo Rasterize, que
crea una capa raster a partir de una capa vectorial.
Todos los parámetros, salvo los últimos dos, son usados para definir qué capa será rasterizada y para configurar
cómo será llevada a cabo la rasterización. Los últimos dos parámetros, por su parte, definen las características de
la capa de salida. Eso significa que definen el área que está cubierta (que no es necesariamente la misma zona
cubierta por la capa de vectorial de entrada), y la resolución/tamaño de celda (que no puede ser inferida de la capa
vectorial , ya que las capas vectoriales no tienen un tamaño de celda).
Lo primero que podemos hacer es ingresar los 4 valores explicados anteriormente, separados por comas.
Ello no requiere de más explicaciones. Si bien es la opción más flexible, en algunos casos resulta la menos
práctica, por eso se implementaron otras opciones. Para acceder a ellas es necesario hacer clic en el botón a la
derecha del recuadro de extensión.
Aquí se puede seleccionar la extensión del lienzo (correspondiente al zum vigente) o la extensión de cualquiera
de las capas disponibles. Se selecciona, se pulsa OK y el cuadro de texto se completará automáticamente con los
valores correspondientes.
La segunda opción es Seleccionar extensión sobre el lienzo. En este caso, el cuadro de diálogo del algoritmo
desaparece y se puede pulsar y arrastrar el cursor en el lienzo de QGIS para definir la extensión deseada.
Una vez que se suelta el botón del ratón, el cuadro de diálogo vuelve a aparecer con los valores correspondientes
a la extensión definida.
La última opción es Usar la extensión mínima de cobertura a partir de las capas de entrada. Esta es la opción
predeterminada. Calcula la extensión mínima que cubre todas las capas usadas para correr el algoritmo y no es
necesario ingresar ningún valor en el cuadro de texto. En el caso de usar una sola capa, como en el algoritmo que
estamos usando, la misma extensión puede obtenerse seleccionando la misma capa de entrada en Usar extensión
de capa/lienzo. Sin embargo, cuando hay muchas capas de entrada, la mínima extensión no corresponde a la
extensión de ninguna de las capas ya que se calcula a partir de todas ellas tomadas en conjunto.
Usaremos este último método para ejecutar el algoritmo de rasterización.
Es necesario llenar el cuadro de diálogo de parámetros tal como se muestra a continuación y se pulsa OK.
Nota: En este caso será mejor usar Integer (1byte) en lugar de Floating point (4byte), dado que el NAME es un
entero cuyo valor máximo =64. Esto dará como resultado un archivo más pequeño y cálculos más veloces.
Obtendremos una capa raster que cubre exactamente el área cubierta por la capa vectorial original.
En algunos casos, la última opción Usar la extensión mínima de cobertura a partir de las capas de entrada
puede no hallarse disponible. Esto ocurrirá en aquellos algoritmos que no requieren capas de entrada sino sólo
parámetros de otra índole. En esos casos se deberá ingresar los valores manualmente o usar algunas de las otras
opciones.
Hay que tomar en cuenta que cuando existe una selección, la extensión de la capa es la del conjunto total de
objetos espaciales y la selección no es utilizada para calcular la extensión, aun cuando la rasterización se lleva a
cabo sólo sobre los elementos seleccionados. De otro modo sería necesario crear una nueva capa a partir de la
selección y utilizarla como entrada.
Nota: En esta lección, aprendemos como maneja QGIS las salidas en el formato HTML, que se utilizan para
producir texto y gráficos.
Todas las salidas producidas hasta el momento eran capas (tanto vectoriales como raster). Sin embargo, algunos
algoritmos generan salidas en forma de texto o gráficos. Todas estas salidas se definen mediante archivos en
HTML y se muestran en el denominado Results viewer, que es otro elemento del entorno de procesamiento.
Veamos uno de esos algoritmos para comprender cómo funcionan.
Abrir el archivo con los datos que se van a usar en esta lección y entonces abrir el algoritmo Basic statistics for
numeric fields.
El algoritmo es bastante simple y sólo se deben seleccionar la capa a utilizar y uno de sus campos (uno numérico).
La salida es de tipo HTML, pero el campo correspondiente funciona exactamente como el que se pueda encontrar
en el caso de una salida vectorial o raster. Se puede introducir la ruta de un archivo o dejarlo en blanco para
almacenarla en un archivo temporal. En este caso, sin embargo, sólo se permiten las extensiones html and htm,
de modo que no hay manera de alterar el formato de salido utilizando cualquier otra.
Ejecutar el algoritmo seleccionando como entrada la única capa del proyecto y el campo POP2000. Una vez
que el algoritmo se ejecute y se cierre la ventana con los parámetros, aparecerá un nuevo diálogo como el que se
muestra a continuación.
Este es el Results viewer. Mantiene accesibles de forma sencilla todos los resultados HTML generados durante la
sesión actual, de forma que puedan ser consultados cuando sea necesario. Al igual que sucede con las capas, si la
salida se ha guardado en un archivo temporal, ésta se eliminará al cerrar QGIS. Si se ha guardado en un archivo
no temporal, éste se mantendrá, pero no aparecerá en el Results viewer la próxima vez que se inicie QGIS.
Algunos algoritmos generan textos que no se pueden dividir en otros más detallados. Este es el caso si, por
ejemplo, el algoritmo captura el texto resultante de la ejecución de un proceso externo. En otros casos, la salida se
muestra como texto, pero internamente se divide en varias salidas más pequeñas, generalmente en forma de datos
numéricos. El algoritmo que acabamos de ejecutar es un de ellos. Cada uno de esos valores se maneja como una
única salida y se almacena en una variable. Ahora mismo esto no tiene ninguna importancia, pero conforme nos
movamos al modelador gráfico, comprobaremos que nos permite utilizar dichos valores como entradas numéricas
para otros algoritmos.
Nota: En esta lección vamos a realizar un análisis real utilizando sólo la caja de herramientas, para que pueda
tener más familiaridad con los elementos del área de trabajo de procesamiento.
Ahora que todo está configurado y podemos usar algoritmos externos, tenemos una herramienta muy poderosa
para realizar análisis espacial. Es tiempo de trabajar un ejercicio más grande con algunos datos reales -del mundo.
Estaremos utilizando el conjunto de datos conocido que John Snow utilizó en 1854 en su trabajo pionero
(http://en.wikipedia.org/wiki/John_Snow_%28physician%29), y obtendremos algunos resultados interesantes. El
análisis de este conjunto de datos es bastante obvio y no hay necesidad de técnicas SIG sofisticadas para terminar
con buenos resultados y conclusiones, pero es una forma de mostrar cómo estos problemas espaciales pueden ser
analizados y resueltos mediante el uso de diferentes herramientas de procesamientos.
El conjunto de datos contiene archivos shape con muertes por cólera y ubicaciones de bombas, y un mapa rendido
OSM en formato TIFF. Abra el proyecto de QGIS correspondiente para esta lección.
Lo primero que debe hacer es calcular el diagrama de Voronoi (a. k. a polígonos de Thyessen) de la capa de
bombas, para obtener la zona de influencia de cada bomba. El algoritmo *Diagrama de Voronoi * se puede utilizar
para eso.
El nuevo campo se llamará DEATHS, y usamos el campo COUNT como campo de ponderación. La tabla resultante
refleja claramente que el número de muertes en el polígono correspondiente a la primera bomba es mucho más
grande que los otros.
Otra buena forma de visualizar la dependencia de cada punto de la capa Cholera_deaths con un punto en la
capa Pumps es dibujar una línea al más cercano. Esto se puede hacer con la herramienta Distancia al centro más
cercano, y el uso de la configuración que se muestra a continuación.
Aunque el número de líneas es mayor en el caso de la bomba central, no se olvide de que esto no representa el
número de muertes, pero el número de lugares donde se encontraron casos de cólera. Es un parámetro representa-
tivo, pero no está considerando que algunos lugares podrían tener más casos que otros.
Una capa de densidad también nos dará una visión muy clara de lo que está sucediendo. Podemos crearlo con el
algoritmo Densidad de Kernel *. Usar la capa *Cholera_deaths, su campo *COUNT * como campo de peso, con
un radio de 100, la extensión y tamaño de celda de la capa ráster de calles, obtenemos algo como esto.
Recuerde que, para conseguir la extensión de salida, no tiene que escribirla. Haga clic en el botón en el lado
derecho y seleccione Uso capa/extensión del área del mapa.
Seleccione la capa de calles ráster y su extensión automáticamente se añadirá al campo de texto. Debe hacer lo
mismo con el tamaño de celda, seleccionando el tamaño de celda de esa capa también.
La combinación con la capa de bombas, vemos que hay una bomba claramente en el punto de acceso donde se
encuentra la máxima densidad de los casos de muerte.
Nota: In this lesson we will see another example of spatial data preparation, to continue using geoalgorithms in
real-world scenarios.
For this lesson, we are going to calculate a slope layer for an area surrounding a city area, which is given in a
vector layer with a single polygon. The base DEM is divided in two raster layers that, together, cover an area
much larger than that around the city that we want to work with. If you open the project corresponding to this
lesson, you will see something like this.
To buffer it, we use the Fixed distance buffer algorithm, with the following parameter values.
Advertencia: Syntax changed in recent versions; set both Distance and Arc vertex to .25
Here is the resulting bounding box obtained using the parameters shown above
It is a rounded box, but we can easily get the equivalent box with square angles, by running the Polygon from layer
extent algorithm on it. We could have buffered the city limits first, and then calculate the extent rectangle, saving
one step.
You will notice that the rasters has a different projection from the vector. We should therefore reproject them
before proceeding further, using the Warp (reproject) tool.
Nota: Recent versions have a more complex interface. Make sure at least one compression method is selected.
With this layer that contains the bounding box of the raster layer that we want to obtain, we can crop both of the
raster layers, using the Clip raster with polygon algorithm.
Once the layers have been cropped, they can be merged using the GDAL Merge algorithm.
Nota: You can save time merging first and then cropping, and you will avoid calling the clipping algorithm twice.
However, if there are several layers to merge and they have a rather big size, you will end up with a large layer
than it can later be difficult to process. In that case, you might have to call the clipping algorithm several times,
which might be time consuming, but don’t worry, we will soon see that there are some additional tools to automate
that operation. In this example, we just have two layers, so you shouldn’t worry about that now.
The slope produced by the Slope, Aspect, Curvature algorithm can be expressed in degrees or radians; degrees are
a more practical and common unit. In case you calculated it in radians, the Metric conversions algorithm will help
us to do the conversion (but in case you didn’t know that algorithm existed, you could use the raster calculator that
we have already used).
Reprojecting the converted slope layer back with the Reproject raster layer, we get the final layer we wanted.
The reprojection processes might have caused the final layer to contain data outside the bounding box that we
calculated in one of the first steps. This can be solved by clipping it again, as we did to obtain the base DEM.
Nota: En esta lección vamos a realizar algunos análisis hidrológicos. Este análisis será utilizado en algunas de las
siguientes lecciones, como se constituye un muy buen ejemplo de un flujo de trabajo de análisis, y lo utilizaremos
para mostrar algunas características avanzadas.
En esta lección, vamos a hacer algunos analisis hidrológicos. A partir de un MDT, vamos a extraer una red de
canales, delimitar las cuencas hidrográficas y calcular algunas estadísticas.
Lo primero es cargar el proyecto con los datos de la lección, que solo contiene un MDT.
EL primer modulo a ejecutar es Zona de captación (en algunas versiones de SAGA se llaman Acumulación de
flujo(De arriba hacia abajo)). Se puede utilizar cualquiera de los otros nombrados Zona de captación. Tienen
diferentes algoritmos debajo, pero los resultados son básicamente los mismos.
Seleccione el MDT en el campo Elevación, y deje los valores por defecto para el resto de los parámetros.
Algunos algoritmos calculan muchas capas, pero la Zona de captación es la única que utilizaremos.
Puede deshacerse de los otros si lo desea.
El renderizado de la capa no es muy informativa.
Para saber por qué, se puede echar un vistazo el histograma y verá que los valores no se distribuyen de manera
uniforme (hay algunas celdas con un valor muy alto, esos corresponden a la red de canales). Calcule el logaritmo
del valor de área de captación que produce una capa que transmite mucha más información (se puede hacer uso
de la calculadora ráster).
El área de captación (también conocido como acumulación de flujo) se puede utilizar para establecer un limite
para la iniciación de canal. Esto se puede hacer utilizando el algoritmo Red de canales. Así es como hay que
configurarlo (tome nota de Umbral de iniciación Mas grande que 10.000.000).
Utilice la capa de zona de captación original, no el logaritmo uno. Que uno era sólo para fines de renderizado.
Si se incrementa el valor de Umbral de iniciación, obtendrá una red de canales más escasa. Si la disminuye,
obtendrá una más densa. Con el valor propuesto, esto es lo que tendrá.
La imagen de arriba solo muestra la capa vectorial resultante y el MDT, pero también debe ser un ráster con la
misma red de canales. Ese ráster será, de hecho, una que utilizaremos.
Ahora, vamos a utilizar el algoritmo Cuencas hidrográficas para delinear las subcuencas correspondientes a la red
de canales, utilizando como puntos de salida de todas las uniones en ella. Así es cómo tiene que establecer el
diálogo de parámetros correspondiente.
Este es un resultado ráster. Se puede vectorizar utilizando el algoritmo Vectorizando clases de cuadrícula.
Ahora, vamos a tratar de calcular estadísticas sobre los valores de elevación en una de las subcuencas. La idea es
tener una capa que simplemente represente la elevación dentro de esa subcuenca y luego pasarla al módulo que
El elemento seleccionado en el campo de entrada es, por su puesto, el MDT que deseamos cortar.
Obtendremos algo como esto.
Esta capa esta lista para ser utilizada en el algoritmo Estadísticas de capa ráster.
Vamos a utilizar tanto el procedimiento de cálculo de cuenca y el cálculo de las estadísticas en otras lecciones,
para averiguar cómo otros elementos pueden ayudar a automatizar ambos y trabajar más eficazmente.
Nota: En esta lección usaremos el modelador gráfico, un poderoso componente que podemos usar para definir
un volumen de trabajo y ejecutar una cadena de algoritmos.
Una sesión normal con las herramientas de proceso incluyen más que un simple algoritmo a ejecutar. Normalmente
varios de ellos se ejecutan, y las salidas de algunos de esos algoritmos se utilizan como entrada para algunos otros.
Usando el modelador gráfico, el flujo de trabajo se puede poner en un modelo. que ejecutará todos los algoritmos
necesarios en una sola ejecución, así simplifica todo el proceso y la automatización de la misma.
Para iniciar esta lección, vamos a calcular un parámetro nombrado Índice de humedad topográfica. El algoritmo
que calcula esto se llama Índice de Humedad Topográfica (twi)
Como puede ver, hay dos entradas obligatorias: Pendiente y Zona de captación. También hay una opción de
entrada, pero no vamos a estar usando, así que podemos ignorarlo.
Los datos para esta lección contienen sólo un MDT, así que no tenemos ninguna de las entradas requeridas. Sin
embargo, conocemos cómo calcular ambos a partir de ese MDT, como ya hemos visto los algoritmos para calcular
pendiente y zona de captación. Así que lo primero que podemos calcular son esas capas y entonces utilizarlos
para el algoritmo TWI.
Aquí esta el diálogo de parámetros que debería utilizar para calcular las capas intermedias.
Y esto es cómo tener que establecer el diálogo de parámetros del algoritmo TWI.
Este es el resultado que obtendremos (La paleta invertida de una sola capa de psudocolor se ha utilizado para la
representación). Se puede utilizar el estilo proporcionado twi.qml.
Lo que vamos a tratar de hacer ahora es crear un algoritmo que calcule el TWI de un MDT en sólo un paso. Eso
nos ahorrará trabajo en caso de que después tengamos que calcular una capa TWI de otro MDT, como necesitamos
sólo un simple paso para hacerlo en lugar de los 3 anteriores. Todos los procesos que necesitamos encontrar en la
caja de herramientas, así que lo tenemos que hacer es definir el flujo de trabajo para envolverlos. Esto es donde el
modelador gráfico entra.
Abra el modelador seleccionando su entrada de menú en el menú procesamiento.
Dos cosas son necesarias para crear un modelo: establecer las entradas que necesita y definir el algoritmo que este
contiene. Ambos se hacen al añadir elementos de las dos pestañas del lado izquierdo de la ventana modelador
entrado y Algoritmos.
Vamos a empezar con las entradas. En este caso no tenemos mucho que añadir. Sólo necesitamos una capa ráster
con el MDT y que serán nuestros únicos datos de entrada.
Haga doble clic sobre la entrada Capa Ráster y verá el siguiente diálogo.
Aquí tendremos que definir la entrada que desee. Como esperamos que esta capa ráster sea un MDT, lo llamaremos
MDT. Ese es el nombre que el usuario del modelo verá cuando se ejecute. Puesto que necesitamos esa capa para
trabajar, vamos a definirlo como una capa obligatoria.
Aquí esta cómo el diálogo debería ser configurado.
Ahora vamos a mover a la pestaña Algoritmos. El primer algoritmo que tenemos que ejecutar es Pendiente,
aspecto, curvatura. Localicelo en la lista de algoritmos, haga doble clic sobre él y verá el diálogo que se muestra
a continuación.
Este diálogo es muy similar a uno que puede encontrar cuando ejecuta el algoritmo desde la caja de herramientas,
pero el elemento que se puede utilizar como valores de parámetros no se toman del actual proyecto QGIS, sino
del modelo en si. Eso significa que, en este caso, no tendrá todas las capas ráster de nuestro proyecto disponible
para el campo Elevación, pero sólo los que se definen en nuestro modelo. Puesto que hemos añadido sólo una
entrada ráster llamada DEM, que será la única capa de ráster que veremos en la lista correspondiente al parámetro
Elevación.
La salida generada por un algoritmo es manejada un poco diferente cuando el algoritmo se utiliza como parte de
un modelo. En lugar de seleccionar la ruta de archivo donde desee guardar cada salida, sólo tiene que especificar
si esa salida es una capa intermedia (y no desea que se conserve después de que el modelo ha sido ejecutado), o es
una final. En este caso, todas las capas producidas por este algoritmo son intermedias. Nosotros sólo utilizaremos
una de ellas (la capa de pendiente), pero no queremos mantenerlo, puesto que sólo lo necesitamos para calcular la
capa TWI, que es el resultado final que deseamos obtener.
Cuando las capas no son un resultado final, sólo debe dejar el campo correspondiente. De lo contrario, se tiene que
introducir un nombre que se utilizará para identificar la capa en el diálogo de parámetros que se mostrará cuando
ejecute el modelo posterior.
No hay mucho para seleccionar en este primer diálogo, puesto que no tenemos una sola capa en o modelo (El
MDT de entrada que creamos). En realidad, la configuración predeterminada del diálogo es la correcta en este
caso, así sólo tiene que presionar Aceptar. Esto es lo que ahora tendrá en el lienzo del modelador.
El segundo algoritmo tenemos que añadir a nuestro modelo esta el algoritmo de zona de captación. Nosotros
utilizamos el algoritmo llamado Zona de captación (Paralelo). Utilizaremos la capa MDT de nuevo como en-
trada, y ninguno de los resultados producidos son finales, así que aquí es cómo se tiene que llenar el diálogo
correspondiente.
El último paso es para añadir el algoritmo Índice humedad topográfica, con la siguiente configuración.
En este caso, estaremos utilizando el MDT como entrada, pero en su lugar, utilizaremos la capa de pendiente y
zona de captación que están calculadas por el algoritmo que previamente añadimos. A medida que agrega nuevos
algoritmos, las salidas que producen estén disponibles para otros algoritmos, y su uso se vincula a los algoritmos,
creando el flujo de trabajo.
En este caso, la capa de salida TWI es una capa final, as{i tenemos que indicarlo. En la caja de texto correspondi-
ente, ingresar el nombre que desee para ser mostrado en esta salida.
Ahora nuestro modelo esta terminada y debería tener este aspecto.
Ingrese un nombre y un nombre de grupo en la parte superior de la ventana del modelo, y a continuación guárdelo
haciendo clic sobre el botón Guardar.
Se puede guardar donde sea que desee y abrirlo después, pero si se guarda en la carpeta de modelos (que es la
carpeta que verá cuando el diálogo del archivo guardado aparece), el modelo también estará disponible en la caja
de herramientas. Así permanece en la carpeta y guarda el modelo con el nombre de archivo que prefiera.
Ahora cierre el diálogo del modelador y vaya a la caja de herramientas. En la entrada Modelos encontrará su
modelo.
Se puede ejecutar como cualquier algoritmo normal, haga doble clic sobre él.
Como se puede ver, el diálogo de parámetros, contiene la entrada que se añadió al modelo, junto con las salidas
que se establecieron como finales al agregar los algoritmos correspondientes.
Ejecútelo utilizando el MDT como entrada y se obtendrá la capa TWI en solo un paso.
Nota: En esta lección vamos a trabajar con un modelo más complejo en el modelador gráfico.
El primer modelo que hemos creado en el capítulo anterior era muy simple, con una sola entrada y 3 algoritmos.
Los modelos más complejos se pueden crear, con diferentes tipos de entradas y contienen más pasos. Para este
capítulo trabajaremos con un modelo que crea una capa vectorial con las cuencas hidrográficas, en base a un DEM
y un valor de umbral. Eso será muy útil para el cálculo de varias capas vectoriales correspondientes a diferentes
umbrales, sin tener que repetir cada paso sencillo cada vez.
Esta lección no contiene instrucciones sobre cómo crear su modelo. Ya conoce los pasos necesarios (los vimos
en una lección anterior) y ya ha visto las ideas básicas sobre el modelador, por lo que debe hacerlo por sí mismo.
Dedique unos minutos para tratar de crear su modelo, y no se preocupe por cometer errores. Recuerde: agregar
primero las entradas y después agregar los algoritmos que los usan para crear el flujo de trabajo.
En caso de que no pudiera crear el modelo completo usted mismo y necesitará un poco de ayuda extra, la carpeta
de datos correspondiente a esta lección contiene una versión ‘casi’ terminada de la misma. Abra el modelador y a
continuación abra el archivo del modelo que encontrará en la carpeta de datos. Debería ver algo como esto.
Este modelo contiene todos los pasos necesarios para completar los cálculos, sin embargo solo tiene una entrada:
el DEM. Eso significa que el umbral para la definición del canal utiliza un valor fijo, lo que hace el modelo no sea
tan útil como podría ser. Eso no es un problema, ya que podemos editar el modelo. y eso es exactamente lo que
haremos.
En primer lugar, vamos a añadir una entrada numérica. Eso le preguntará al usuario por una entrada numérica
que podemos utilizar cuando un valor sea necesario en cualquiera de los algoritmos incluidos en nuestro modelo.
Haga clic en la entrada *Número * en el árbol de los insumos, y verá el diálogo correspondiente. Rellene con los
valores que se muestran a continuación.
La entrada que acabamos de añadir no se utiliza, por lo que el modelo no ha cambiado realmente. Tenemos que
enlazar a el algoritmo que lo utiliza, en ese caso un Canal de red. Para editar un algoritmo ya existente en el
modelador, solo haga clic en el icono del lápiz en la caja correspondiente en el lienzo. Si hace clic en el algoritmo
Canal de red, verá algo como esto.
El diálogo se llena con los valores actuales utilizados por el algoritmo. Se puede ver que el parámetro umbral
tiene un valor fijo de 1.000.000 (esto también es el valor por defecto del algoritmo, pero cualquier otro valor
podría poner ahí). Sin embargo, es posible que note que el parámetro no se introduce en un cuadro de texto
La entrada que hemos añadido esta allí y podemos seleccionarlo. Cada vez que un algoritmo en un modelo
requiere un valor numérico, que puede codificar y directamente escribirla, o puede usar cualquiera de las entradas
disponibles y los valores (recuerde que algunos algoritmos generan valores numéricos sencillos.Veremos más
sobre esto pronto). En el caso de un parámetro de texto, también se verá entradas de texto y se podrá seleccionar
una de ellos o escribir el valor fijo deseado.
Seleccione la entrada Umbral en el parámetro Umbral y haga clic en Aceptar para aplicar los cambios a su modelo.
Ahora el diseño del modelo debería tener este aspecto.
El modelo ahora está completo. Trate de ejecutarlo mediante el DEM que hemos usado en lecciones anteriores,
y con diferentes valores de umbral. Aquí tienes un ejemplo del resultado obtenido para diferentes valores. Puede
comparar con el resultado por el valor por defecto, que es el que hemos obtenido en la lección análisis hidrológico.
Umbral = 100,000
Umbral = 1,0000,000
Advertencia: Tenga cuidado, este capítulo no esta bien probado, por favor de informar de cualquier problema;
faltan imágenes
Para esta lección, vamos a modificar el modelo hidrológico que creamos en el capitulo anterior (abrirlo en el
modelador antes de iniciar), por tanto podemos automatizar el cálculo de un valor de umbral válido y no tenemos
que pedir al usuario para introduzca. Desde ese valor se refiere a la variable en la capa ráster umbral, extraeremos
de esa capa, basado en un análisis estadístico simple.
A partir del modelo antes mencionado, vamos a hacer las siguientes modificaciones:
Primero, calcular estadísticas de la capa de acumulación de flujo utilizando el algoritmo Estadísticas de la capa
ráster
Esto generará un conjunto de valores estadísticos que ahora estarán disponibles para todos los campos numéricos
en otros algoritmos.
Si editas el algoritmo Channel network, como hicimos en la lección anterior, verá ahora que tiene otras opciones
aparte de la entrada numérica que añadió.
Sin embargo, ninguno de estos valores es adecuado para ser utilizado como un umbral válido, ya que resultarán en
redes de canales que no será muy realista. Podemos, en cambio, obtener algún parámetro nuevo basado en ellos,
para obtener un mejor resultado. Por ejemplo, podemos utilizar la media más 2 veces la desviación estándar.
Para añadir esa operación aritmética, podemos utilizar la calculadora que encontramos en el grupo
Geoalgorithms/modeler/modeler-tools. Este grupo contiene algoritmos que no son muy útiles fuera del mode-
lador, pero que proveen algunas funcionalidades útiles cuando crea un modelo.
El diálogo de parámetros de la calculadora de algoritmo se ve así:
Como se puede ver, el diálogo es diferente otras que hemos visto, pero usted tiene en allí las mismas variables que
estaban disponibles en el Umbral El campo en el algoritmo Channel network. Escriba la fórmula anterior y haga
clic en Aceptar para añadir el algoritmo.
Si se expande la entrada salidas, como se muestra arriba, se verá que el modelo está conectado a dos de los valores,
es decir, la media y la desviación estándar, que son los que hemos utilizado en la fórmula.
Añadir este nuevo algoritmo añadirá un nuevo valor numérico. Si se va de nuevo al algoritmo Channel network,
ahora puede seleccionar ese valor en parámetro Umbral.
No usamos la entrada numérica que añadimos al modelo, por lo que se puede borrar. Haga clic derecho y selec-
cione Borrar
Advertencia: Tenga cuidado, este capítulo no esta bien probado, por favor de informar de cualquier problema;
faltan imágenes
Nota: En esta lección vamos a ver cómo utilizar un modelo dentro de un modelo más grande.
Ya hemos creado algunos modelos, y en esta lección vamos a ver cómo podemos combinarlos en uno solo más
grande. Un modelo se comporta como cualquier otro algoritmo, lo que significa que puede agregar un modelo que
ya ha creado como parte de otro que se crea después de eso.
En este caso, vamos a ampliar nuestro modelo hidrológico, añadiendo el valor medio TWI en cada una de las
cuencas que genera como resultado. Para hacer eso, tenemos que calcular el TWI, y para calcular las estadísticas.
Como ya hemos creado un modelo para calcular TWI de un DEM, es una buena idea volver a usar ese modelo en
lugar de añadir los algoritmos que contiene de forma individual.
Vamos a empezar con el modelo que utilizamos como punto de partida de la lección anterior.
En primer lugar, vamos a añadir el modelo TWI. Para que esté disponible, lo que debería haber sido guardado
en la carpeta de los modelos, ya que de lo contrario no se mostrará en la caja de herramientas o la lista de los
algoritmos en el modelador. Asegúrese de que lo tiene a disposición.
Añádelo al modelo actual y utilizar el DEM de entrada como su entrada. La salida es temporal, ya que sólo
queremos la capa TWI para calcular las estadísticas. La única salida de este modelo que estamos creando seguirá
siendo la capa vectorial con las cuencas hidrográficas.
Aquí está el cuadro de diálogo de parámetros correspondientes:
Ahora tenemos una capa TWI que podemos utilizar junto con la capa vectorial de cuencas hidrográficas, para
generar una nueva que contiene los valores de la TWI correspondientes a cada cuenca.
Este cálculo se realiza utilizando el algoritmo Estadísticas de cuadrícula en polígonos. Utilice las capas men-
cionadas anteriormente como entrada, para crear el resultado final.
La salida del algoritmo Clases de la cuadrícula vectorizada fue originalmente nuestra producción final, pero ahora
sólo lo queremos como un resultado intermedio. Para cambiar eso, tenemos que editar el algoritmo. Basta con
hacer doble – clic en él para ver su diálogo de parámetros, y borrar el nombre de la salida. Eso hará que sea una
salida temporal, ya que es por defecto.
Como puede ver, el uso de un modelo en otro modelo es nada especial, y se puede añadir que al igual que se
agrega otro algoritmo, siempre y cuando el modelo se guarda en la carpeta de modelos y está disponible en la caja
de herramientas.
Nota: This lesson shows how to use some algorithms that are only available in the modeler, to provide additional
functionality to models.
The goal of this lesson is to use the modeler to create an interpolation algorithm that takes into account the current
selection, not just to use only selected features, but to use the extent of that selection to create the interpolated
raster layer.
The interpolation process involves two steps, as it has been already explained in previous lessons: rasterizing the
points layer and fill the no-data values that appear in the rasterized layer. In case the points layer has a selection,
only selected points will be used, but if the output extent is set to be automatically adjusted, the full extent of the
layer will be used. That is, the extent of the layer is always considered to be the full extent of all features, not the
one computed from just the selected ones. We will try to fix that by using some additional tools into our model.
Open the modeler and start the model by adding the required inputs. In this case we need a vector layer (restricted
to points) and an attribute from it, with the values that we will use for rasterizing.
The next step is to compute the extent of the selected features. That’s where we can use the model-only tool called
Vector layer bounds. First, we will have to create a layer that has the extent of those selected features. Then, we
can use this tool on that layer.
An easy way of creating a layer with the extent of the selected features is to compute a convex hull of the input
points layer. It will use only the selected point, so the convex hull will have the same bounding box as the selection.
Then we can add the Vector layer bounds algorithm, and use the convex hull layer as input. It should look this in
the modeler canvas:
The result from the Vector layer bounds is a set of four numeric values and a extent object. We will use both the
numeric outputs and the extent for this exercise.
We can now add the algorithm that rasterizes the vector layer, using the extent from the Vector layer bounds
algorithm as input.
Fill the parameters of the algorithm as shown next:
Finally, fill the no-data values of the raster layer using the Close gaps algorithm.
The algorithm is now ready to be saved and added to the toolbox. You can run it and it will generate a raster layer
from interpolating the selected points in the input layer, and the layer will have the same extent as the selection.
Here’s an improvement to the algorithm. We have used a harcoded value for the cellsize when rasterizing. This
value is fine for our test input layer, but might not be for other cases. We could add a new parameter, so the user
enters the desired value, but a much better approach would be to have that value automatically computed.
We can use the modeler-only calculator, and compute that value from the extent coordinates. For instance, to
create a layer with a fixed width of 100 pixels, we can use the following formula in the calculator.
Now we have to edit the rasterize algorithm, so it uses the output of the calculator instead of the hardcoded value.
The final algorithm should look like this:
18.22 Interpolación
Nota: Este capítulo muestra cómo interpolar datos de puntos y le mostrará otro ejemplo real de representación
de análisis espacial
En esta lección, vamos a interpolar datos de puntos para obtener una capa ráster. Antes de hacerlo, vamos a tener
que hacer un poco de preparación de datos, y después de la interpolación vamos a añadir un poco de procesamiento
adicional para modificar la capa resultante, así que vamos a tener una rutina de análisis completo.
Abra los datos de ejemplo para esta lección, que debería tener este aspecto.
Los datos corresponden a recortar los datos de rendimiento, como lo producido por una cosechadora moderna, y
vamos a utilizarlo para conseguir una capa ráster de rendimiento de los cultivos. No tenemos planes de hacer un
análisis más lejos con esa capa, pero sólo para utilizarlo como una capa de fondo para identificar fácilmente las
áreas más productivas y también aquellos en los que la productividad se puede mejorar.
La primera cosa a hacer es limpiar la capa, ya que contiene puntos redundantes. Estas son causadas por el
movimiento de la cosechadora, en lugares en los que tiene que hacer un giro o cambiar su velocidad por alguna
razón. El algoritmo de Filtro de Puntos será útil para esto. Vamos a utilizarlo dos veces, para eliminar los puntos
que se pueden considerar los valores extremos tanto en la parte superior e inferior de la distribución.
Para la primer ejecución, utilice los siguientes valores de parámetros.
Observe que no estamos utilizando la capa original como entrada, pero la salida de la ejecución anterior en su
lugar.
La capa de filtro final, con un conjunto reducido de puntos, debe ser similar a la original, pero contiene un menor
número de puntos. Se puede comprobar esto mediante la comparación de sus tablas de atributos.
Ahora vamos a rasterizar la capa utilizando el algoritmo Rasterize
La capa de Puntos filtrados se refiere al resultado de el segundo filtro. Tiene el mismo nombre que el producido
por el primer filtro, ya que el nombre es asignado por el algoritmo pero no se debe utilizar la primera. Ya que no
vamos a utilizarlo para algo más, puede eliminarlo de forma segura desde su proyecto para evitar confusión y deje
sólo la última capa filtrada.
La capa ráster resultante se parece a esto.
Ya es una capa ráster, pero faltan datos en algunas de sus celdas. Sólo contienen valores válidos en aquellas celdas
que contienen un punto de la capa vectorial que tenemos rasterizada, y no hay valor de datos en todas las demás.
Para llenar los valores faltantes podemos utilizar el algoritmo Cerrar huecos.
Para restringir el área cubierta por los datos sólo a la región en la que se midió el rendimiento del cultivo, podemos
cortar la capa ráster con la capa de límites proporcionado.
Y para un resultado más suave (menos preciso pero mejor para la representación en el fondo como una capa de
ayuda), podemos aplicar un Filtro Gaussiano a la capa.
Nota: Este capítulo mostrará otro caso practico donde se utilice los algoritmos de interpolación.
Interpolation is a common technique, and it can be used to demonstrate several techniques that can be applied using
the QGIS processing framework. This lesson uses some interpolation algorithms that were already introduced, but
has a different approach.
The data for this lesson contains also a points layer, in this case with elevation data. We are going to interpolate it
much in the same way as we did in the previous lesson, but this time we will save part of the original data to use
it for assessing the quality of the interpolation process.
First, we have to rasterize the points layer and fill the resulting no–data cells, but using just a fraction of the points
in the layer. We will save 10% of the points for a later check, so we need to have 90% of the points ready for the
interpolation. To do so, we could use the Split shapes layer randomly algorithm, which we have already used in a
previous lesson, but there is a better way to do that, without having to create any new intermediate layer. Instead
of that, we can just select the points we want to use for the interpolation (the 90% fraction), and then run the
algorithm. As we have already seen, the rasterizing algorithm will use only those selected points and ignore the
rest. The selection can be done using the Random selection algorithm. Run it with the following parameters.
The selection is random, so your selection might differ from the selection shown in the above image.
Now run the Rasterize algorithm to get the first raster layer, and then run the Close gaps algorithm to fill the
To check the quality of the interpolation, we can now use the points that are not selected. At this point, we know
the real elevation (the value in the points layer) and the interpolated elevation (the value in the interpolated raster
layer). We can compare the two by computing the differences between those values.
Since we are going to use the points that are not selected, first, let’s invert the selection.
The points contain the original values, but not the interpolated ones. To add them in a new field, we can use the
The raster layer to select (the algorithm supports multiple raster, but we just need one) is the resulting one from
the interpolation. We have renamed it to interpolate and that layer name is the one that will be used for the name
of the field to add.
Now we have a vector layer that contains both values, with points that were not used for the interpolation.
Now, we will use the fields calculator for this task. Open the Field calculator algorithm and run it with the
following parameters.
If your field with the values from the raster layer has a different name, you should modify the above formula
accordingly. Running this algorithm, you will get a new layer with just the points that we haven’t used for the
interpolation, each of them containing the difference between the two elevation values.
Representing that layer according to that value will give us a first idea of where the largest discrepancies are found.
Interpolating that layer will get you a raster layer with the estimated error in all points of the interpolated area.
You can also get the same information (difference between original point values and interpolated ones) directly
with GRASS → v.sample.
Your results might differ from these ones, since there is a random component introduced when running the random
selection, at the beginning of this lesson.
Nota: Esta lección muestra una forma diferente de ejecutar algoritmos que usan capas vectoriales, al ejecutarlos
repetidamente, iterar sobre las entidades de una capa vectorial de entrada
Ya conocemos el modelador gráfico, que es una forma de automatizar tareas de procesamiento. Sin embargo, en
algunas situaciones, el modelador puede que no sea lo que necesitemos para automatizar una tarea dada. Vamos
a ver una de estas situaciones y cómo resolverlo fácilmente utilizando una funcionalidad diferente: la ejecución
iterativa de algoritmos.
Abra los datos correspondientes de este capitulo. Debe tener un aspecto como este.
Usted reconocerá nuestro DEM conocido de los capítulos anteriores y un conjunto de cuencas extraídos de ella.
Imagine que usted necesita cortar el DEM en varias capas más pequeñas, cada una de ellas contiene sólo los datos
de elevación correspondientes a una sola cuenca. Eso será útil si más adelante desea calcular algunos parámetros
relacionados con cada cuenca, como su elevación media o curva hipsográfica.
Esta puede ser una tarea larga y extensa, especialmente si el numero de cuencas es grande. Sin embargo, es una
tarea que se puede automatizar fácilmente, como veremos más adelante.
El algoritmo que se utiliza para cortar una capa ráster con una capa de polígono se llama Cortar ráster con
polígonos, y tiene el siguiente diálogo de parámetros.
Se puede ejecutar utilizando la capa de cuencas y el DEM como entrada, y obtendrá el siguiente resultado.
Como puede ver, se utiliza el área cubierta por todos los polígonos de cuenca.
Puede tener el DEM recortado con sólo una sola cuenca, seleccionando la cuenca deseada y luego ejecutar el
Dado que solo se utilizan las entidades seleccionadas, sólo el polígono seleccionado se utilizará para recortar la
capa ráster.
Hacer esto para todas las cuencas producirá el resultado que estamos buscando, pero no se ve como una forma
practica de hacerlo. En su lugar, vamos a ver cómo automatizar esta rutina seleccionar y cortar.
Antes que nada, borre la selección anterior, por lo que todos los polígonos se utilizarán de nuevo. Ahora abra el
algoritmo Cortar ráster con polígono y seleccione las mismas entradas que antes, pero esta vez haga clic sobre el
botón que se encuentra a la derecha de la capa vectorial de entrada, donde ha seleccionado la capa de cuencas.
Este botón hará que la capa de entrada seleccionada para ser dividida en tantas capas como entidades se encuentran
en ella, cada uno de ellos contiene un solo polígono. Con eso, el algoritmo se llama varias veces, una para cada
una de esas capas de un solo polígono. El resultado, en lugar de sólo una capa de trama en el caso de este
algoritmo, será un conjunto de capas de mapa de bits, cada uno de ellos correspondiente a una de las ejecuciones
del algoritmo.
Aquí esta el resultado que se obtendrá si se ejecuta el algoritmo de recorte como se ha explicado.
Para cada capa, la paleta de color blanco y negro, (o cualquier paleta que este utilizando), se ajusta de manera
diferente, desde valores un mínimo a sus valores máximos. Esa es a razón por el cual se pueden ver las diferentes
piezas y los colores no parecen coincidir en la frontera entre las capas.Los valores, sin embargo, hacen juego.
Si introduce un nombre de archivo de salida, los archivos resultantes serán nombrados utilizando ese nombre de
archivo y un número correspondiente para cada iteración como sufijo
Nota: Esta lección muestra cómo combinar la ejecución iterativa de algoritmos con el modelador para conseguir
una mayor automatización.
La ejecución iterativa de algoritmos está disponible no sólo para los algoritmos incorporados, sino también para
los algoritmos que usted puede crear, como los modelos. Vamos a ver cómo combinar un modelo y la ejecución
iterativa de algoritmos, para que podamos obtener resultados más complejos con facilidad.
Los datos que vamos a utilizar para esta lección es la misma que ya se utilizó para el anterior. En este caso, en
lugar de recortar el DEM con cada polígono de cuencas hidrográficas, añadiremos algunos pasos adicionales y
calcularemos una curva hipsométrica para cada uno de ellos, para estudiar cómo la elevación se distribuye dentro
de la cuenca.
Ya que tenemos un flujo de trabajo que involucra varios pasos (recorte + cálculo de la curva de hipsométrico),
debemos ir al modelador y crear el modelo correspondiente para ese flujo de trabajo.
Se puede encontrar el modelo ya creado en la carpeta de datos para esta lección, pero sería bueno si primero intenta
crearlo usted mismo. La capa recortada no es el resultado final en este caso, ya que estamos interesados sólo en
las curvas, por lo que este modelo no genera ninguna capa, pero sólo una tabla con los datos de la curva.
El modelo debe tener este aspecto:
Añadir el modelo a la carpeta de modelos, por lo que está disponible en la caja de herramientas, y ahora ejecútelo.
Seleccione el DEM y cuencas hidrográficas, y no se olvide de cambiar el botón que indica que el algoritmo tiene
que ser ejecutado de forma iterativa.
El algoritmo se ejecutará varias veces, y se crearán las tablas correspondientes y se abrirán en su proyecto de
QGIS.
Podemos hacer este ejemplo más complejo mediante la extensión del modelo y de calcular algunas estadísticas
de pendiente. Agregue el algoritmo de Pendiente, aspecto, curvatura * a el modelo, y luego el algoritmo de
*Estadística ráster, que debe utilizar la salida de pendiente como única entrada.
Si ahora ejecuta el modelo, además de las tablas obtendrá un conjunto de páginas con las estadísticas. Estas
páginas estarán disponibles en el diálogo de resultados.
Nota: Esta lección presenta la interfaz de procesamiento por lote, que permite ejecutar un solo algoritmo con un
conjunto de diferentes valores de entrada.
Algunas veces un algoritmo dado tiene que ser ejecutado repetidamente con diferentes entradas. Esto es, por
ejemplo, el caso cuando un conjunto de archivos de entrada tienen que ser convertidos de un formato a otro, o
cuando varias capas en una proyección dada deben ser convertidas a otra.
En ese caso, llamando al algoritmo repetidamente en la caja de herramientas no es la mejor opción. En lugar de
ello, la interfaz de procesamiento por lotes se debe utilizar, que simplifica en gran medida el rendimiento de una
ejecución múltiple de un algoritmo dado. Para ejecutar un algoritmo como un proceso por lotes, búsquelo en la
caja de herramientas, y en lugar de doble clic sobre él , haga clic derecho en él y seleccione Ejecutar como proceso
por lotes .
Para este ejemplo, utilizaremos el Algoritmo de reproyección, así que encontrado y hacer como se describe ante-
riormente. Obtendrá el siguiente diálogo.
Si se tiene una vista de los datos de esta lección, se verá que contiene un conjunto de tres archivos shape, pero
no hay un proyecto QGIS. Esto es porque, cuando el algoritmo se ejecuta como un proceso por lote, la capa de
entrada se puede seleccionar ya sea desde el proyecto QGIS actual o desde los archivos. Eso hace que sea más
fácil procesar grandes cantidades de capas, como por ejemplo, todas las capas en una carpeta determinada.
Cada fila de la tabla del diálogo de proceso por lotes representa una solo ejecución del algoritmo. Las celdas en
una fila corresponden a parámetros necesarios por el algoritmo, que no es organizado uno encima del otro, como
en un diálogo normal de solo–ejecución, pero horizontalmente en esa fila.
Definir el proceso por lotes para ejecutar es uno al rellenar la tabla con los valores correspondientes, y el diálogo
en sí contiene varias herramientas para hacer esta tarea más fácil.
Vamos a empezar llenando los campos de uno en uno. La primera columna para anotar es la Capa de entrada. En
lugar de introducir los nombres de cada una de las capas que queremos procesar, puede seleccionar todos ellos y
dejar que el diálogo ponga uno en cada fila. Haga clic en el botón de la casilla superior izquierda y, en el cuadro
de diálogo de selección de archivos que emergente, seleccione los tres archivos a reproyectar. Dado que sólo uno
de ellos se necesita para cada fila, las restantes se utilizarán para llenar las filas debajo.
El número predeterminado de filas es 3, que es exactamente el numero de capas que tenemos que convertir, pero
si seleccionamos más capas, nuevas filas se añadirán automáticamente.Si desea llenar las entradas manualmente,
se puede añadir más más filas utilizando el botón Añadir fila.
Vamos a convertir todas estas capas al SRC EPSG:23029, así que tenemos que seleccionar ese SRC en el segundo
campo. Queremos lo mismo en todas las filas, pero no tenemos que hacerlo para cada fila individual. En su lugar,
establezca el SRC para la primera fila (el que está en la parte superior) con el botón de la casilla correspondiente
y haga doble clic en el encabezado de la columna. Eso hace que todas las celdas de la columna se llenen con el
valor de la celda superior.
Finamente, tenemos que seleccionar un archivo de salida para cada ejecución, que contendrá la capa reproyectada
correspondiente. Una vez más, vamos a hacerlo sólo para el primer registro. Haga clic en el botón en la celda
superior y en la carpeta donde se desea colocar sus archivos de salida, escriba un nombre de archivo (por ejemplo,
reprojected.shp)
Ahora, cuando haga clic en Aceptar el diálogo de selección de archivo, el archivo no se escribe automáticamente
en la celda, pero un cuadro de entrada como el siguiente se muestra en su lugar.
Si selecciona la primera opción, se llenará solo la celda actual. Si se selecciona cualquiera de las otras, todas las
filas inferiores se llenarán con un patrón predeterminado. En este caso, vamos a seleccionar la opción Llenar con
el valor del parámetro, y el valor Capa de entrada en el menú desplegable más abajo. Eso hará que el valor en
la Capa de entrada (es decir, el nombre de la capa) que se añada al nombre de archivos que hemos añadido, por
lo que cada nombre de archivo de salida diferente. La tabla de procesamiento por lotes ahora debería tener este
aspecto.
La última columna establece si desea o no agregar las capas resultantes al proyecto QGIS actual. Deje el valor de
la opción predeterminada Sí , así que usted puede ver los resultados en este caso.
Haga clic en Aceptar y el proceso por lote será ejecutado. Si todo ha ocurrido bien, todas las capas se han
procesado y se han creado 3 nuevas capas.
Advertencia: Tenga cuidado, este capítulo no esta bien probado, por favor reporte cualquier problema;
imágenes faltantes
Nota: Esta lección muestra otro ejemplo de la interfaz de procesamiento por lote, pero esta vez usando un modelo
en lugar de un algoritmo integrado
Los modelos son al igual que cualquier otro algoritmo. y se pueden utilizar en la interfaz de procesamiento por
lotes. Para demostrarlo, aquí está un breve ejemplo que podemos hacer uso de nuestro modelo hidrológico ya
conocido.
Cerciorarse que tiene el modelo añadido a la caja de herramientas, y luego ejecute en modo por lotes. Este es que
el diálogo de procesamiento por lotes debe ser similar.
Añadir registros hasta un total de 5. Seleccione el archivo DEM correspondiente a esta lección como la entrada
para todos ellos. A continuación, introduzca 5 valores de umbral diferentes, como se muestra a continuación.
Como se puede ver la interfaz de procesamiento por lotes se puede ejecutar no sólo para ejecutar el mismo proceso
en diferentes bases de datos, sino también en el mismo conjunto de datos con parámetros diferentes.
Pulsar Aceptar y debe obtener 5 nuevas capas con cuencas correspondientes a los 5 valores especificados en el
umbral.
Nota: This lesson shows how to use pre- and post-execution hooks, which allow to perform additional operations
before and after actual processing.
Pre- and post-execution hooks are Processing scripts that run before and after actual data processing is performed.
This can be used to automate tasks that should be performed whenever an algorithm is executed.
The syntax of the hooks is identical to the syntax of Processing scripts, see the corresponding chapter in the QGIS
User Guide for more details.
In addition to all scripts features, in hooks you can use a special global variable named alg, which represents the
algorithm that has just been (or is about to be) executed.
Here is an example post-execution script. By default, Processing stores analysis results in temporary files. This
script will copy outputs to a specific directory, so they won’t be deleted after closing QGIS.
import os
import shutil
from processing.core.outputs import OutputVector, OutputRaster, OutputFile
MY_DIRECTORY = ’/home/alex/outputs’
In the first two lines we import the required Python packages: os — for path manipulations, e.g. extracting file
name, and shutil — for various filesystem operations like copying files. In the third line we import Processing
outputs. This will be explained in more detail later in this lesson.
Then we define a MY_DIRECTORY constant, which is the path to the directory where we want to copy analysis
results.
At the end of the script, we have the main hook code. In the loop we iterate over all algorithm outputs and check
if this output is a file-based output and can be copied. If so, we determine top-level directory in which output files
are located and then copy all files to our directory.
To activate this hook we neeed to open the Processing options, find the entry named Post-execution script file in
the General group, and specify the filename of the hook script there. the specified hook will be executed after
each Processing algorithm.
In a similar way, we can implement pre-execution hooks. For example, let’s create a hook to check input vectors
for geometry errors.
from qgis.core import QgsGeometry, QgsFeatureRequest
from processing.core.parameters import ParameterVector
As in the previous example, first we import required QGIS and Processing packages.
Then we iterate over all the algorithm parameters and if a ParameterVector parameter is found, we get the cor-
responding vector layer object from it. We loop over all the features of the layer and check them for geometry
errors. If at least one feature contains an invalid geometry, we print a warning message.
To activate this hook we need enter its filename in the Pre-execution script file option in the Processing configura-
tion dialog. The hook will be executed before running any Processing algorithm.
Nota: This chapter shows how to use additional programs from inside Processing. To complete it, you must have
installed, with the tools of your operating system, the relevant packages.
18.29.1 GRASS
GRASS is a free and open source GIS software suite for geospatial data management and analysis, image process-
ing, graphics and maps production, spatial modeling, and visualization.
It is installed by default on Windows through the OSGeo4W standalone installer (32 and 64 bit), and it is packaged
for all major Linux distributions.
18.29.2 R
R is a free and open source software environment for statistical computing and graphics.
It has to be installed separately, together with a few necessary libraries (LIST).
The beauty of Processing implementation is that you can add your own scripts, simple or complex ones, and they
may then be used as any other module, piped into more complex workflows, etc.
Test some of the preinstalled examples, if you have R already installed (remember to activate R modules from the
General configuration of Processing).
18.29.3 OTB
OTB (also known as Orfeo ToolBox) is a free and open source library of image processing algorithms. It is
installed by deafult on Windows through the OSGeo4W standalone installer (NB: 32 bit only). Paths should be
configured in Processing.
In a standard OSgeo4W Windows installation, the paths will be:
OTB application folder C:\OSGeo4W\apps\orfeotoolbox\applications
OTB command line tools folder C:\OSGeo4W\bin
18.29.4 Otros
TauDEM is a suite of Digital Elevation Model (DEM) tools for the extraction and analysis of hydrologic informa-
tion. Availability in various operating system varies.
LASTools is a set of mixed, free and proprietary commands to process and analyze LiDAR data. Availability in
various operating system varies.
More tools are available through additional plugins, e.g.:
• LecoS: a suite for land cover statistics and landscape ecology
• lwgeom: formerly part of PostGIS, this library brings a few useful tools for geometry cleanup
• Animove: tools to analyse the home range of animals.
Vendrá más.
Let’s load points.shp and type buf in the filter of the Toolbox, then double click on:
• Fixed distance buffer: Distance 10000
• Variable distance buffer: Distance field SIZE
• v.buffer.distance: distance 10000
• v.buffer.column: bufcolumn SIZE
• Shapes Buffer: fixed value 10000 (dissolve and not), attribute field (with scaling)
See how speed is quite different, and different options are available.
Exercise for the reader: find the differences in geometry output between different methods.
Now, raster buffers and distances:
• first, load and rasterize the vector rivers.shp with GRASS → v.to.rast.value; beware: cell size must be
set to 100 m, otherwise the computation time will be enormous; resulting map will have 1 and NULLs
• same, with SAGA → Shapes to Grid → COUNT (resulting map: 6 to 60)
• then, proximity (value= 1 for GRASS, a list of rivers ID for SAGA), r.buffer with parameters
1000,2000,3000, r.grow.distance (the first of the two maps; the second will show the areas pertaining to
each river, if done on the SAGA raster).
Dissolver
Exercise for the reader: find the differences (geometry and attributes) between different methods.
Nota: This chapter shows how to use different backends to calculate different interpolations.
18.30.1 Interpolación
The project shows a gradient in rainfall, from south to north. Let’s use different methods for interpolation, all
based on vector points.shp, parameter RAIN:
Advertencia: Colocar el tamaño de la celda a: kbd: 500 para todos los análisis.
• GRASS → v.surf.rst
• SAGA → Interpolación B-Spline multinivel
• SAGA → Inverse Distance Weighted [Inverse distance to a power; Power: 4; Search radius: Global; Search
range: all points]
• GDAL → Grid (Inverse Distance to a power) [Power:4]
• GDAL → Grid (Moving average) [Radius1&2: 50000]
Then measure variation among methods and correlate it with distance to points:
• GRASS → r.series [Unselect Propagate NULLs, Aggregate operation: stddev]
• GRASS → v.to.rast.value on points.shp
• GDAL → Proximity
• GRASS → r.covar to show the correlation matrix; check the significance of the correlation e.g. with
http://vassarstats.net/rsig.html.
Thus, areas far from points will have less accurate interpolation.
Various methods to draw contour lines [always step= 10] on the stddev raster:
• GRASS → r.contour.step
• GDAL → Contour
• SAGA → Contour lines from grid [NB: in some older SAGA versions, output shp is not valid, known bug]
Nota: Este capítulo muestra como simplificar vectores, y suavizar las esquinas agudas.
Algunas veces necesitamos una versión simplificada de un vector, para tener un tamaño de archivo más pequeño
y deshacerse de detalles innecesarios. Muchas herramientas hacen esto de una manera muy general, y pierde la
adyacencia y a veces la corrección topólogica de polígonos. GRASS es la herramienta ideal para esto: ser un SIG
topológico, adyacencia y la corrección se conservan incluso a niveles muy altos de simplificación. En nuestro
caso, tenemos un vector resultante de una trama, lo cual demuestra un patrón de “sierra” en las fronteras. Aplicar
un resultado de simplificación en línea recta:
• GRASS → v.generalizar [Valor de máxima tolerancia: 30 m]
Podemos hacer a la inversa, y hacer una capa mas compleja, suavizando las esquinas agudas:
• GRASS → v.generalizar [método: chaiken]
Trate de aplicar el segundo comando, tanto para el vector original y para el primer análisis, y vea la diferencia.
Tenga en cuenta que la adyacencia no se pierde.
Esta segunda opción se puede aplicar e.j. a las curvas de nivel que resulten de una ráster grueso, de GPS pistas
con vértices dispersos, etc
Nota: Este capítulo muestra cómo utilizar varios criterios para ubicar las áreas adecuadas para instalar un estación
de energía fotovoltaica
Se puede utilizar el archivo de texto reclass_south.txt proporcionado. Tome en cuenta que con estos
simples archivos de texto podemos crear también reclasificaciones muy complejas.
Queremos construir una granja grande, por lo que seleccionamos sólo grandes áreas contiguas (> 100 ha):
• GRASS → r.reclass.greater
Por último, convertimos a un vector:
• GRASS → r.to.vect [Tipo de objeto espacial: área; Esquinas lisas: si]
Ejercicio para el lector: repetir el análisis, sustituir comandos GRASS con análogos de otros programas.
Módulo aportado por Matteo Ghetta - fundado por Scuola Superiore Sant’Anna
Processing te permite escribir y correr lineas de codigo en QGIS.
Advertencia: R tiene que estar instalado en su computadora y el directorio tiene que estar configurado
correctamente. Por otra parte sólo llamar el paquete externo de R, pero no podrá instalarlos. Este seguro de
instalar los paquetes externos directamente en R. Vea capitulo relacionado en el manual de usuario chapter.
Nota: Si tienes un problema con “paquetes”, quizás esta relacionado con paquetes “obligatorios” que faltan y
que requiere Processing como sp, rgdal y‘‘raster‘‘.
Agregar una linea de codigo es muy facil. Abrir la caja de herramientas de Processing y hacer click en R → Tools
→ Create new R script.
Nota: Si no puedes ver R en Processinf, tienes que activarlo en Processing → Options → Providers
Abre una “ventana de edicion de lineas de codigo” en el cual tienes que especificar algunos parametros antes de
agregar el codigo.
En este tutorial vamos a crear una “caja de parcelas” de un campo de capas vectoreales.
Abra el proyecto QGIS r_intro.qgs que esta en la carpeta exercise_data/processing/r_intro/.
para que puedas encontrar las lineas de codigo en las “parcelas” agrupar en la caja de herramientas de
Processing.
2. tienes que decirle a Processing que quieres mostrar una parcela (esto solo es un ejemplo):
##showplots
Processing sabe ahora que el input es un vector. El nombre “Layer” no es importante, lo que importa es el
parámetro del “vector”
4. Finalmente, tienes que especificar el campo del input del vector que quieres digitalizar:
##X=Field Layer
Ahora que tienes la “cabecera” de las lineas de codigo puedes agregar las funciones;
boxplot(Layer[[X]])
Note que “boxplot” es el nombre de la función de R que llama “capas” como grupos de datos y “X” como el
campo de los grupos de datos.
Advertencia: El parametro “”X”” esta estrito dentro de soporte de doble cuadrado [[]]
Guarde el código por defecto con la ubicación de Processing. El nombre que eliges va a ser el mismo que el
nombre de la linea de código que se encuentra el la caja de herramientas de Processing.
Nota: Puedes ver las lineas de código en otras ubicaciones, pero Processing no puede subirlos automáticamente
y tienes que subir las lineas de código manualmente.
Si no, una vez que la ventana de edicion ha cerrado, use la caja de ehrramientas de Processing para encontrar tu
codigo:
La “Ventana de Resultados” se debe abrir automaticamente, si no, solo hacer click en Processing → Result
Viewer....
Este es el resultado final que vas a ver:
Igual que aneriormente hay que poner parametros antes del cuerpo del codigo:
1. especifique el nombre del grupo en el que desea colocar su script, por ejemplo, Análisis de patrones de
puntos:
##Point pattern analysis=group
##Size=number 10
Nota: 10 va a ser el valor por defecto. Puedes cambiar este numero o puedes dejar el parametro sin un
numero
Esta manera la función toma la extensión de la Capa, el numero de puntos se toma el parámetro Tamaño y
la generación del punto es al azar
2. Escriba la linea que contiene los parametros de salida:
Output=SpatialPointsDataFrame(pts, as.data.frame(pts))
Tener precaución ya que Processing usa unos sintaxis especiales para obtener resultados de R.
• > antes de su comand, como >lillie.test(Layer[[Field]]) significa que el resultado se debe
enviar a la salida de R (Result viewer)
• + dspues de una linea significa sobreponer. Por ejemplo‘‘plot(Layer[[X]], Layer[[Y]]) +
abline(h=mean(Layer[[X]]))‘‘
Módulo aportado por Matteo Ghetta - fundado por Scuola Superiore Sant’Anna
Writing R scripts in Processing could be quite tricky because of the syntax that has to be adopted.
Each script starts with the Input and Output preceded with ##.
18.34.1 Entradas
Before you specify teh inputs you can also set the algorithm group in which your script will be put. If the group
already exists, the algorithm will be added to the other, else a new group will be automatically created:
1. group creation, ##My Group=group
Then you have to specify all the input types and eventually the additional parameters. You can have different
inputs:
1. vector, ##Layer = vector
2. vector Field, ##F = Field Layer (where Layer is the name of the input Layer)
3. raster, ##r = raster
4. table, ##t = table
5. number, ##Num = number
6. string, ##Str = string
7. boolean, ##Bol = boolean
you can also have a dropdown menu with all the parameters you want; the items must be separated with semicolons
;:
8. ##type=selection point;lines;point+lines
18.34.2 Salidas
As for the inputs, each output has to be defined at the beginning of the script:
1. vector, ##output= output vector
2. raster, ##output= output raster
3. tabla ,‘‘##Salida = tabla de salida‘‘
4. plots, ##showplots
5. R output in the Result Viewer, just put inside the script > before the output you want to display
The script body follows an R style syntax and the Log panel can help you if something went wrong with your
script.
Remember that in the script you have to load all the additional libraries:
library(sp)
Let’s take an algorithm from the online collection that creates random points from the extent of an input layer:
##Point pattern analysis=group
##Layer=vector
##Size=number 10
##Output= output vector
library(sp)
pts=spsample(Layer,Size,type="random")
Output=SpatialPointsDataFrame(pts, as.data.frame(pts))
The following script will perform a basic ordinary kriging and will create a raster map of the interpolated values:
##Basic statistics=group
##Layer=vector
##Field=Field Layer
##Output=output raster
require("automap")
require("sp")
require("raster")
table=as.data.frame(Layer)
coordinates(table)= ~coords.x1+coords.x2
c = Layer[[Field]]
kriging_result = autoKrige(c~1, table)
prediction = raster(kriging_result$krige_output)
Output<-prediction
from a vector and its field in input the algorithm will use the autoKrige function of the automap R package
and it will first calculate the kriging model and then create a raster.
The raster is created with the raster function of the raster R package.
Let’s edit the Summary Statistics algorithm so that the output is a table file (csv).
The script body is the following:
##Basic statistics=group
##Layer=vector
##Field=Field Layer
##Stat=Output table
Summary_statistics<-data.frame(rbind(
sum(Layer[[Field]]),
length(Layer[[Field]]),
length(unique(Layer[[Field]])),
min(Layer[[Field]]),
max(Layer[[Field]]),
max(Layer[[Field]])-min(Layer[[Field]]),
mean(Layer[[Field]]),
median(Layer[[Field]]),
sd(Layer[[Field]])),row.names=c("Sum:","Count:","Unique values:","Minimum value:","Maximum value:"
colnames(Summary_statistics)<-c(Field)
Stat<-Summary_statistics
The third line specifies the Vector Field in input and the fourth line tells the algorithm that the output should be a
table.
The last line will take the Stat object created in the script and convert it into a csv table.
We can take the previous example and instead of creating a table, print the result in the Result Viewer:
##Basic statistics=group
##Layer=vector
##Field=Field Layer
Summary_statistics<-data.frame(rbind(
sum(Layer[[Field]]),
length(Layer[[Field]]),
length(unique(Layer[[Field]])),
min(Layer[[Field]]),
max(Layer[[Field]]),
max(Layer[[Field]])-min(Layer[[Field]]),
mean(Layer[[Field]]),
median(Layer[[Field]]),
sd(Layer[[Field]])),row.names=c("Sum:","Count:","Unique values:","Minimum value:","Maximum value:"
colnames(Summary_statistics)<-c(Field)
>Summary_statistics
Creating plots is very simple. You have to use the ##showplots parameter as the following script shows:
##Basic statistics=group
##Layer=vector
##Field=Field Layer
##showplots
qqnorm(Layer[[Field]])
qqline(Layer[[Field]])
the script takes a field of the vector layer in input and creates a QQ Plot to test the normality of the distribution.
The plot is automatically added to the Result Viewer of Processing.
Módulo aportado por Matteo Ghetta - fundado por Scuola Superiore Sant’Anna
Processing allows a lot of different input and output parameter that can be used in the script body. Here a summary
table:
Output parameters take the Input names you gave at the beginning of the script and write the object you want.
18.35.3 Ejemplos
In order to better understand all the input and output parameters, please have a look at the R Syntax chapter.
Nota: Este capítulo mostrara cómo crear un modelo simplificado para predecir la probabilidad de deslizamientos
de tierra.
Primero, calculamos la pendiente (elegir entre varios backends; El lector interesado puede calcular la diferencia
entre las salidas)
• GRASS → r.slope
• SAGA → Pendiente, Orientación, Curvatura
• Pendiente GDAL
Entonces creamos un modelo de lluvia pronosticada, basado en la interpolación de los valores de las precipita-
ciones en las estaciones meteorológicas:
• GRASS → v.surf.rst (resolución: 500 metros)
La probabilidad de un deslizamiento de tierra será a grandes rasgos relacionada tanto con la lluvia y la pen-
diente (por supuesto un modelo real usará más capas, y los parámetros apropiados), digamos (lluvia *
pendiente) / 100:
• SAGA → Calculadora ráster lluvia, pendiente: (a*b)/100 (o: GRASS → r.mapcalc)
• then let’s calculate what are the municipalities with the greatest predicted risk of rainfall: SAGA → Raster
statistics with polygons (the parameters of interest are Maximum and Mean)
En este módulo aprenderá acerca de cómo utilizar base de datos espaciales con QGIS para administrar, visualizar
y manipular los datos en la base de datos, así como la realización de análisis mediante consulta. Nosotros utilizare-
mos principalmente PostgreSQL y PostGIS (que fueron cubiertos en las secciones anteriores), pero los mismos
conceptos son aplicables a otras implementaciones de bases de datos espaciales, incluyendo SpatiaLite.
En los 2 módulos anteriores, vimos los conceptos básicos, características y funciones de base de datos relacional
así como extensiones que nos permitirá almacenar, administrar, consultar y manipular datos espaciales en una base
de datos relacional. Esta sección se sumerge más profundamente en cómo utilizar efectivamente las base de datos
espacial en QGIS.
El objetivo de esta lección: Aprender cómo interactuar con base de datos espaciales mediante la interfaz del
Explorador de QGIS.
Ya hemos visto brevemente cómo añadir tablas de una base de datos como capas de QGIS, ahora veamos esto en
detalle un poco más y veremos las diferentes maneras de como se puede hacer en QGIS. Vamos a empezar por
mirar a la nueva interfaz de Explorador.
• Inicie un nuevo mapa limpio en QGIS.
• Abra el Navegador haciendo clic en la pestaña Explorador en el botón del Panel de Capa
• Abra la parte de PostGIS del árbol y deberá encontrar su conexión configurada previamente disponible (es
posible que tenga que hacer clic sobre el botón Actualizar en la parte superior de la ventana del Explorador).
585
QGIS Training Manual, Publicación 2.18
• Haga doble clic sobre cualquiera de las tablas/capas enlistadas aquí lo añadirá al lienzo de mapa.
• Haga clic derecho sobre la tabla/capa en esta vista le dará algunas opciones. Haga clic sobre el elemento
Propiedades para observar las propiedades de la capa.
Nota: Por supuesto que también tiene que utilizar esta interfaz para conectar a la base de datos PostGIS alojadas
en un servidor externo a su estación de trabajo. Haga clic derecho sobre la entrada PostGIS en el árbol le permitirá
especificar parámetros de conexión para una nueva conexión.
Ahora que hemos visto cómo añadir una tabla completa como una capa QGIS, podría ser bueno aprender cómo
añadir un conjunto de registros filtrado desde una tabla como una capa mediante consultas que aprendimos en
secciones anteriores.
• Inicie un nuevo mapa limpio sin ninguna capa
• Click the Add PostGIS Layers button or select Layer → Add PostGIS Layers from the menu.
• En el diálogo Añadir tabla(s) PostGIS que aparece, conecte a la conexión postgis_demo.
• Expanda el public schema y debe encontrar las tres tablas que trabajamos con anterioridad.
• Haga clic en la capa lines para seleccionarlo, pero en lugar de añadirlo, haga clic en el botón Establecer
filtro para traer el diálogo Constructor de consultas.
• Construye la siguiente expresión utilizando los botones o anotarlo directamente:
"roadtype" = ’major’
• Haga clic en Aceptar para completar la edición del filtrado y haga clic en Añadir para añadir la capa filtrada
a su mapa.
• Renombrar la capa lines a roads_primary.
Se dará cuenta que sólo las carreteras primarias se han agregado a su mapa en lugar de toda la capa.
19.1.3 In Conclusion
Ha visto cómo interactuar con base de datos espaciales utilizando el Explorador QGIS y cómo añadir capas a su
mapa basado en un filtro de consulta.
A continuación veremos cómo trabajar con la interfaz del Administrador de BBDD en QGIS para un conjunto
más completo de tareas de gestión de BBDD.
Ya hemos visto cómo realizar muchas operaciones de base de datos con QGIS así como con otras herramientas,
pero ahora es tiempo de ver la herramienta de Administrador de BBDD que proporciona muchas de las mismas
funcionalidades además, más herramientas orientadas a la gestión.
La meta de esta lección: Para aprender cómo interactuar con una base de datos espacial utilizando el Admin-
istrador de BBDD de QGIS.
19.2.1 Follow Along: Crear una base de datos PostGIS con el Admin-
istrador de BBDD
Primero, se debe abrir la interfaz del Administrador de BBDD seleccionando :guilabel:‘Base de datos–> Admin-
istrador de BBDD –> Administrador de BBDD ‘ en el menú o seleccionando el icono de Administrador de BBDD
sobre la barra de herramientas.
Ya se debe ver la conexión anterior que hemos configurado y ser capaz de ampliar la sección kbd:myPG y su
esquema public para ver las tablas que hemos trabajado en secciones anteriores.
La primer cosa que debe notar es que ahora se pueden ver algunos metadatos acerca de los esquemas contenidos
en su base de datos.
Los esquemas son una forma de agrupación de tabla de datos y otros objetos en la base de datos PostgreSQL y un
contenedor para permisos y otras restricciones. Administrar los esquemas de PostgreSQL está más allá del alcance
de este manual, pero se puede encontrar más información acerca de ellos en Documentación de PostgreSQL sobre
19.2. Lesson: Utilizando Administrador de BBDD para trabajar con Bases de Datos espaciales
589
en QGIS
QGIS Training Manual, Publicación 2.18
esquemas. Se puede utilizar el Administrador de BBDD para crear nuevos esquemas, pero necesitará utilizar una
herramienta como pgAdmin III o la interfaz de línea de comandos para administrarlos eficazmente.
EL Administrador de BBDD también se puede utilizar para gestionar las tablas de su base de datos. Ya hemos
visto varias formas de crear y administrar tablas en la línea de comandos, pero ahora vamos a ver cómo hacer esto
en el Administrador de BBDD.
En primer lugar, su utilidad para ver los metadatos de una tabla haciendo clic sobre su nombre en el árbol y sólo
ver la pestaña Info.
Este panel se puede ver la información Información General acerca de la tabla así como la información que la
extensión PostGIS mantiene sobre la geometría y sistema de referencia espacial.
Si se desplaza hacia abajo en la pestaña Info, se puede ver más información acerca de Campos, Restricciones y
Índices para la tabla que esta visualizando.
También es muy útil usar el Administrador de BBDD para simplemente ver los registros en la base de datos de la
misma manera que puede hacer esto mediante la visualización de la tabla de atributos de una capa en el árbol de
Capas. Se pueden explorar los datos seleccionando la pestaña Tabla
19.2. Lesson: Utilizando Administrador de BBDD para trabajar con Bases de Datos espaciales
591
en QGIS
QGIS Training Manual, Publicación 2.18
También hay una pestaña Vista preliminar que le muestra la capa de datos en una vista previa del mapa.
Haga clic derecho sobre una capa en el árbol y haga clic en Añadir a lienzo añadirá esta capa a su mapa.
Hasta ahora sólo hemos visto los esquemas, tablas y sus metadatos de la base de datos, pero lo que si queríamos
era modificar la tabla para añadir una columna más, tal vez? El Administrador de BBDD le permite hacer esto
directamente.
• Seleccione la tabla que desee editar en el árbol
• Select Table → Edit Table from the menu to open the Table Properties dialog.
Se puede utilizar este diálogo para añadir columnas, añadir columnas de geometría, editar columnas existentes o
eliminar una columna completamente.
Utilice la pestaña Restricciones, se puede administra que campos se utilizan como clave primaria o para borrar
una restricción existente.
La pestaña Índices se puede utilizar para añadir y borrar ambos índices espacial y normal.
19.2. Lesson: Utilizando Administrador de BBDD para trabajar con Bases de Datos espaciales
593
en QGIS
QGIS Training Manual, Publicación 2.18
Ahora que hemos pasado por el proceso de trabajar con tablas existentes en nuestra base de datos, vamos a usar el
Administrador de BBDD para crear una nueva tabla.
• Si ya no abre, obra la ventana del Administrador de BBDD, y expanda el árbol hasta que vea la lista de
tablas que ya están en su base de datos.
• Desde el menú, seleccione Tabla–> Crear Tabla para mostrar el diálogo Crear Tabla.
• Utilice el esquema predeterminado Public y llame a la tabla places.
• Añada los campos id, place_name, y elevation como se muestran abajo
• Compruebe que campo id esta establecido como clave primaria.
• Haga clic en la casilla para Crear una columna geométrica y asegúrese de que se establece en un tipo
POINT y deje el nombre geom y especifique 4326 como el SRID.
• Haga clic en la casilla Crear índice espacial y haga clic Crear para crear la tabla.
• Descarte el diálogo que conoce que la tabla fue creada y haga clic en Cerrar para cerrar el diálogo Crear
Tabla.
Ahora puede examinar su tabla en el Administrador de BBDD y por supuesto encontrará que no hay datos en él.
Desde aquí se puede Conmutar edición sobre el menú Capa e iniciar a añadir sitios a su tabla.
El Administrador de BBDD también le deja hacer algunas tareas de Administración de base de datos. Esto no es
por supuesto un sustituto de una herramienta más completa de Administración de base de datos, pero proporciona
algunas funciones que se pueden utilizar para mantener su base de datos.
Las tablas de base de datos a menudo pueden llegar a ser bastante grandes y las tablas que están modificando
frecuentemente puede dejar botado al resto de registros que no son necesarios por PostgreSQL. El comando
VACUUM se encarga de hacer una especie de recolección de basura para compactar y analizar opcional sus tablas
para mejorar el rendimiento.
Vamos a echar un vistazo a cómo se puede realizar un comando VACUUM ANALYZE desde dentro del Admin-
istrador BBDD.
• Seleccione una de sus tablas en el árbol del Administrador de BBDD.
• Select Table → Run Vacuum Analyze from the menu.
Eso es! PostgreSQL realizará la operación. Dependiendo de que tan grande es su tabla, esto puede tardar cierto
tiempo en completarse.
19.2. Lesson: Utilizando Administrador de BBDD para trabajar con Bases de Datos espaciales
595
en QGIS
QGIS Training Manual, Publicación 2.18
Se puede encontrar más información sobre el proceso de VACUUM ANALIZE en la Documentación PostgreSQL
sobre VACUUM ANALYZE
El Administrador de BBDD también proporciona una forma para que pueda escribir consultas en las tablas de
base de datos y los resultados a vistas. Ya hemos visto este tipo de funciones en el panel Explorar, pero vamos de
nuevo aquí con el Administrador de BBDD.
• Seleccione la tabla lines en el árbol.
• Seleccione el botón Ventana SQL en la barra de herramientas del Administrador de BBDD.
• Haga clic en la casilla Cargar como nueva capa para añadir el resultado a su mapa.
• Seleccione la columna id como la Columna con el valor entero único y la columna geom como la Columna
de geometría.
La capa que corresponde a su consulta ahora se despliega sobre su mapa. Se puede por supuesto utilizar esta
herramienta de consulta para ejecutar cualquier comando SQL arbitrario incluyendo muchos de los que vimos en
los módulos y secciones anteriores.
We have already looked at how to import data into a spatial database using command line tools, so now let’s learn
how to use DB Manager to do imports.
• Haga clic en botón Importar capa/archivo en la barra de herramientas en el diálogo del Administrador de
BBDD.
19.2. Lesson: Utilizando Administrador de BBDD para trabajar con Bases de Datos espaciales
597
en QGIS
QGIS Training Manual, Publicación 2.18
Haga clic derecho sobre la tabla en el árbol y una selección Añadir al lienzo se añadirá la tabla como capa en su
mapa.
Por supuesto el Administrador de BBDD también puede ser utilizado para exportar datos desde su base de datos
espacial, por lo que vamos a echar un vistazo a cómo se hace.
• Seleccione la capa lines en el árbol y haga clic en el botón Exportar a archivo en la barra de herramientas
para abrir el diálogo Exportar a archivo vectorial.
• Haga clic en el botón ... para seleccionar el Archivo de salida y guarde los datos en su directorio
exercise_data como urban_4326.
• Establezca el SRID de destino como 4326.
• Haga clic en Aceptar para inicializar la exportación.
19.2. Lesson: Utilizando Administrador de BBDD para trabajar con Bases de Datos espaciales
599
en QGIS
QGIS Training Manual, Publicación 2.18
• Cierre el diálogo que le permite saber que la exportación fue exitosa y cierre el administrador de BBDD.
Ahora se puede examinar el archivo shape que creó con el panel de Explorador.
19.2.7 In Conclusion
Ahora ha visto cómo utilizar la interfaz del Administrador de BBDD en QGIS para gestionar su base de datos,
para ejecutar las consultas sql en los datos y cómo importar y exportarlos.
A continuación, vamos a ver cómo utilizar muchas de estas mismas técnicas con la base de datos spatialite.
Mientras PostGIS es utilizado generalmente con un servidor para proporcionar capacidades de base de datos
espaciales a múltiples usuarios al mismo tiempo. QGIS también soporta el uso de un formato de archivo llamado
spatialite que es ligero, una forma portable de almacenar una base de datos espacial entera en un solo archivo.
Obviamente, estos 2 tipos de base de datos espacial debería ser utilizado para diferentes propósitos, pero los
mismos principios básicos y técnicos aplican a ambos. Vamos a crear una nueva base de datos spatialite y explorar
la funcionalidad proporcionada para trabajar con esta base de datos en QGIS.
El objetivo de esta lección: Aprender como interactuar con bases de datos spatialite usando el interfaz de QGIS
Browser.
19.3.1 Follow Along: Crear una base de datos Spatialite con el explorador
Utilizando el panel Browser podemos crear una nueva base de datos spatialite y poder configurarla para su uso en
QGIS.
• Hacer clic derecho en la entrada Spatialite en el árbol del explorador y seleccionar Crear Base de datos.
• Especifique en qué lugar del sistema de archivos desea almacenar el archivo y dele un nombre
qgis-sl.db.
• De nuevo hacer clic derecho en la entrada Spatialite en el árbol del navegador y ahora seleccionar el ele-
mento Nueva conexión. Buscar el archivo que creo en el paso anterior y abrirlo.
Ahora que ha configurado su nueva base de datos, encontrará que la entrada en el árbol del navegador no tiene
nada debajo y lo único que se puede hacer en este momento es eliminar la conexión. Esto es, por supuesto porque
no hemos agregado ninguna tabla a la base de datos. Vamos a seguir adelante y hacer eso.
• Find the button to create a new layer and use the dropdown to create a new new Spatialite layer, or select
Layer → New → New Spatialite Layer.
• Seleccionar la base de datos que hemos creado en los pasos anteriores en el menú desplegable.
• Asignar el nombre a la capa places.
• Marque la casilla de verificación junto a Crear una clave primaria autonumérica.
• Añadir 2 atributos como se muestra a continuación
• Haga clic en Aceptar para crear la tabla.
• Haga clic en el botón Actualizar en la parte superior del Explorador y ahora debería ver su tabla places
listada.
Puede hacer clic en la tabla y ver sus propiedades como hicimos en el ejercicio anterior.
Desde aquí se puede iniciar una sesión de edición y empezar a añadir datos a su nueva base de datos directamente.
También aprendimos acerca de cómo importar datos dentro de una base de datos utilizando el DB Manager y
puede utilizar esta misma técnica para importar datos dentro de su nueva BD de spatialite.
19.3.2 In Conclusion
Ha visto cómo crear base de datos spatialite y añadir tablas a ellos y para usar estas tablas como capas en QGIS.
Para añadir materiales a este curso, debes seguir las guías de este Apéndice. No debes alterar las condiciones de
este Apéndice salvo para clarificaciones. Todo esto es para asegurar que la calidad y consistencia del manual se
mantiene.
Los recursos de este documento están disponibles en GitHub. Consulta en GitHub.com para obtener instrucciones
sobre cómo utilizar el sistema de control de versiones git.
Este manual está escrito utilizando Sphinx, un generador de documentos Python que utiliza el lenguage de marcas
reStructuredText.
• Para añadir un módulo nuevo, primero crea un directorio nuevo (directamente en el nivel superior del direc-
torio qgis-training-manual) con el nombre del módulo nuevo.
• En el nuevo directorio, crea un archivo llamado index.rst. Deja el archivo en blanco de momento.
• Abre el archivo index.rst en el nivel superior del directorio. Sus primeras líneas son:
.. toctree::
:maxdepth: 2
foreword/index
introduction/index
Observarás que es una lista de directorios, seguido del nombre index. Esto dirige el nivel superior del archivo
índice a cada directorio. El orden en el que están listados determina el orden que tendrán en el documento.
• Añade el nombre de tu nuevo módulo (es decir, el nombre que le has dado al nuevo directorio), seguido de
/index, a esa lista, donde quieras que aparezca tu módulo.
• Recuerda mantener el orden de los módulos de forma lógica, de forma que los módulos finales se basen en
el conocimiento presentado por los iniciales.
• Abre el archivo índice de tu propio módulo ([module name]/index.rst).
• En la parte superior de la página, escribe una línea de 80 asteriscos (*). Esto representa un encabezado de
módulo.
605
QGIS Training Manual, Publicación 2.18
• Síguelo con una línea conteniendo la frase marcada |MOD| (que significa “módulo”), seguido del nombre
de tu módulo.
• Termínalo con otra línea de 80 asteriscos.
• Deja una línea abierta por debajo.
• Escribe un párrafo corto explicando el propósito y contenido del módulo.
• Deja una línea abierta, luego añade el texto siguiente:
.. toctree::
:maxdepth: 2
lesson1
lesson2
... donde lesson1, lesson2, etc., son los nombres de tus lecciones planeadas.
El archivo índice del nivel del módulo tendrá este aspecto:
*******************************************************************************
|MOD| Module Name
*******************************************************************************
.. toctree::
:maxdepth: 2
lesson1
lesson2
Nota: Para propósitos de edición, un archivo .rst funciona exactamente igual a un archivo de texto (.txt).
• Para empezar a escribir la lección, escribe la frase |LS|, seguido del nombre de la lección.
• En la siguiente línea, escribe una línea de 80 signos de igual (=).
• Deja una línea abierta después de eso.
• Escribe una corta descripción del propósito de la lección.
• Incluye una introducción general del tema. Mira lecciones existentes como ejemplos.
• Debajo, comienza un nuevo párrafo, comenzando con esta frase:
• Para comenzar esta lección, escribe la frase de marcado de la dificultad del nivel (como se muestra arriba).
• Deja un espacio y escribe |FA| (para “sigue los pasos”).
• Deja otro espacio y escribe el nombre de la lección (utiliza solo una inicial en mayúsculas, así como las
mayúsculas para nombres propios).
• En la línea siguiente, escribe una línea de 80 menos/guiones (-). Asegúrate de que tu editor de textos no
reemplaza los carácteres menos/guiones a guión largo o otro carácter por defecto.
• Escribe una introducción corta a la sección, explicando sus objetivos. Luego dá instrucciones detalladas
(clic por clic) al procedimiento a ser demostrado.
• En cada sección, incluye enlaces internos y externos y capturas de pantalla según se necesiten.
• Intenta acabar cada sección con un párrafo corto que concluya y abra paso a la siguiente sección de forma
natural, si es posible.
• Para comenzar esta lección, escribe la frase de marcado de la dificultad del nivel (como se muestra arriba).
• Deja un espacio y escribe |TY| (para “prueba tú mismo”).
• En la línea siguiente, escribe una línea de 80 menos/guiones (-). Asegúrate de que tu editor de textos no
reemplaza los carácteres menos/guiones a guión largo o otro carácter por defecto.
• Explica el ejercicio que quieres que el lector complete. Refiérete a las secciones, lecciones o módulos
anteriores si es necesario.
• Incluye capturas de pantalla para clarificar los requisitos si alguna descripción textual no está clara.
En la mayoría de los casos, querrás dar una respuesta a cómo completar el ejercicio dado en la lección. Para
hacerlo, necesitarás añadir una entrada en la hoja de respuestas.
• Primero, decide un único nombre para la respuesta. Idealmente, el nombre incluirá el nombre de la lección
y un número que vaya incrementando.
• Escribe las instrucciones sobre cómo completar el ejercicio, utilizando enlaces e imágenes donde lo nece-
sites.
• Para acabar, inluye un enlace de vuelta a la sección “prueba tú mismo” escribiendo esta línea:
:ref:‘Back to text <backlink-answer-name>‘
• Para hacer que esta línea funcione, añade la siguiente linea encima del titulo de la sección “prueba tú
mismo”:
.. _backlink-answer-name:
Recuerda que cada una de esas líneas mostradas arriba deben tener una línea en blanco sobre y bajo ellas, de otra
forma se podría causar errores en la creación del documento.
• Para terminar una lección, escribe la frase |IC| para “en conclusión”, seguida de una línea nueva de 80
menos/guiones (-). Escribe una conclusión para la lección, explicando qué conceptos ha cubierto la lección.
• Escribe la frase |WN| para “qué es lo siguiente”, seguido por una línea nueva de 80 menos/guines (-).
• Explica cómo esta lección ha preparado a los estudiantes para las secciones o módulos siguientes.
• Recuerda cambiar la sección “qué es lo siguiente” de la lección anterior si es necesario, para que se refiera
a tu nueva lección. Esto será necesario si has insertado una lección entre lecciones existentes, o después de
una lección existente.
Para acoplarte a los estándares de este documento, necesitarás añadir marcadores estándares a tu texto.
• Si estás explicando un nuevo concepto, necesitaras escribir el nombre del nuevo concepto en itálicas es-
cribiéndolo entre asteriscos (*).
This sample text shows how to introduce a *new concept*.
20.9.2 Énfasis
• Para enfatizar un término crucial que no es un concepto nuevo, escribe el término en negrita escribiendolo
entre dobles asteriscos (**).
• ¡Úsalo moderadamente! Si lo usas demasiado, puede parecer que estás gritando o siendo condescendiente.
This sample text shows how to use **emphasis** in a sentence. Include the
punctuation mark if it is followed by a **comma,** or at the **end of the
sentence.**
20.9.3 Imágenes
• Para anclar un enlace, escribe la línea siguiente sobre la posición donde quieras que el enlace señale:
.. _link-name:
• Cuando estás escribiendo texto que el usuario tiene que introducir, un nombre de ruta, o el nombre del
elemento de un conjunto de datos como una tabla o nombre de una columna, debes escribirlo en texto
monoespaciado. por ejemplo:
Enter the following path in the text box: :kbd:‘path/to/file‘.
• Si te refieres a un elemento GUI, como un botón, debes escribir su nombre en the GUI label format.Por
ejemplo:
To access this tool, click on the :guilabel:‘Tool Name‘ button.
• Esto también se aplica si estás mencionando el nombre de una herramienta sin que requiera que el usuario
haga clic en un botón.
• Si estás guiando al usuario a través de los menús, debes utilizar el menú → selección → formato. Por
ejemplo:
To use the :guilabel:‘Tool Name‘ tool, go to :menuselection:‘Plugins -->
Tool Type --> Tool Name‘.
• Puede que necesites una nota en el texto, que explique detalles extra que no se pueden añadir fácilmente al
flujo de la lección. Este es el marcador:
[Normal paragraph.]
Si estás escribiendo un módulo, lección o sección nuevos, en nombre de un patrocinador, debes incluir un mensaje
corto de su elección. Éste debe notificar al lector el nombre del patrocinador y debe aparecer bajo el título del
módulo, lección o sección que han patrocinado. Sin embargo, puede ser un anuncios de su empresa.
Si has escrito un módulo, lección o sección voluntariamente, sin ningún patrocinador, puedes incluir una
autoría bajo el título del módulo, lección o sección que hayas creado. Esto debe tener la forma Este
[módulo/lección/sección] aportado por [nombre del autor]. No añadas más texto, de-
talles de contacto, etc. Esos detalles se tienen que añadir a la sección “Contribuidores”del prefacio, con el nom-
bre(s) de la parte(s) que has añadido. Si solo has hecho mejoras, correcciones y/o adiciones, alístate como editor.
20.10 ¡Gracias!
¡Gracias por tu aportación a este proyecto! Haciendolo, estás mejorando la accesibilidad del QGIS a usuarios y
añades valor al proyecto QGIS en su conjunto.
Hoja de Respuestas
21.1.1 Preparación
Deberías ver muchas líneas que representan carreteras. Todas estas líneas están en la capa vectorial que acabas de
cargar para crear el mapa básico.
Volver al texto
Refiérase a la imagen que muestra el diseño de la interfaz y comprobar que recuerdas los nombres y las funciones
de los elementos de la pantalla.
Volver al texto
1. Guardar como
2. Zoom a la capa
3. Ayuda
4. Renderizado on/off
5. Línea de medida
Volver al texto
611
QGIS Training Manual, Publicación 2.18
• lugares
• agua
• edificios
• ríos y
• carreteras.
Volver al texto
Todas las capas vectoriales deberían cargarse en el mapa. Probablemente todavía no tendrá buen aspecto (ar-
reglaremos los colores feos más adelante).
Volver al texto
21.4.1 Colores
• Comprueba que los colores están cambiando como esperas que cambien.
• Por ahora es suficiente cambiar sólo la capa agua. Debajo hay un ejemplo, pero puede tener diferente
aspecto dependiendo del color que elijas.
Nota: Si quieres trabajar en una sola capa a la vez y no quieres otras capas que te distraigan, puedes ocultar una
capa, haga clic en la casilla de verificación que esta junto a su nombre en la lista de capas. Si la casilla está en
blanco, entonces la capa está oculta.
Volver al texto
• Personaliza tu construcciones capa como gustes, pero recuerda que tiene que ser fácil de contar las diferentes
partes del mapa.
He aquí un ejemplo:
Volver al texto
La capa de símbolo mas bajo es amplio, línea solida color amarilla. Encima hay una línea solida mas ligera color
gris.
• Si sus capas de símbolos se parece a los anteriores, pero no obtendrá el resultado que desea, asegurarse que
sus niveles de símbolos se vean como esto:
Volver al texto
El campo NAME es el más útil para presentarlo como etiqueta. Esto es porque todos los valores son únicos para
cada objeto y es muy poco probable que contengan valores NULL. Si tus datos tienen algunos valores NULL, no
te preocupes siempre y cuando sus lugares tengan nombre.
Volver al texto
Su mapa ahora debe presentar los puntos del marcador y las etiquetas deben compensarse por :kbd::2.0 mm: El
estilo de los marcadores y etiquetas debe permitir que sean claramente visibles en el mapa:
Volver al texto
• Introduzca un _kbd:espacio en este campo y clic en Aplicar para lograr el mismo efecto. En nuestro caso,
algunos de los nombres de lugares son muy largos, resultando en nombres con múltiples líneas que no sera
muy fácil de usar. Usted puede encontrar un ajuste que sea mas apropiado a su mapa.
Volver al texto
• Aún en modo edición, establecer los valores de FONT_SIZE a cualquiera que prefiera. El ejemplo usa 16
para ciudades, 14 para suburbios, 12 para localidades y 10 para haldeas.
• Recuerda guardar cambios y salir del modo edición.
• Regresar a Texto opción de formato de la capa lugares y selecciona Tamaño de fuente en el Campo de
atributos de el tamaño de fuente de datos desplegable:
Sus resultados, si usó los valores antes mencionados, debería ser esto:
Volver al texto
• Usa el nombre del método como en el primer ejercicio de la lección para deshacerse de los límites:
Los ajustes utilizados pueden no ser los mismos, pero con los valores Clases = 6 y Modo = Natural Breaks(Jenks)
(y usando los mismos colores, por supuesto), el mapa se verá así:
Volver al texto
21.8.1 Digitalizar
La simbología no importa, pero los resultados deberían verse más o menos como esto:
Volver al texto
La forma exacta no importa, pero debería estar recibiendo un agujero en medio de su rasgo, como la siguiente:
• Use la herramienta Merge Selected Features, para estar seguro, primero seleccione los poligonos que desee
unir.
• Use el rasgo con el OGC_FID de 1 como la fuente de sus atributos (clic en la entrada correspondiente de la
ventana de dialogo, después clic en el botón Tomar los atributos del rasgo seleccionado):
Nota:
Si estas usando diferente conjunto de datos, es altamente probable que su Polígono original OGC_FID no
será 1. Solo tiene que elegir el rasgo que tiene un OGC_FID.
Nota: Usando la herramienta Unir atributos de los rasgos seleccionados mantendrá las distintas geometrías, pero
les dará los mismo atributos.
Volver al texto
21.8.5 Formas
Para el TIPO, hay obviamente un cantidad límite de tipos que una carretera puede tener, si revisa la tabla de
atributos de la capa, verá que están predefinidos.
• Establecer el widget a Valor del mapa y clic Cargar datos de la capa.
• Seleccionar Carreteras in el Etiqueta desplegable y autopista para ambos las opciones de Valor y Descrip-
ción:
Volver al texto
Para propositos de este ejercicio, las capas de OSM que estamos interesados son multipolígonos y líneas. La capa
multipolígono contiene los datos que necesitamos para presentar las capas de casas, escuelas y restaurantes. La
capa líneas contiene el conjunto de carreteras.
La Constructor de consultas se encuentra en las propiedades de la capa:
Utilizar el Constructor de consultas para la capa multipolígonos, realizar la siguiente consulta para las capas
de the houses, schools, restaurants and residential
Una vez que haya ingresado cada consulta, haga clic en Aceptar. Verá que el mapa se actualiza para mostrar sólo
los datos que ha seleccionado. Dado que necesita volver a utilizar los datos multipolygons del conjunto de
datos OSM, en este punto, se puede utilizar uno de los siguientes métodos.
• Cambiar el nombre de la capa OSM filtrada y reimportar la capa de osm_data.osm, O
• Duplicar la capa filtrada, cambiar el nombre a la copia, limpiar la consulta y crear su nueva consulta en el
Constructor de consultas.
Nota: Aunque el campo de OSM building tiene el valor house, la cobertura en su zona - como en la nuestra
- puede no ser completa. En nuestra región de prueba es por tanto más preciso excluir todos los edificios definidos
como cualquier cosa distinta de house. Puede decidir simplemente incluir los edificios que estén definidos como
house y todos los demás valores sin un significado claro como:kbd:yes.
Para crear la capa carreteras, construya la consulta contra la capa líneas de OSM:
Volver al texto
A esto:
La primera imagen muestra el buffer con el valor Segmentos para aproximar se establece en 5 y la segunda
muestra el valor se establece en 20. En nuestro ejemplo, la diferencia es sutil, pero se puede ver que los bordes
del buffer son más suaves con el valor más alto.
Volver al texto
Para crear la nueva capa houses_restaurants_500m, pasamos por un proceso de dos pasos:
• Primero, crear un buffer de 500m alrededor de los restaurantes y agregar la capa al mapa:
Su mapa debe mostrar solo aquellos edificios que estén a menos de 50m de la carretera, 1 km de la escuela y 500m
de un restaurante:
Volver al texto
Su resultado:
Volver al texto
• 5 grados:
Volver al texto
• Abrir el Constructor de consultas con clic derecho sobre la capa todo_terreno in la Lista de capas, selec-
cionar la pestaña General.
• Después construir la consulta "suitable" = 1.
• Clic OK para filtrar todos los polígonos que no cumplan con esa condición.
Cuando vea el raster original, el área debe sobreponerse perfectamente:
• Puede guardar esta capa, clic derecho sobre la capa todo_terreno en el La lista de capas y elegir Guardar
como..., después continua según las instrucciones.
Volver al texto
Podrá notar que algunos de los edificios en su capa nueva_solución han sido “cortados” por la herramienta
Intersectar. Esto muestra que sólo parte del edificio -y por lo tanto solamente parte de la propiedad- se ubica en
un terreno adecuado. Podemos entonces con seguridad eliminar esos edificios de nuestro Conjunto de datos.
Volver al texto
Si es más grande que 100 metros de radio, entonces extraer 100 metros de su tamaño (en todas las direcciones)
resultará en que una parte de el quede sobrante en el medio.
Por lo tanto, puede ejecutar un buffer interior de 100 metros en su capa vectorial existente terreno_apto. En el
resultado de la aplicación de la función buffer, lo que sea que quede en la capa original representará áreas en donde
hay terreno apto más allá de los 100.
Para demostrar:
• Ir a Vector → Herramientas de Geoprocesamiento → Buffer(s) para abrir el diálogo de Buffer(s).
• Configúralo así:
• Use la capa terreno_apto con 10 segmentos y una distancia de buffer de -100. (La distancia es automáti-
camente reconocida en metros debido a que su mapa está usando un SRC proyectado).
• Guarda la capa resultante en datos_ejercicio/desarrollo_residencial/ como
terreno_apto_continuos100m.shp.
• Si es necesario, mueva la nueva capa encima de su capa original terreno_apto.
Sus resultados se verán más o menos así:
• Ahora utilice la herramienta Selección por ubicación (Vector → Herramientas de investigación → Selección
por ubicación).
• Configurar de la siguiente manera:
Los edificios en color amarillo están seleccionados. Aunque algunos de los edificios caen parcialmente afuera de
la nueva capa terreno_apto_continuos100m.shp, caen bien dentro de la capa original terreno_apto
y por lo tanto cumplen con todos nuestros requerimientos.
• Guarde la selección en datos_ejercicio/desarrollo_residencial/ con el nombre
respuesta_final.shp.
Volver al texto
Su mapa debería verse así (puede que necesite re-ordenar las capas):
Volver al texto
• Utilice el mismo método que antes para agregar el nuevo servidor y la capa adecuada según como se en-
cuentre alojada en el servidor:
• Si realiza un acercamiento en el área Swellendam, notará que este conjunto de datos tiene una baja resolu-
ción.
Por lo tanto, es mejor no usar este dato para el mapa actual. El dato de Blue Marble es más apropiado para las
escalas nacionales y globales.
Volver al texto
Usted podrá notar que muchos servidores WMS no siempre están disponibles. A veces esto es temporal, a veces
es permanente. Un ejemplo de un servidor WMS que funcionaba en el momento de escribir este manual es
el: guilabel: Depósitos Minerales Mundial WMS en: kbd: ‘http://apps1.gdr.nrcan.gc.ca/cgi-bin/worldmin_en-
ca_ows ‘. El cual no requiere cargos ni tiene restricciones de acceso, y es además de cobertura global. Por lo
tanto, cumple con los requisitos. Tenga en cuenta, sin embargo, que esto no es más que un ejemplo. Hay muchos
otros servidores WMS para elegir.
Volver al texto
Para nuestra tabla de direcciones teórica, podríamos querer almacenar las siguientes propiedades:
House Number
Street Name
Suburb Name
City Name
Postcode
Country
Al crear la tabla para representar un objeto de dirección, crearemos columnas para representar cada una de estas
propiedades y les estaríamos asignando nombres compatibles con SQL y posiblemente nombres cortos
house_number
street_name
suburb
city
postcode
country
Volver al texto
El mayor problema con la capa de gente es que hay solo un campo de dirección que contiene los datos de domicilio
de las personas. Pensando en nuestra tabla teórica direccion anteriormente en esta lección, sabemos que una
dirección esta compuesta por varias propiedades. Mediante el almacenamiento de todas estas propiedades en un
solo campo, con esto haremos mucho mas difícil la actualización y la consulta de nuestros datos. Por lo tanto
tenemos que dividir el campo de dirección en varias propiedades. Esto nos daría una tabla que tenga las siguiente
estructura:
id | name | house_no | street_name | city | phone_no
--+---------------+----------+----------------+------------+-----------------
1 | Tim Sutton | 3 | Buirski Plein | Swellendam | 071 123 123
2 | Horst Duester | 4 | Avenue du Roix | Geneva | 072 121 122
Nota: En la siguiente sección, aprenderemos acerca de relaciones de llave foránea, que podrán ser usados en este
ejemplo para mejorar aún más la estructura de nuestra base de datos.
Volver al texto
La columna street_id representa una relacion ‘uno a muchos’ entre el objeto personas y el objeto relacionado
calle, que esta en la tabla de calles.
Una forma para normalizar aún más la tabla es dividir el nombre del campo en nombre y apellido:
id | first_name | last_name | house_no | street_id | phone_no
---+------------+------------+----------+-----------+------------
1 | Horst | Duster | 4 | 1 | 072 121 122
Podemos crear también tablas independientes para nombre pueblo o ciudad y país, enlazándolos a nuestra tabla
de personas a través de una relación de ‘uno a muchos’:
id | first_name | last_name | house_no | street_id | town_id | country_id
---+------------+-----------+----------+-----------+---------+------------
1 | Horst | Duster | 4 | 1 | 2 | 1
Volver al texto
Nota: Para fines de ilustración, hemos omitido a propósito la restricción del fkey.
Volver al texto
El motivo del comando DROP no funcionaría en este caso, porque la tabla personas tiene un restricción de llave
foránea para la tabla calles. Esto significa que dropping (o eliminar) la tabla de calles dejaría a la tabla de personas
con las referencias a calles de datos no existentes.
Nota: Es posible para ‘fuerza’ la tabla de calles para ser eliminado mediante el uso del comando CASCADE,
pero también se eliminaría la tabla de personas y alguna otra que tenga relación con la tabla calles. ¡Utilizar con
precaución!
Volver al texto
El comando SQL, que debe usar se ve así (puede reemplazar el nombre de la calle con uno de su elección):
insert into streets (name) values (’Low Road’);
Volver al texto
Si se fija en la tabla de calles nuevamente (utilizando una sentencia select como antes), vera que el id de la entidad
Carretera Principal es 2.
Eso es por qué podríamos solo introducir el numero 2 arriba. Aunque no estemos viendo Carretera
principal escrito completamente en la entrada de arriba, la base de datos podrá estar asociada a street_id
con el valor de 2.
Nota: Si ya ha añadido un nuevo objeto street, puede encontrarse con que el nuevo Main Road tiene un ID
de 3 y no de 2.
Volver al texto
Resultado:
count | name
------+-------------
1 | Low Street
2 | High street
1 | Main Road
(3 rows)
Nota: Se dará cuenta de que hemos prefijado nombres de campo con nombres de tablas (por ejemplo people.name
y streets.name). Esto se debe hacer cada vez que el nombre de campo sea ambiguo (es decir no es único en todas
las tablas de la base de datos)
Volver al texto
Las unidades usadas para el ejemplo de consulta son grados, porque el SRC que la capa esta usando es WGS84.
Este es un SRC Geografico, que significa que las unidades están en grados. Un proyecto SRC, como la proyección
UTM que esta en metros.
Recuerde que cuando escriba la consulta, necesita saber en que unidades esta el SRC de la capa. Esto te permitirá
escribir una consulta que regrese los resultados que tu esperas.
Volver al texto
Volver al texto
Volver al texto
entonces significa que mientras experimentaba con la creación de polígonos para la tabla de ciudades, debe haber
eliminado algunos de ellos y empezar de nuevo. Vea las entradas de su tabla de ciudades y use cualquier id que
exista.
Volver al texto
Volver al texto
Volver al texto
select people.name,
streets.name as street_name,
st_astext(people.the_geom) as geometry
from streets, people
where people.street_id=streets.id;
Resultado:
name | street_name | geometry
--------------+-------------+---------------
Roger Jones | High street |
Sally Norman | High street |
Jane Smith | Main Road |
Joe Bloggs | Low Street |
Fault Towers | Main Road | POINT(33 -33)
(5 rows)
Como puede ver, nuestra limitación permite agregar nulos en la base de datos.
Volver al texto
Índices y tablas
• genindex
• modindex
• buscar
659