QGIS 3.4 QGISTrainingManual Es
QGIS 3.4 QGISTrainingManual Es
QGIS 3.4 QGISTrainingManual Es
Versión 3.4
QGIS Project
04 de mayo de 2019
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Lesson: Una vista general de la interfaz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
8 Rasters 201
8.1 Lesson: Trabajando con Datos Ráster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
8.2 Lesson: Cambiando la Simbología Ráster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
8.3 Lesson: Análisis del Terreno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
i
9.3 Ejercicio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
9.4 Lesson: Ejercicio Suplementario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
ii
18.10 La calculadora ráster. Valores sin datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
18.11 Calculadora vectorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
18.12 Definir Extensiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
18.13 salidas en HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
18.14 Primer ejemplo de análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
18.15 Cortando y uniendo capas raster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
18.16 Análisis hidrológico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
18.17 Iniciando con el modelador gráfico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
18.18 Modelos más complejos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
18.19 Cálculos numéricos en el modelador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
18.20 Un modelo dentro de un modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
18.21 Using modeler-only tools for creating a model . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
18.22 Interpolación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
18.23 Más de interpolación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
18.24 Ejecución iterativa de algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
18.25 Ejecución más iterativa de algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
18.26 La interfaz de procesamiento por lote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
18.27 Modelos en la interfaz de procesamiento por lote . . . . . . . . . . . . . . . . . . . . . . . . . . 576
18.28 Pre y post-ejecución de la secuencia de comandos hooks . . . . . . . . . . . . . . . . . . . . . . 577
18.29 Otros programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
18.30 Interpolacion y contorneo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
18.31 Simplificación y suavizado vectorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
18.32 La planificación de un parque solar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
18.33 Usar lineas de codigo R en Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
18.34 R Sintaxis en los scripts de processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
18.35 R Syntax Summary table for Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
18.36 Predicción de deslizamientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
iii
21.14 Results For Completando el Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
21.15 Results For WMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
21.16 Results For GRASS Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
21.17 Results For Conceptos de Bases de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
21.18 Results For Consultas Espaciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
21.19 Results For Construcion de geometría . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
21.20 Results For Modelo de características simples . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
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
The Free Quantum GIS Training Manual by Linfiniti Consulting CC. is based on an earlier version from Linfiniti
and is licensed under a Creative Commons Attribution 4.0 International. Permissions beyond the scope of this
license may be available at below.
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.
1
QGIS Training Manual, Versión 3.4
• 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».
• Si patrocinas un módulo o lección, puedes requerir al autor a incluir un reconocimiento en el comienzo de
cada lección aportada, por ej.:
• 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.
• If you publish this work under a self publishing site such as https://www.lulu.com we request that you
donate the profits to the QGIS project.
• 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
Los datos de muestra que acompañan este material están disponibles gratuitamente y proceden de las siguientes
fuentes:
• Streets and Places datasets from OpenStreetMap (https://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/)
Download the prepared dataset from the Training data repository and unzip the file. All the necessary data are
provided in the exercise_data folder.
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.
You can always obtain the latest version of this document by visiting the online version which is part of the QGIS
documentation website (https://docs.qgis.org).
Nota: Hay enlaces para versiones en linea y PDF de la documentación y manuales de capacitación.
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.
The sample data provided with the Training Manual refers to the town of Swellendam and its surroundings.
Swellendam is located about 2 hours” east of Cape Town in the Western Cape of South Africa. The dataset
contains feature names in both English and Afrikaans.
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: 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.
1. Abre un nuevo proyecto de QGIS
2. Select Layer → Data Source Manager to open the Data Source Manager dialog
3. In the Browser tab, expand the XYZ Tiles drop-down menu and double-click the OpenStreetMap item.
Now that we have the area we’ll extract the data from, let’s enable the extraction tools.
1. Go to Plugins → Manage/Install Plugins. . .
2. In the All tab, type QuickOSM in the search box
3. Select the QuickOSM plugin, press Install Plugin and then Close the dialog.
A new building layer is added to the Layers panel, showing buildings in the selected extent.
10. Proceed as above to extract other data:
(a) Key = landuse and Multipolygons geometry type.
(b) Key = boundary, Value = protected_area and Multipolygons geometry type.
(c) Key = natural, Value = water and Multipolygons geometry type.
(d) Key = highway and check Lines and Multilines geometry types.
(e) Key = waterway, Value = river and check Lines and Multilines geometry types.
This process adds the layers as temporary files (indicated by the icon next to their name).
You can sample the data your region contains in order to see what kind of results your region will yield.
We now need to save the resulting data to use during your course. We’ll be using ESRI Shapefile, GeoPackage
and SpatiaLite formats depending on the data.
To convert the place temporary layer to another format:
1. Click the icon next to the place layer to open the Save Scratch Layer dialog.
Nota: If you need to change any of the temporary layer’s properties (CRS, extent, fields. . . ), use the Export
→ Save Features as. . . contextual menu instead, and ensure the Add saved file to map option is checked.
This adds a new layer.
4. Press OK
In the Layers panel, the temporary place layer is replaced with the saved places shapefile layer and the
temporary icon next to it removed.
5. Double-click the layer to open its Layer Properties → Source tab and update the Layer name property to
match the file name.
6. Repeat the process for other layers, renaming them as follows:
• natural_water into water
• waterway_river into rivers
• boundary_protected_area into protected_areas
Each resulting data set should be saved in the exercise_data/shapefile/ directory.
The next step is to create a GeoPackage file from the building layer to use during the course:
5. Press OK
6. Rename the layer in its properties dialog
7. Repeat the process with the highway layer, saving it as roads in the same GeoPackage database.
The last step is to save the remaining temporary file as a SpatiaLite file.
4. Press OK
You should now have a map which looks something like this (the symbology will certainly be very different,
because QGIS randomly assigns colors when layers are added to the map):
The important thing is that you have 7 vector layers matching those shown above and that all those layers have
some data.
For modules Module: Creando Datos Vectoriales and Rasters, you’ll also need raster images (SRTM DEM) which
cover the region you have selected for your course.
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. To find the extent coordinates, in QGIS
, zoom to the extent of the largest layer and pick the values in the Extents box of the status bar. 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.
In Module Module: Creando Datos Vectoriales, Follow Along: Fuentes de Datos lesson shows close-up images
of three school sports fields which students are asked to digitize. You’ll therefore need to reproduce these images
using your new SRTM DEM tiff file(s). There is no obligation to use school sports fields: any three school land-use
types can be used (e.g. different school buildings, playgrounds or car parks).
For reference, the image in the example data is:
Having created your localised dataset, the final step is to replace the tokens in the substitutions.txt file so
that the appropriate names will appear in your localised version of the Training Manual.
Los tokens que tienes que sustituir son los siguientes:
• majorUrbanName: this defaults to «Swellendam». Replace with the name of the major town in your
region.
• schoolAreaType1: this defaults to «athletics field». Replace with the name of the largest school area
type in your region.
• largeLandUseArea: this defaults to «Bontebok National Park». Replace with the name of a large
landuse polygon in your region.
• srtmFileName: this defaults to srtm_41_19.tif. Replace this with the filename of your SRTM
DEM file.
• localCRS: this defaults to WGS 84 / UTM 34S. You should replace this with the correct CRS for your
region.
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.
11
QGIS Training Manual, Versión 3.4
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.
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: Before starting this exercise, QGIS must be installed on your computer. Also, you should have downloaded
the sample data to use.
Inicia QGIS desde su acceso directo en el escritorio, menú, etc., dependiendo de como hayas configurado su
instalación.
Nota: The screenshots for this course were taken in QGIS 3.4 running on Linux. Depending on your setup, the
screens you encounter may well appear somewhat different. However, all the same buttons will still be available,
and the instructions will work on any OS. You will need QGIS 3.4 (the latest version at time of writing) to use this
course.
2. Click the Open Data Source Manager button: . If you can’t find the icon, check that the Data Source
Manager toolbar is enabled in the View → Toolbars menu.
The Data Source Manager dialog allows you to choose the data to load depending on the data type: the tabs
in the left-hand section of the dialog list the main data types. You can also browse the files directly from the
folder of your computer with the Browser tab (see El panel de exploración section):
3. Click on the Vector tab, enable the File source type and press the . . . button next to Vector Dataset(s).
4. Navigate to the file exercise_data/shapefile/protected_areas.shp (in your course direc-
tory).
5. Select the file and click Open. You will see the original dialog, but with the file path filled in.
6. Click Add here as well. The data you specified will now load.
¡Enhorabuena! Ya tienes un nuevo mapa básico. Ahora sería un buen momento para guardar tu trabajo.
Repeat the steps above to add the places.shp and rivers.shp data sets from the same folder
(exercise_data/shapefile) to the map.
Comprueba tus resultados
2.2.3 In Conclusion
Now you’re familiar with the basic function of the Open Data Source Manager button, but what about all the
others? How does this interface work? Before we go on, let’s first take a look at the layout of the QGIS interface.
This is the topic of the next lesson.
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.
Hovering the layer will give you some basic information: layer name, type of geometry, coordinate reference
system and the complete path of the location on your device.
Un clic derecho sobre una capa mostrará un menú con muchas opciones extra. ¡Pronto estará usando algunas de
ellas, así que écheles un vistazo!
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
The QGIS Browser is a panel in QGIS that lets you easily navigate in your database. You can have access
to common vector files (e.g. ESRI Shapefile or MapInfo files), databases (e.g. PostGIS, Oracle, SpatiaLite,
GeoPackage or MSSQL Spatial) and WMS/WFS connections. You can also view your GRASS data.
If you have saved a project, the Browser Panel will also give you quick access to all the layers stored in the same
path of the project file under in the Project Home item.
Moreover, you can set one or more folder as Favorites: search under your path and once you have found the
folder, right click on it and click on Add as a Favorite. You should then be able to see your folder in the
Favorites item.
Truco: It can happen that the folders added to Favorite item have a really long name: don’t worry right-click on
the path and choose Rename Favorite... to set another name.
Barras de herramientas
Your most often used sets of tools can be turned into toolbars for basic access. For example, the File toolbar allows
you to save, load, print, and start a new project. You can easily customize the interface to see only the tools you
use most often, adding or removing toolbars as necessary via the Settings → Toolbars menu.
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.
This is where the map itself is displayed and where layers are loaded. In the map canvas you can interact with the
visible layers: zoom in/out, move the map, select features and many other operations that we will deeply see in
the next sections.
La barra de estado
Shows you information about the current map. Also allows you to adjust the map scale, the map rotation and see
the mouse cursor’s coordinates on the map.
By default the Side toolbar contains the buttons to load the layer and all the buttons to create a new layer. But
remember that you can move all the toolbars wherever it is more comfortable for you.
Within this bar you can access to almost all the objects of QGIS: layers, layer features, algorithms, spatial book-
marks, etc. Check all the different options in the locator_options section of the QGIS User Manual.
Truco: With the shortcut Ctrl+K you can easily access the bar.
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.
Vector data is arguably the most common kind of data you will find in the daily use of GIS. The vector model
represents the location and shape of geographic features using points, lines and polygons (and for 3D data also
surfaces and volumes), while their other properties are included as attributes (often presented as a table in QGIS).
It is usually used to store discrete features, like roads and city blocks. The objects in a vector dataset are called
features, and contain data that describe their location and properties.
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.
From the previous exercise, you should have the rivers layer loaded in your map. The lines that you can see right
now are merely the position of the rivers: this is the spatial data.
To see all the available data in the rivers layer, select it in the Layers panel and click the button.
It will show you a table with more data about the rivers layer. This is the layer’s Attribute table. A row is called a
record, and represents a river feature. A column is called a field, and represents a property of the river. Cells show
attributes.
19
QGIS Training Manual, Versión 3.4
Databases allow you to store a large volume of associated data in one file. You may already be familiar with a
database management system (DBMS) such as Libreoffice Base or MS Access. GIS applications can also make
use of databases. GIS-specific DBMSes (such as PostGIS) have extra functions, because they need to handle
spatial data.
The GeoPackage open format is a container that allows you to store GIS data (layers) in a single file. Unlike
the ESRI Shapefile format (e.g. the roads.shp dataset you previously loaded that contains only roads vector
data), a single GeoPackage file can contain various data (both vector and/or and raster data) in different coordinate
reference systems, as well as tables without spatial information; all these features allow you to share data easily
and avoid file duplication.
In order to load a layer from a GeoPackage, you will first need to create the connection to it:
4. Select the file and press Open. The file path is now added to the Geopackage connections list, and appears
in the drop-down menu.
You are now ready to add any layer from this GeoPackage to QGIS.
1. Click on the Connect button. In the central part of the window you should now see the list of all the layers
contained in the GeoPackage file.
2. Select the roads layer and click on the Add button.
A roads layer is added to the Layers panel with features displayed on the map canvas.
3. Click on Close.
Congratulations! You have loaded the first layer from a GeoPackage.
3.1.4 Follow Along: Loading Vector Data From a SpatiaLite Database with
the Browser
QGIS provides access to many other database formats. Like GeoPackage, the SpatiaLite database format is an
extension of the SQLite library. And adding a layer from a SpatiaLite provider follows the same rules as described
above: Create the connection –> Enable it –> Add the layer(s).
While this is one way to add SpatiaLite data to your map, let’s explore another powerful way to add data: the
Browser.
For example, click on the drop-down icon next to the GeoPackage entry. You’ll see the
training-data.gpkg file we previously connected to (and its layers, if expanded).
5. Navigate to the exercise_data folder, select the landuse.sqlite file and click Open.
Notice that a landuse.sqlite entry has been added under the SpatiaLite one.
7. Double-click the landuse layer or select and drag-and-drop it onto the map canvas. A new layer is added
to the Layers panel and its features are displayed on the map canvas.
Truco: Enable the Browser panel in View → Panels → and use it to add your data. It’s a handy shortcut for the
Data Source Manager –> Browser tab, with the same functionality.
Nota: Remember to save your project frequently! The project file doesn’t contain any of the data itself, but it
remembers which layers you loaded into your map.
Load the following datasets from the exercise_data folder into your map using any of the methods explained
above:
• buildings
• water
Check your results
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: You can alter this behavior using the Control rendering order checkbox beneath the Layer Order panel.
We will however not discuss this feature yet.
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:
1. Clica y arrastra sobre una capa en la lista de Capas.
2. 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.7 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.
1. Right-click on the landuse layer in the layers list.
2. Select the menu item Properties. . . in the menu that appears.
Nota: Por defecto, también puedes acceder a las propiedades de la capa con doble clic en la capa en la lista
de capas.
Truco: The button at the top of the Layers panel will open the Layer Styling panel. You can use this
panel to change some properties of the layer: by default, changes will be applied immediately!
4. Click the color select button next to the Color label. A standard color dialog will appear.
5. Escoge el color gris y clic en Aceptar.
6. Clic de nuevo en Aceptar en la ventana Propiedades de la capa, y verás el cambio de color en la capa.
Change the color of the water layer to light blue. Try to use the Layer Styling panel instead of the Layer Properties
menu.
Comprueba tus resultados
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.
1. Abre la ventana Propiedades de la capa para la capa landuse.
Under the Symbology tab, you will see the same kind of dialog as before. This time, however, you’re
doing more than just quickly changing the color.
2. In the symbol layers tree, expand the Fill dropdown and select the Simple fill option.
3. Click on the Stroke style dropdown. At the moment, it should be showing a short line and the words Solid
Line.
5. Clic en Aceptar.
Ahora la capa landuse no tendrá ninguna linea entre áreas.
• Change the water layer’s symbology again so that it has a darker blue outline.
• Cambia la simbología de la capa rivers para una representación más sensible de las vías fluviales.
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.
In our case, we may decide to hide the buildings from view at small scales. This map, for example. . .
5. Clic en Aceptar.
Comprueba los efectos de esto aumentando y disminuyendo el zoom de tu mapa, notando que la capa buildings
aparece y desaparece.
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.
1. Go back to the landuse layer’s symbol properties panel (by clicking Simple fill in the symbol layers tree).
En este ejemplo, los símbolos actuales no tienen contorno (es decir, usan el estilo de borde No Pen)
It may appear somewhat different in color, for example, but you’re going to change that anyway.
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.
3. Clic en Aceptar.
Now you can see your results and tweak them as needed. You can even add multiple extra symbol layers and
create a kind of texture for your layer that way.
¡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 anteri-
ores.
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.
1. Dale a la capa roads una capa símbolo extra (utilizando el método para añadir capas símbolo demostrado
anteriormente).
2. Give the base line a Stroke width of 1.5 and a black color.
3. Give the new, uppermost layer a thickness of 0.8 and a white color.
Notarás que ocurre esto:
Well, roads have now a street like symbology, but you see that lines are overlapping each others at each cross.
That’s not what we want at all!
Para prevenir que esto ocurra, puedes ordenar los niveles de símbolos y de este modo controlar el orden en el que
las diferentes capas de símbolos se representan.
To change the order of the symbol layers:
1. Select the topmost Line layer in the symbol layers tree.
2. Click Advanced → Symbol levels. . . in the bottom right-hand corner of the window.
3. Check Enable symbol levels. You can then set the layer order of each symbol by entering the corre-
sponding level number. 0 is the bottom layer.
In our case, we just want to activate the option, like this:
This will render the white line above the thick black line borders:
4. Clic Aceptar dos veces para volver al mapa.
El mapa se verá ahora así:
When you’re done, remember to save the symbol itself so as not to lose your work if you change the symbol again
in the future. You can save your current symbol style by clicking the Save Style. . . button at the bottom of the
Layer Properties dialog. We will be using the QGIS QML Style File format.
Save your style in the solution/styles/better_roads.qml folder. You can load a previously saved
style at any time by clicking the Load Style. . . button. Before you change a style, keep in mind that any unsaved
style you are replacing will be lost.
Symbol levels also work for classified layers (i.e., layers having multiple symbols). Since we haven’t covered
classification yet, you will work with some rudimentary pre-classified data.
1. Crea un nuevo mapa y añade solamente el conjunto de datos roads.
2. Load the style file advanced_levels_demo.qml provided in exercise_data/styles.
3. Amplia el área Swellendam.
4. Utilizando capas de símbolos, asegúrate que los contornos de las capas fluyen unos dentro de los otros como
en la imagen siguiente:
In addition to setting fill colors and using predefined patterns, you can use different symbol layer types entirely.
The only type we’ve been using up to now was the Simple Fill type. The more advanced symbol layer types allow
you to customize your symbols even further.
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.
3. You can access the various symbol layer types by selecting the Simple marker layer in the symbol layers
tree, then click the Symbol layer type dropdown:
4. Investiga las diversas opciones disponibles para ti, y elige un símbolo con el estilo que creas apropiado.
5. If in doubt, use a round Simple marker with a white border and pale green fill, with a Size of 3.00 and a
Stroke width of 0.5.
2. Select the Simple marker layer in the symbol layers tree. Change the symbol properties to match this dialog:
3. Select the Marker line layer and change the interval to 1.00:
4. 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:
1. Change the Symbol layer type for the water layer, as before for the other layers.
2. Investiga qué opciones diferentes de la lista se pueden hacer.
3. Elige una de aquellas que encuentres adecuadas.
4. 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.
Apply a green transparent fill color to the protected_areas layer, and change the outline to look like this:
You can use the Geometry generator symbology with all layer types (points, lines and polygons). The resulting
symbol depends directly on the layer type.
Very briefly, the Geometry generator symbology allows you to run some spatial operations within the symbology
itself. For example you can run a real centroid spatial operation on a polygon layer without creating a point layer.
Moreover, you have all the styling options to change the appearance of the resulting symbol.
Let’s give it a try!
1. Select the water layer.
2. Click on Simple fill and change the Symbol layer type to Geometry generator.
3. Before to start writing the spatial query we have to choose the Geometry Type in output. In this example
we are going to create centroids for each feature, so change the Geometry Type to Point / Multipoint.
4. Now let’s write the query in the query panel:
centroid($geometry)
5. When you click on OK you will see that the water layer is rendered as a point layer! We have just run a
spatial operation within the layer symbology itself, isn’t that amazing?
With the Geometry generator symbology you can really go over the edge of normal symbology.
Try Yourself
Geometry generator are just another symbol level. Try to add another Simple fill underneath the Geometry gener-
ator one.
Change also the appearance of the Simple marker of the Geometry generator symbology.
The final result should look like this:
Nota: Para hacer este ejercicio, necesitará tener un software de edición de vector libre Inkscape instalado.
1. Start the Inkscape program. You will see the following interface:
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.
2. Clic en el elemento del menú Archivo → Propiedades del documento. Esto te dará el cuadro de diálogo
Propiedades del documento.
3. Cambia Unidades predet. a px.
4. Change the Width and Height to 100.
5. Cierra el cuadro de diálogo cuando hayas terminado.
6. Clic en el elemento del menú Ver → Zoom → Página para ver la página con la que estás trabajando.
7. Selecciona la herramienta Círculo.
8. 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.
9. Haga clic derecho sobre el circulo que acaba de crear y abra sus opciones Relleno y borde. Puede modificar
su representación, como:
(a) Cambie el color Relleno a un azul-grisaseo pálido,
(b) Asignar al borde un color oscuro en la pestaña Pintar borde,
(c) Y reduzca el espesor del borde bajo la pestaña Estilo de borde.
11. If the symbol you get satisfies you, then save it as landuse_symbol under the directory that the course is in,
under exercise_data/symbols, as SVG file.
En QGIS:
1. Abra las Propiedades de la capa para la capa landuse.
2. In the Symbology tab, change the symbol structure by changing the Symbol Layer Type to SVG Fill‘‘‘
shown below.
3. Click the . . . button and then Select File. . . to select your SVG image.
It’s added to the symbol tree and you can now customize its different characteristics (colors, angle, effects,
units. . . ).
Once you validate the dialog, features in landuse layer should now be covered by a set of symbols, showing a
texture like the one on the following map. If textures are not visible, you may need to zoom in the map canvas or
set in the layer properties a bigger Texture width.
3.2.15 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.
Open the attribute table for the places layer (refer back to the section Lesson: Trabajando con Datos Vectoriales.
if necessary). Which field would be the most useful to represent in label form, and why?
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.
53
QGIS Training Manual, Versión 3.4
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.
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á.
• Click on the places layer in the Layers panel, so that it is highlighted.
• 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.
• Save your landuse symbology (if you want to keep it) by clicking on the Save Style . . . button in the Style
drop-down menu.
Vamos a reclasificar la capa, así que las clases existentes se perderán si no están guardadas.
• Close the Layer Properties dialog.
• 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.
• Switch to the Symbology tab.
• 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
adoptará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!
In this module, you’ll learn how to use the QGIS print layout to produce quality maps with all the requisite map
components.
Now that you’ve got a map, you need to be able to print it or to export it to a document. The reason is, a GIS map
file is not an image. Rather, it saves the state of the GIS program, with references to all the layers, their labels,
colors, etc. So for someone who doesn’t have the data or the same GIS program (such as QGIS), the map file will
be useless. Luckily, QGIS can export its map file to a format that anyone’s computer can read, as well as printing
out the map if you have a printer connected. Both exporting and printing is handled via the print layout.
The goal for this lesson: To use the QGIS print layout to create a basic map with all the required settings.
QGIS allows you to create multiple maps using the same map file. For this reason, it has a tool called the Layout
Manager.
• Click on the Project → Layout Manager menu entry to open this tool. You’ll see a blank Layout manager
dialog appear.
• Click the Add button and give the new layout the name of Swellendam.
• Haz clic en Aceptar.
• Haz clic en el botón Mostrar.
(You could also close the dialog and navigate to a layout via the Project → Layouts → menu, as in the image
below.)
93
QGIS Training Manual, Versión 3.4
Whichever route you take to get there, you will now see the Print Layout window:
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í.
• In the Print Layout window, check that the values under Composition → Paper and Quality are set to the
following:
• 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:
Remember that the size and position you’ve given the map doesn’t need to be final. You can always come back
and change it later if you’re not satisfied. For now, you need to ensure that you’ve saved your work on this map.
Because a Layout in QGIS is part of the main map file, you’ll need to save your main project. Go to the main
QGIS window (the one with the Layers panel and all the other familiar elements you were working with before),
and save your project from there as usual.
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.
• Click on the Item Properties tab in the side panel of the Layout window.
• 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:
Finally the map is ready for export! You’ll see the export buttons near the top left corner of the Layout window:
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:
105
QGIS Training Manual, Versión 3.4
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
• the Edit → Undo menu item or the Ctrl+Z keyboard shortcut to undo mistakes.
• 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:
• Navigate to the menu entry Project → Snapping Options. . . .
• 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.
• To use this tool, you must first select the polygon to which you wish to add the part by using the Select
Features by area or single click tool:
• 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.
Si has completado la sección avanzada de arriba y tienes conocimientos de Python, puede que quieras mirar
esta entrada de blog<https://nathanw.net/2011/09/05/qgis-tips-custom-feature-forms-with-python-logic/>‘_ so-
bre como como crear formularios de características personalizadas con logica Python, lo que permite funciones
avanzadas incluyendo validación de datos, autocompletar, 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:
• Click on the school_property layer in the Layers panel so that it is highlighted.
• 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.
Usually when you use Google, you enter your search phrase into the Google Search bar. But in this case, you
want your computer to do this for you. The way you tell Google to search for something (if you don’t want
to use its search bar directly) is by giving your Internet browser the address https://www.google.com/
search?q=SEARCH_PHRASE, where SEARCH_PHRASE is what you want to search for. Since we don’t know
what phrase to search for yet, we’ll just enter the first part (without the search phrase).
• In the Action field, write https://www.google.com/search?q=. Remember to add a space after
your initial command before writing this in!
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:
What this means is that QGIS is going to open the browser and send it to the address https://www.google.
com/search?q=[% "name" %]. But [% "name" %] tells QGIS to use the contents of the name field as
the phrase to search for.
So if, for example, the landuse area you click on is named Marloth Nature Reserve, then QGIS is go-
ing to send the browser to https://www.google.com/search?q=Marloth%20Nature%20Reserve,
which will cause your browser to visit Google, which will in turn search for «Marloth Nature Reserve».
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í:
https://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
– Action (all on one line):
˓→')); 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.
1. Save your current map
2. Then open the map of the world which you’ll find under exercise_data/world/world.qgs
151
QGIS Training Manual, Versión 3.4
By default, QGIS reprojects data «on the fly». What this means is that even if the data itself is in another CRS,
QGIS can project it as if it were in a CRS of your choice.
You can change the CRS of the project by clicking on button in the bottom right corner of QGIS.
1. In the dialog that appears, type the word global into the Filter field. One CRS (NSIDC EASE-Grid 2.0
Global, EPSG:6933) should appear in the list below.
2. Click on the NSIDC EASE-Grid 2.0 Global to select it, then click OK.
Observa cómo cambia la forma de Sudáfrica. Todas las proyecciones funcionan cambiando las formas
aparentes de los objetos de la Tierra.
3. Zoom in to a scale of 1:5 000 000 again, as before.
4. 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.
1. Add another vector layer to your map which has the data for South Africa only. You’ll find it as
exercise_data/world/RSA.shp.
2. Load it and a quick way to see what is its CRS is by hovering the mouse over the layer in the legend. It is
EPSG:3410.
¿Qué observas?
The layer is visible even if it has a different CRS from the continents one.
Sometimes you need to export an existing dataset in another CRS. As we will see in the next lesson, if you need
to make some distance calculations on layer, it is always better to have the layer in a projected coordinate system.
Be aware that the “on the fly” reprojection is related to the project and not to single layers. This means that layers
can have different CRS from the project even if you see them in the correct position.
But you can easily export the layer in another CRS.
1. Right-click on the buildings layer in the Layers panel
2. Select Export → Save Features As. . . in the menu that appears. You will be shown the Save Vector Layer
as. . . dialog.
3. Click on the Browse button next to the File name field
4. Navigate to exercise_data/ and specify the name of the new layer as buildings_reprojected.shp.
5. We must change the value of the CRS. Only the recent CRSs used will be shown in the drop down menu.
Click on the button next to the dropdown menu.
6. The CRS Selector dialog will now appear. In its Filter field, search for 34S.
7. Select WGS 84 / UTM zone 34S from the list
8. Leave the other options unchanged. The Save Vector Layer as. . . dialog now looks like this:
9. Click OK
You can now compare the old and new projections of the layer and see that they are in two different CRS but they
are still overlapping.
Hay muchos más proyecciones que las incluidas en QGIS por defecto. Además, también puedes crear tus propias
proyecciones.
1. Start a new map
2. Load the world/oceans.shp dataset
3. Go to Settings → Custom Projections. . . and you’ll see this dialog.
7. Click OK
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.
Materials for the Advanced section of this lesson were taken from this article.
Further information on Coordinate Reference Systems is available here.
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
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. It needs to be in Swellendam
2. It must be within reasonable driving distance of a school (say 1km)
3. It must be more than 100m squared in size
4. Closer than 50m to a main road
5. Closer than 500m to a restaurant
Para resolver todas estas preguntas, vamos a necesitar los siguientes datos:
1. The residential properties (buildings) in the area
2. The roads in and around the town
3. The location of schools and restaurants
4. The size of buildings
All of this data is available through OSM and you should find that the dataset you have been using throughout this
manual can also be used for this lesson.
If you want to download data from another area jump to Introduction Chapter section to read how to do it.
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.
3. In the training_data.gpkg Geopackage database load all the files we will use in this chapter:
(a) landuse
(b) buildings
(c) roads
(d) restaurants
(e) schools
4. Zoom to the layer extent to see Swellendam, South Africa
Before proceeding we should filter the roads layer in order to have only some specific road types to work with.
Some of the roads in OSM dataset are listed as unclassified, tracks, path and footway. We want to
exclude these from our dataset and focus on the other road types, more suitable for this exercise.
Moreover, OSM data might not be updated everywhere and we will also exclude NULL values.
1. Right click on the roads layer and choose Filter. . . .
2. In the dialog that pops up we can filter these features with the following expression:
The concatenation of the two operators NOT and IN means to exclude all the unwanted features that have
these attributes in the highway field.
!= NULL combined with the OR operator is excluding roads with no values in the highway field.
You will note the icon next to the roads layer that helps you remember that this layer has a filter activated
and not all the features are available in the project.
The map with all the data should look like the following one:
Because we are going to be measuring distances within our layers, we need to change the layers” CRS. To do this,
we need to select each layer in turn, save the layer to a new one with our new projection, then import that new
layer into our map.
You have many different options, e.g. you can export each layer as a new Shapefile, you can append the layers to
an existing GeoPackage file or you can create another GeoPackage file and fill it with the new reprojected layers.
We will show the last option so the training_data.gpkg will remain clean. But feel free to choose the best
workflow for yourself.
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.
This will create the new GeoPackage database and fill it with the roads_34S layer.
8. Repeat this process for each layer, creating a new layer in the vector_analysis.gpkg GeoPackage
file with _34S appended to the original name and removing each of the old layers from the project.
Nota: When you choose to save a layer to an existing GeoPackage, QGIS will append that layer in the
GeoPackage.
9. 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.
Or you can type buffer in the search menu in the upper part of the toolbox:
6. The default Distance is in meters because our input dataset is in a Projected Coordinate System that uses
meter as its basic measurement unit. You can use the combo box to choose other projected units like
kilometers, yards, etc.
Nota: If you are trying to make a buffer on a layer with a Geographical Coordinate System, Processing
will warn you and suggest to reproject the layer to a metric Coordinate System.
7. By default Processing creates temporary layers and adds them to the Layers panel. You can also append the
result to the GeoPackage database by:
(a) clicking on the . . . button and choose Save to GeoPackage. . .
(b) naming the new layer roads_buffer_50m
(c) and saving it in the vector_analysis.gpkg file
If your new layer is at the top of the Layers list, it will probably obscure much of your map, but this gives you all
the areas in your region which are within 50m of a road.
However, you’ll notice that there are distinct areas within your buffer, which correspond to all the individual roads.
To get rid of this problem:
1. Uncheck the roads_buffer_50m layer and re-create the buffer using the settings shown here:
Nota: The Short Help on the right side of the dialog explains how the algorithm works. If you need more
information, just click on the Help button in the bottom part to open a more detailed guide of the algorithm.
Usa el mismo enfoque que anteriormente y crea un buffer para tus colegios.
It needs to be 1 km in radius. Save the new layer in the vector_analysis.gpkg file as
schools_buffer_1km_dissolved.
Comprueba tus resultados
Now we have areas where the road is 50 meters away and there’s a school within 1 km (direct line, not by road).
But obviously, we only want the areas where both of these criteria are satisfied. To do that, we’ll need to use the
Intersect tool. You can find it in Vector Overlay group within Processing → Toolbox.
1. Configúralo así:
2. Click Run.
En la imagen inferior, las áreas en azul muestran donde ambos criterios de distancia coinciden
3. 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:
Now you’ve got the area that the buildings must overlap. Next, you want to extract the buildings in that area.
1. Look for the menu entry Vector Selection → Extract by location within Processing → Toolbox
2. Set up the algorithm dialog like in the following picture
The red buildings are those which match our criteria, while the buildings in green are those which do not.
5. Now you have two separated layers and can remove buildings_34S from layer list.
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.
Using the processes described above, create a new layer called houses_restaurants_500m which further filters
your well_located_houses layer to show only those which are within 500m of a restaurant.
:ref:‘ Comprueba tus resultados <vector-analysis-basic-2>‘
To see which buildings are of the correct size (more than 100 square meters), we first need to calculate their size.
1. Select the houses_restaurants_500m layer and open the Field Calculator by clicking on the button in
the main toolbar or within the attribute table
2. Set it up like this
We are creating the new field AREA that will contain the area of each building square meters.
3. Click OK. The AREA field has been added at the end of the attribute table.
4. 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.
5. Build a query as earlier in this lesson
Save your solution as a new layer, using the approach you learned above for doing so. The file should be saved
within the same GeoPackage database, with the name solution.
7.2.13 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.
Calculating the shortest distance between two points is a commonly cited use for GIS. Tools for this can be found
in the Processing toolbox.
The goal for this lesson: learn to use Network analysis algorithms.
You can find all the network analysis algorithms in the Processing → Network Analysis menu. You can see that
there are many tools available:
The shortest path tools provide ways to calculate either the shortest or the fastest path between two points of a
network, given:
• start point and end point selected on the map;
• start point selected on the map and end points taken from a point layer;
• start points taken from a point layer and end point selected on the map;
Let’s start.
The Network analysis → Shortest path (point to point) allows you to calculate the shortest distance between two
manually selected points on the map.
In this example we will calculate the shortest (not fastest) path between two points.
In the following image we choose these two points as starting and ending point for the analysis:
A new line layer is created representing the shortest path between the chosen points. Uncheck the network_lines
layer to see the result better:
Let’s open the attribute table of the output layer. It contains three fields, representing the coordinates of the starting
and ending points and the cost.
We chose Shortest as Path type to calculate, so the cost represent the distance, in layer units, between the two
locations.
In our case, the shortest distance between the chosen points is around 1000 meters:
Now that you now how to use the tool, feel free to change them and test other locations.
With the same data of the previous exercise, try to calculate the fastest path between the two points.
How much time do you need to go from the start to the end point?
Check your results
Let’s explore some more options of the Network Analysis tools. In the previous exercise we calculated the fastest
route between two points. As you can imagine, the time depends on the travel speed.
We will use the same layers and same starting and ending points of the previous exercises.
• Open the Shortest path (point to point) algorithm;
• Fill the Input layer, Start point (x, y) and End point (x, y) as we did before;
• Choose Fastest as the Path type to calculate;
• Open the Advanced parameter menu;
• Change the Default speed (km/h) from the default 50 value to 4;
• Click on Run.
Once the algorithm is finished, close the dialog and open the attribute table of the output layer.
The cost field contains the value according to the speed parameter you have chosen.
We can convert the cost field from hours with fractions to the more readable minutes values.
• Open the field calculator by clicking on the icon and add the new field minutes by multiplying the cost
field by 60:
That’s it! Now you know how many minutes it will take to get from one point to the other one.
The Network analysis toolbox has other interesting options. Looking at the following map:
we would like to know the fastest route considering the speed limits of each road (the labels represent the speed
limits in km/h). The shortest path without considering speed limits would of course be the purple path. But in that
road the speed limit is 20 km/h, while in the green road you can go at 100 km/h!
As we did in the first exercise, we will use the Network analysis → Shortest path (point to point) and we will
manually choose the start and end points.
• Open the Network analysis → Shortest path (point to point) algorithm;
• Select network_lines for the Vector layer representing network parameter;
• Choose Fastest as the Path type to calculate;
• Click on the . . . button next to the Start point (x, y) and choose the location tagged with Start Point in
the picture. The menu is filled with the coordinates of the clicked point;
• Do the same thing but choosing the location tagged with End point for End point(x, y);
• Open the Advanced parameters menu;
• Choose the speed field as the Speed Field parameter. With this option the algorithm will take into account
the speed values for each road;
As you can see the fastest route does not correspond to the shortest one.
The Network Analysis → Service area (from layer) algorithm can answer the question: given a point layer, what
are all the reachable areas given a distance or a time value?
Nota: The Network Analysis → Service area (from point) is the same algorithm but, it allows you to manually
choose the point on the map.
Given a distance of 250 meters we want to know how far we can go on the network from each point of the
network_points layer.
• Uncheck all the layers except network_points;
• Open the Network Analysis → Service area (from layer) algorithm;
• Choose network_lines for Vector layer representing network;
• Choose network_points for Vector layer with start points;
• Choose Shortest in Path type to calculate;
• Enter 250 in the Travel cost parameter;
• Click on Run and then close the dialog.
The output layer represents the maximum path you can reach from the point features given a distance of 250
meters:
7.3.7 In Conclusion
Now you know how to use Network analysis algorithm to solve shortest-fastest path problems.
We are now ready to perform some spatial statistic on vector layer data. Let’s go!
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.
The goal for this lesson: To know how to use QGIS” spatial statistics tools within the Processing toolbox.
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.
1. Start a new project.
2. Add your roads layer, as well as the srtm_41_19 raster file (elevation data) found in exercise_data/
raster/SRTM/.
Nota: You might find that your SRTM DEM layer has a different CRS to that of the roads layer. QGIS is
reprojecting both layers in a single CRS. For the following exercises this difference does not matter, but feel
free to reproject a layer in another CRS as shown in this module.
As you know, if you don’t specify the output, Processing creates temporary layers. It is up to you to save
the layers immediately or in a second moment.
• Create random points in this area using the tool at Vector Creation → Random points in layer bounds:
Nota: The yellow warning sign is telling you that that parameter concerns something about the distance.
The Bounding geometry layer is in a Geographical Coordinate System and the algorithm is just reminding
you this. For this example we won’t use this parameter so you can ignore it.
If needed, move the generated random point at the top of the legend to see them better:
To create a sample dataset from the raster, you’ll need to use the Raster Analysis → Sample raster values algorithm
within Processing toolbox. This tool samples the raster at the points locations and copies the raster values in other
field(s) depending on how many bands the raster is made of.
1. Open the Sample raster values algorithm dialog
2. Select random_points as the layer containing sampling points, and the SRTM raster as the band to get values
from. The default name of the new field is rvalue_N, where N is the number of the raster band. You can
change the name of the prefix if you want:
3. Press Run
Now you can check the sampled data from the raster file in the attributes table of the Random points layer, they
will be in a new field with the name you have chosen.
Aquí tienes una posible capa de muestreo:
The sample points are classified by their rvalue_1 field such that red points are at a higher altitude.
Utilizarás esta capa de datos de muestreo durante el resto de los ejercicios estadísticos.
1. Click on the icon in the Attributes Toolbar of QGIS main dialog. A new panel will pop up.
2. In the dialog that appears, specify the Sampled Points layer as the source.
3. Select the rvalue_1 field in the field combo box which is the field you will calculate statistics for.
4. The Statistics Panel will be automatically updated with the calculated statistics:
a spreadsheet.
4. If you want you can save the output layer as a file or just run the algorithm and save the temporary output
layer in a second moment.
5. Click Run to generate the distance matrix layer.
6. Open the attribute table of the generated layer: values refer to the distances between the distance_points
features and their two nearest points in the Sampled Points layer:
With these parameters, the Distance Matrix tool calculates distance statistics for each point of the input layer
with respect to the nearest points of the target layer. The fields of the output layer contains the mean, standard
deviation, minimum and maximum for the distances to the nearest neighbors of the points in the input layer.
4. Click on the blue link to open the html page with the results:
The histogram of a dataset shows the distribution of its values. The simplest way to demonstrate this in QGIS is
via the image histogram, available in the Layer Properties dialog of any image layer (raster dataset).
1. In your Layers panel, right-click on the srtm_41_19 layer.
2. Selecciona Propiedades.
3. 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.
4. Puedes exportarlo como una imagen:
5. Select the Information tab, you can see more detailed information of the layer.
The mean value is 332.8, and the maximum value is 1699! But those values don’t show up on the histogram.
Why not? It’s because there are so few of them, compared to the abundance of pixels with values below the mean.
That’s also why the histogram extends so far to the right, even though there is no visible red line marking the
frequency of values higher than about 250.
Nota: If the mean and maxmimum values are not the same as those of the example, it can be due to the
min/max value calculation. Open the Symbology tab and expand the Min / Max Value Settings menu. Choose
|radioButtonOn| Min / max and click on Apply.
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.
Let’s say you have a collection of sample points from which you would like to extrapolate data. For example, you
might have access to the Sampled points dataset we created earlier, and would like to have some idea of what the
terrain looks like.
1. To start, launch the GDAL → Raster analysis → Grid (IDW with nearest neighbor searching) tool within
Processing toolbox.
2. In the Point layer parameter, select Sampled points
3. Set 5.0 as the Weighting power
4. In the Advanced parameters set rvalue_1 for the Z value from field parameter
5. Finally click on Run and wait until the algorithm ends
As you can see, 100 sample points aren’t really enough to get a detailed impression of the terrain. It gives a very
general idea, but it can be misleading as well.
1. Use the processes shown above to create a new set of 10 000 random points.
Nota: If the points amount is really big the processing time can take a long time.
This is a much better representation of the terrain, due to the much greater density of sample points. Remember,
bigger samples give better results.
7.4.9 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.
Raster data can be loaded with the same methods we used for vector data. However we suggest to use the Browser
Panel.
1. Open the Browser Panel and expand the exercise_data/raster folder.
2. Load all the data in this folder:
• 3320C_2010_314_RGB_LATLNG.tif
• 3320D_2010_315_RGB_LATLNG.tif
• 3420B_2010_328_RGB_LATLNG.tif
• 3420C_2010_327_RGB_LATLNG.tif
You should see the following map:
201
QGIS Training Manual, Versión 3.4
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?
Luckily, QGIS allows you to do exactly this, and without needing to actually create a new raster file, which could
take up a lot of space. Instead, you can create a Virtual Raster. This is also often called a Catalog, which explains
its function. It’s not really a new raster. Rather, it’s a way to organize your existing rasters into one catalog: one
file for easy access.
To make a catalog we will use the Processing → Toolbox.
1. Open the Build virtual raster algorithm from the GDAL → Raster miscellaneous;
2. In the dialog that appears click on the . . . button next to the Input layers parameter and check all the layers
or use the Select All button;
3. Uncheck the Place each input file into a separate band parameter- Notice the text field below. What this
dialog is actually doing is that it’s writing that text for you. It’s a long command that QGIS is going to run.
Nota: Keep in mind that you can copy and paste the text in the OSGeo Shell (Windows user) or
Terminal (Linux and OSX users) to run the command. You can also create a script for each GDAL
command. This is very handy when the procedure is taking a long time or when you want to schedule
specific tasks. Use the Help button to get more help on the syntax of GDAL commands.
Nota: As you know from the previous modules, Processing creates temporary layers by default. To save the file
click on the . . . button.
You can now remove the original four rasters from the Layers Panel and leave only the output virtual catalog
raster.
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
You can also reproject virtual rasters (catalogs), enable multithreaded processing, and more.
Uniendo rásters
If you need to create a new raster layer and save it to disk you can use the merge algorithm.
Nota: Depending on how many raster files you are merging and their resolution, the new raster file created can
be really big. Consider instead to create a raster catalog as described in the Create a Virtual Raster section.
1. Click on the Merge algorithm from the GDAL → Raster miscellaneous menu.
2. As we did for the Create a Virtual raster, use the . . . button to choose which layers you want to merge.
You can also specify a Virtual raster as input, and then all of the rasters that it consists of will be processed.
3. If you know the GDAL library, you can also add your own options by opening the Advanced parameters
menu.
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.
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.
You have basically two different options to change the raster symbology:
1. Within the Layer Properties dialog for the DEM layer by right-clicking on the layer in the Layer tree and
selecting Properties option. Then switch to the Symbology tab;
2. By clicking on the button right above the Layers Panel. This will open the Layer Styling anel where
you can switch to the Symbology tab.
Choose the method you prefer to work with.
When you load a raster file, if it is not a photo image like the ones of the previous section, the default style is set
to a grayscale gradient.
Let’s explore some of the features of this renderer.
The default Color gradient is set to Black to white, meaning that low pixel values are black and while high
values are white. Try to invert this setting to White to black and see the results.
Very important is the Contrast enhancement parameter: by default it is set to Stretch to MinMax meaning
that the grayscale is stretched to the minimum and maximum values.
Look at the difference with the enhancement (left) and without (right):
But what are the minimum and maximum values that should be used for the stretch? The ones that are currently
under Min / Max Value Settings. There are many ways that you can use to calculate the minimum and maximum
values and use them for the stretch:
1. User Defined: you choose both minimum and maximum values manually;
2. Cumulative count cut: this is useful when you have few extreme low or high values. It cuts the 2% (or the
value you choose) of these values;
3. Min / max: the real minimum and maximum values of the raster;
4. Mean +/- standard deviation: the values will be calculated according to the mean value and the standard
deviation.
Grayscales are not always great styles for raster layers. Let’s try to make the DEM layer more colorful.
• Change the Render type to Singleband pseudocolor: if you don’t like the default colors loaded, click on
Color ramp and change them;
• Click the Classify button to generate a new color classification;
• If it is not generated automatically click on the OK button to apply this classification to the DEM.
This is an interesting way of looking at the DEM. You’ll now see that the values of the raster are again properly
displayed, with the darker colors representing valleys and the lighter ones, mountains.
Sometimes changing the transparency of the whole raster layer can help you to see other layers covered by the
raster itself and better understand the study area.
To change the transparency of the whole raster switch to the Transparency tab and use the slider of the Global
Opacity to lower the opacity:
More interesting is changing the transparency of single pixels. For example in the raster we used you can see an
homogeneous color at the corners:
To set this values as transparent, the Custom Transparency Options menu in Transparency has some useful meth-
ods:
• By clicking on the button you can add a range of values and set the transparency percentage of each
range chosen;
• Click on the button. The dialog disappearing and you can interact with the map;
• Click on a corner of the raster file;
• You will see that the transparency table will be automatically filled with the clicked values:
8.2.6 In Conclusion
These are only the basic functions to get you started with raster symbology. QGIS also allows you many other
options, such as symbolizing a layer using paletted/unique values, representing different bands with different
colors in a multispectral image or making an automatic hillshade effect (useful only with DEM raster files).
8.2.7 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.
We are going to use the same DEM layer as in the previous lesson. If you are starting this chapter from scratch
use the Browser panel and load the raster/SRTM/srtm_41_19.tif.
The DEM layer shows you the elevation of the terrain, but it can sometimes seem a little abstract. It contains all
the 3D information about the terrain that you need, but it doesn’t look like a 3D object. To get a better look at
the terrain, it is possible to calculate a hillshade, which is a raster that maps the terrain using light and shadow to
create a 3D-looking image.
We are going to use algorithms of Raster → Raster terrain analysis menu.
1. Click on the Hillshade menu
2. The algorithm allows you to specify where the position of the light source: the Azimuth parameter has values
from 0 (North) through 90 (East), 180 (South) and 270 (West) while the Vertical angle sets how high the
light is. We will leave the default values:
3. Save the file in a new folder raster_analysis within the folder exercise_data with the name
hillshade
4. Finally click on Run
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.
1. Change the symbology of the original srtm_41_19 layer to use the Pseudocolor scheme as in the previous
exercise
2. Hide all the layers except the srtm_41_19 and hillshade layers
3. Click and drag the srtm_41_19 to be beneath the hillshade layer in the Layers panel
4. Set the hillshade layer to be transparent by clicking on the Transparency tab in the layer properties
5. Set the Global opacity to 50%.
You’ll get a result like this:
6. Switch the hillshade layer off and back on in the Layers panel to see the difference it makes.
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.
Remember to save the project when you are done.
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.
To do this, you need to use the Slope algorithm of the Processing → Raster terrain analysis.
1. Open the algorithm
2. Choose srtm_41_19 as the Elevation layer
3. Save the output as a file with the name slope in the same folder as the hillshade
4. Click on Run
Now you’ll see the slope of the terrain, with black pixels being flat terrain and white pixels, steep terrain:
Aspect is the compass direction that the slope of the terrain faces. An aspect of 0 means that the slope is North-
facing, 90 East-facing, 180 South-facing, and 270 West-facing.
Since this study is taking place in the Southern Hemisphere, properties should ideally be built on a north-facing
slope so that they can remain in the sunlight.
Use the Aspect algorithm of the Processing → Raster terrain analysis to get the layer.
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.
QGIS has different raster calculators available:
• Raster → Raster Calculator
3. You have now to set up the raster details, like the cell size, extent and CRS. This can be done manually
by filling or it can be automatically set by choosing a Reference layer. Choose this last option by
clicking on the . . . button next to the Reference layer(s) parameter.
4. In the dialog, choose the aspect layer because we want to obtain a layer with the same resolution.
5. Save the layer as aspect_north.
The dialog should look like:
The output values are 0 or 1. What does it mean? The formula we wrote contains the conditional operator OR:
therefore the final result will be False (0) and True (1).
Ahora que has hecho la orientación, crea dos nuevos análisis de la capa MDE.
• The first will be to identify all areas where the slope is less than or equal to 2 degrees.
• The second is similar, but the slope should be less than or equal to 5 degrees.
• Save them under exercise_data/raster_analysis as slope_lte2.tif and slope_lte5.
tif.
Comprueba tus resultados
Where the conditions of these layers are met, they are equal to 1. Elsewhere, they are equal to 0. Therefore, if
you multiply one of these rasters by another one, you will get the areas where both of them are equal to 1.
Las condiciones a cumplir son; a pendientes iguales o menores de 5 grados, el terreno debe estar orientado al
norte; pero a pendientes iguales o menores de 2 grados, la dirección a la que se orienta el terreno no importa.
Therefore, you need to find areas where the slope is at or below 5 degrees AND the terrain is facing north, OR the
slope is at or below 2 degrees. Such terrain would be suitable for development.
Para calcular las áreas que cumplen esos criterios:
1. Open your Raster calculator again
2. Use the Layer panel, the Operators buttons, and your keyboard to build this expression in the Expressions
text area:
3. Set the Reference layer(s) parameter as the aspect_north (it does not matter if you choose another one
given that all the layers have been calculated from srtm_41_19)
4. Save the output under exercise_data/raster_analysis/ as all_conditions.tif
5. Click Run
Your results:
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.
1. Open the Sieve tool Processing → GDAL → Raster Analysis
2. Set the Input file to all_conditions, and the Sieved to all_conditions_sieve.tif (under
exercise_data/raster_analysis/).
3. Set both the Threshold to 8 and check Use 8-connectedness.
Once processing is done, the new layer will load into the canvas.
¿Qué está pasando? La respuesta se encuentra en los metadatos del nuevo archivo ráster.
4. View the metadata under the Information tab of the Layer Properties dialog. Look the
STATISTICS_MINIMUM value:
Whereas this raster, like the one it’s derived from, should only feature the values 1 and 0 while it has also
a very large negative number. Investigation of the data shows that this number acts as a null value. Since
we’re only after areas that weren’t filtered out, let’s set these null values to zero.
5. Open the Raster Calculator again, and build this expression:
(all_conditions_sieve@1 <= 0) = 0
This will maintain all existing zero values, while also setting the negative numbers to zero; which will leave
all the areas with value 1 intact.
6. Save the output under exercise_data/raster_analysis/ as all_conditions_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.
We use the Raster calculator tool to make some calculation on raster layer. There is another powerful tool that we
can use to better extract information from existing layers.
Back to the aspect layer: we know now that it has numeric values within a range from 0 through 360. What we
want to do is to reclassify this layer with other discrete values (from 1 to 4) depending on the aspect:
• 1 = North (from 0 to 45 and from 315 to 360);
• 2 = East (from 45 to 135)
• 3 = South (from 135 to 225)
• 4 = West (from 225 to 315)
This operation could be achieved with the raster calculator but the formula would become very very large.
The alternative tool is the Reclassify by table tool within Processing → Raster analysis.
1. Open the tool
2. Choose aspect as the Input raster layer
3. Click on the . . . of the Reclassification table parameter. A table like dialog will pop up where you can
choose the minimum, maximum and new values for each class.
4. Click on the Add row button and add 5 rows. Fill each row as the following picture and click OK:
The method used by the algorithm to treat the threshold values of each class is defined by the Range bound-
aries parameter.
5. Save the layer as reclassified in the exercise_data/raster_analysis/ folder
6. Click on Run
If you compare the native aspect layer with the reclassified one, there are not big differences. But giving a look at
the legend you can see that the values go from 1 to 4.
Let’s give this layer a better style.
1. Open the Layer Styling panel
2. Choose Paletted/Unique values instead of Singleband gray
3. Click on the Classify button to automatically fetch the values and assign them random colors:
The output should look like this (you can have different colors given that they have been randomly generated):
With this reclassification and the paletted style applied to the layer you can immediately see the aspect areas. Cool
isn’t it?!
Unlike vectors, raster layers don’t have an attribute table: each pixel contains one or more numerical values,
depending if the raster is singleband or multiband.
All the raster layers we used in this exercise are made by just a single band: depending on the layer, pixel numbers
will represent elevation, aspect or slope values.
How can we query the raster layer to know the value of a single pixel? We can use the button to extract this
information.
1. Select the tool from the upper toolbar
2. Click on a random location of the srtm_41_19 layer. The Identify Results will appear with the value of the
band at the clicked location:
3. You can change the output of the Identify Results panel from the current tree mode to a table one by
selecting Table in the View menu at the bottom of the panel:
Clicking each pixel to get the value of the raster could become annoying after a while. We can use the Value Tool
plugin to solve this problem.
1. Go to Plugins → Manage/Install Plugins. . .
2. In the All tab, type Value Tool in the search box
3. Select the Value Tool plugin, press Install Plugin and then Close the dialog.
Truco: If you close the panel you can reopen it by enabling it in the View → Panels → Value Tool or by
clicking on the new icon of the toolbar.
4. To use the plugin just check the Enable checkbox and be sure that the srtm_41_19 layer is active (checked)
in the Layers panel.
5. Move the cursor on the map to immediately know the value of the pixel
6. But there is more. The Value Tool plugin allows to query all the active raster layers in the Layers panel. Set
the aspect and slope layers active again and hover the mouse on the map:
8.3.11 In Conclusion
You’ve seen how to derive all kinds of analysis products from a DEM. These include hillshade, slope and aspect
calculations. You’ve also seen how to use the raster calculator to further analyze and combine these results. Finally
you learned how to reclassify a layer and how to query the results.
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í:
233
QGIS Training Manual, Versión 3.4
• Change the field name (describing the values of the raster) to suitable.
• Save the layer under exercise_data/residential_development as all_terrain.shp.
Now you have a vector file which contains all the values of the raster, but the only areas you’re interested in are
those that are suitable; i.e., those polygons where the value of suitable is 1. You can change the style of this layer
if you want to have a clearer visualization of it.
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: If you find that the Intersect tool does not produce any results, check the CRS settings of each of your
layers. The CRS must be the same for both the layers you are comparing. You may need to reproject one layer
by saving the layer as a new file with the required CRS. In our example, the suitable_terrain layer was
reprojected to WGS 84 / UTM 34S and named suitable_terrain_34S.shp.
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
Using the print layout, make a new map representing the results of your analysis. Include these layers:
• 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:
1. análisis del MDE para encontrar las pendientes orientadas al este y las pendientes con el gradiente correcto;
2. análisis del ráster de precipitación para encontrar las áreas con cantidad de precipitación correcta;
3. análisis de las zonas de capa vectorial para encontrar áreas que tengan la distancia a enclaves humanos y
sean del tamaño correctos.
1. 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.
2. En esta casilla, navega hasta Sistemas de coordenadas proyectadas → Universal Transverse Mercator
(UTM).
3. Select the entry WGS 84 / UTM zone 33S (with the EPSG code 32733).
4. Click OK. The map is now in the UTM33S coordinate reference system.
5. 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. . . .
6. Save the map in a directory called Rasterprac that you should create somewhere on your computer. You
will save whatever layers you create in this directory as well.
Para procesar los datos, necesitarás cargar las capas necesarias (nombres de calles, zonas, precipitación, MDE) en
la vista del mapa.
For vectors. . .
For rasters. . .
1. In the Layers panel, click and drag layers up and down to change the order they appear in on the map.
2. Newer versions of QGIS may have a Control rendering order checkbox beneath the Layers panel. Ensure
that it is checked.
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.
"NAME_2" = 'Cape'
3. Add another OR operator, then work your way through the list of districts above in a similar fashion.
La consulta final debería ser
4. 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.
1. Asegúrate de que las únicas capas visibles son las de MDE, Rainfall y Districts.
2. Los Districts deben estar en primer lugar para ser visibles.
3. Abre el cuadro de diálogo para recortar seleccionando el elemento del menú Ráster → Extracción → Clip-
per.
4. En la lista del menú desplegable Archivo de entrada (ráster), selecciona la capa MDE.
5. Especifica una localización de salida en el campo de texto Archivo de salida clicando en el botón Selec-
cionar. . . .
6. Navigate to your Rasterprac directory.
7. Introduce un nombre de archivo.
8. Guarda el archivo. Deja la casilla de verificación Valor de sin datos vacía.
9. Utiliza el modo de corte Extensión asegurándote que el botón radial correcto está seleccionado.
10. Haz clic y arrastra un área en el mapa, de modo que el área que incluye los distritos esté seleccionada.
11. Check the Open output file after running algorithm box.
12. Click Run.
13. 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)
14. Selecciona el ráster Precipitación en el menú desplegable Archivo de entrada (ráster) y elige un nombre de
archivo de salida diferente.
15. Do not change any other options. Do not alter the existing clipping area which you drew previously. Leave
everything the same and click Run.
16. Después de que la segunda operación de corte haya terminado, puedes cerrar el cuadro de diálogo Clipper.
17. Guarda el mapa.
1. Remove the original Rainfall and DEM layers from the Layers panel:
2. Haz clic derecho en esas capas y selecciona Eliminar.
Nota: Esto no borrará los datos de tu dispositivo de almacenamiento, solamente lo quitará de tu mapa.
1. In the Layers panel, ensure that the DEM is the active layer (i.e., it is highlighted by having been clicked
on).
2. Click on the Raster → Analysis → Hillshade menu item to open the Hillshade dialog.
3. Especifica una localización apropiada para la capa de salida y nómbrala hillshade.
4. Check the Open output file after running algorithm box.
5. Click Run.
6. Espera a que termine de procesar.
La nueva capa hillshade a aparecido en tu Lista de capas.
1. Haz clic derecho en la capa hillshade en tu Lista de capas y abre el cuadro de diálogo Propiedades.
2. Click on the Transparency tab and set the transparency slider to 80%.
3. Click Run on the dialog.
4. Observa el efecto cuando el sombreado de relieve transparente se sobre impone sobre el MDE recortado.
9.4.12 Pendiente
3. Donde dice Unibanda gris (en el menú desplegable Tipo de renderizador), cámbialo a Unibanda pseudo-
color.
4. Asegúrate de que el botón radial Media +/- desviación estándard está seleccionado.
9.4.13 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.
2. Find the correct rainfall (greater than 1200mm) the same way. Build the following expression:
Having reclassified all the rasters, you will now see them displayed as gray rectangles in your map (assuming
that they have been added to the map correctly). To properly display raster data with only two classes (1 and 0,
meaning true or false), you will need to change their symbology.
The only criterion that remains is that the area must be 250m away from urban areas. We will satisfy this require-
ment by ensuring that the areas we compute are 250m or more from the edge of a rural area. Hence, we need to
find all rural areas first.
"Gen_Zoning" = 'Rural'
Mira antes las instrucciones para construir la consulta ara la capa Streets si te quedas atascado.
5. 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.
1. En el menú de clic derecho en Zoning, selecciona Guardar como. . . .
2. Guarda tu capa en el directorio Zoning.
3. Name the output file rural.shp.
4. Haz clic en Aceptar.
5. Añade la capa a tu mapa.
6. Haz clic en el elemento del menú Vectorial → Herramientas de geoproceso → Disolver.
7. Selecciona la capa rural como tu capa vectorial de entrada, mientras dejas la casilla Usar sólo objetos
espaciales seleccionados sin marcar.
8. Leave empty the Dissolve field(s) option to combine all selected features in a single one.
9. Guarda tu capa en el directorio Zoning.
10. Check the Open output file after running algorithm box.
11. Click Run.
12. Cierra el cuadro de diálogo Disolver.
13. Borra las capas rural y Zoning.
14. Guarda el mapa.
Now you need to exclude the areas that are within 250m from the edge of the rural areas. Do this by creating a
negative buffer, as explained below.
1. Asegúrate de que solo son visibles las capas bbox y rural_buffer, con el último por encima.
2. Haz clic en el elemento del menú Vectorial → Herramientas de geoproceso > Cortar.
3. 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.
4. Pon el archivo de salida en el directorio Zoning.
5. Name the output file rural_clipped.
6. Haz clic en Aceptar.
7. Cuando se requiera añadir la capa al TDC, haz clic en Sí.
8. Cierra el cuadro de diálogo.
9. Compara los tres vectores y ve los resultados por ti mismo.
10. 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.
1. Abre el cuadro de diálogo Propiedades de cualquiera de los tres ráster existentes.
2. Cambia a la pestaña Metadatos.
3. Make a note of the :guilabel:‘X and Y values under the heading Dimensions in the Metadata table.
4. Cierra el cuadro de diálogo Propiedades.
5. 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.
6. Selecciona rural_clipped como tu capa de entrada.
7. Ajusta la localización de archivo de salida dentro del directorio Zoning.
8. Name the output file rural_raster.tif.
9. Check the New size box and enter the X and Y values you made a note of earlier.
10. Marca la casilla Cargar en la vista del mapa cuando se termine.
11. Click the pencil icon next to the text field which shows the command that will be run. At the end of the
existing text, add a space and then the text -burn 1. This tells the Rasterize function to «burn» the existing
vector into the new raster and give the areas covered by the vector the new value of 1 (as opposed to the rest
of the image, which will automatically be 0).
12. Haz clic en Aceptar.
13. El nuevo ráster se debería mostrar en tu mapa una vez se ha computado.
14. El nuevo ráster se verá como un rectángulo gris - puedes cambiar el estilo de la presentación como hiciste
para reclasificar ráster.
15. Guarda tu mapa.
Now that you have all four criteria each in a separate raster, you need to combine them to see which areas satisfy
all the criteria. To do so, the rasters will be multiplied with each other. When this happens, all overlapping pixels
with a value of 1 will retain the value of 1, but if a pixel has the value of 0 in any of the four rasters, then it will
be 0 in the result. In this way, the result will contain only the overlapping areas.
"DN" = 1
4. Haz clic en el botón Abrir calculadora de campos en la parte inferior de la tabla, o pulsa Ctrl+M.
5. Under the New field heading in the dialog that appears, enter the field name area. The output field type
should be an integer, and the field width should be 10.
6. En tipo Expresión de la calculadora de campos:
$area
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.
7. Haz clic en Aceptar.
8. 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.
9. Haz clic de nuevo en Conmutar el modo edición, y guarda tus ediciones si es requerido.
1. Crea una nueva capa vectorial como antes, pero esta vez, selecciona el valor Tipo como Punto.
2. ¡Asegúrate de que es el SRC correcto!
3. Name the new layer house.shp.
4. Acaba de crear la nueva capa.
5. Entra en el modo de edición (mientras la capa nueva está seleccionada).
6. 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.
7. Introduce un número arbitrario para la forma ID.
8. Haz clic en Aceptar.
9. Guarda tu edición y sal del modo de edición.
10. Guarda el mapa.
Necesitarás encontrar los centroides («centros de masa») para los polígonos solución para decidir cual está más
cerca de tu casa.
5. Check Open output file after running algorithm to add the result to the TOC (Layers panel).
6. Click Run and close the dialog.
7. 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:
251
QGIS Training Manual, Versión 3.4
• Click in the box next to this plugin and uncheck it to deactivate it.
• Haz clic en Cerrar.
• Looking at the menu, you will notice that the Processing menu is is now gone. This means that many of
the processing functions you have been using before have disappeared! This is because they are part of the
Processing plugin, which needs to be activated to use them.
• 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.
Nota: if the plugin has some error it will be listed in the Invalid tab. You can then contact the plugin owner to fix
the problem.
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.
The QuickMapServices plugin is a simple and easy to use plugin that adds base maps to your QGIS project. It has
many different options and settings, let’s start to explore some of its features.
1. Start a new map and add the roads layer from the training_data Geopackage.
2. Install the QuickMapServices plugin.
3. Open the plugin’s search tab by clicking on Web → QuickMapServices → Search QMS. This option of the
plugin allows you to filter the available base maps by the current extent of the map canvas.
4. Click on the Filter by extent and you should see one service available.
5. Click on the Add button next to the map to load it.
6. The base map will be loaded and you will have a satellite background for the map.
2. Click again on Web → QuickMapServices. The first menu lists different map providers with available maps:
With an incredible simple interface, the QuickOSM plugin allows you to download OpenStreetMap data.
1. Start a new empty project and add the roads layer from the training_data GeoPackage.
2. Install the QuickOSM plugin. The plugin adds two new buttons in the QGIS Toolbar and is accessible in
the Vector → QuickOSM menu.
3. Open the QuickOSM dialog. The plugin has many different tabs: we will use the Quick Query one.
4. You can download specific features by selecting a generic Key or be more specific and choose a specific Key
and Value pair.
Truco: if you are not familiar with the Key and Value system, click on the Help with key/value button. It
will open a web page with a complete description of this concept of OpenStreetMap.
5. Look for railway in the Key menu and let the Value be empty: so we are downloading all the railway features
without specifying any values.
6. Select Layer Extent in the next drop-down menu and choose roads.
7. Click on the Run query button.
After some seconds the plugin will download all the features tagged in OpenStreetMap as railway and load
them directly into the map.
Nothing more! All the layers are loaded in the legend and are shown in the map canvas.
Advertencia: QuickOSM creates temporary layer when downloading the data. If you want to save them
permanently, click on the icon next to the layer and choose the options you prefer. Alternatively you can
open the Advanced menu in QuickOSM and choose where to save the data in the Directory menu.
The quickest way to download data from QuickOSM plugin is using the Quick query tab and set some small
parameters. But if you need some more specific data?
If you are an OpenStreetMap query master you can use QuickOSM plugin also with your personal queries.
QuickOSM has an incredible data parser that, together with the amazing query engine of Overpass, lets you
download data with your specific needs.
For example: we want to download the mountain peaks that belongs into a specific mountain area known as
Dolomites.
You cannot achieve this task with the Quick query tab, you have to be more specific and write your own query.
Let’s try to do this.
1. Start a new project.
2. Open the QuickOSM plugin and click on the Query tab.
3. Copy and paste the following code into the query canvas:
<!--
This shows all mountains (peaks) in the Dolomites.
You may want to use the "zoom onto data" button. =>
-->
<osm-script output="json">
<!-- search the area of the Dolomites -->
<query type="area">
<has-kv k="place" v="region"/>
<has-kv k="region:type" v="mountain_area"/>
<has-kv k="name:en" v="Dolomites"/>
</query>
<print mode="body" order="quadtile"/>
<!-- get all peaks in the area -->
<query type="node">
<area-query/>
<has-kv k="natural" v="peak"/>
</query>
<print mode="body" order="quadtile"/>
<!-- additionally, show the outline of the area -->
<query type="relation">
<has-kv k="place" v="region"/>
<has-kv k="region:type" v="mountain_area"/>
<has-kv k="name:en" v="Dolomites"/>
</query>
<print mode="body" order="quadtile"/>
<recurse type="down"/>
<print mode="skeleton" order="quadtile"/>
</osm-script>
Nota: This query is written in a xml like language. If you are more used to the Overpass QL you can
write the query in this language.
You can write complex queries using the Overpass Query language. Take a look at some example and try to
explore the query language.
The DataPlotly plugin allows you to create D3 plots of vector attributes data thanks to the plotly library.
1. Start a new project
2. If you want you can change the colors, the marker type, the transparency and many other settings: try to
change some parameters to create the plot below.
3. Once you have set all the parameters, click on the Create Plot button to create the plot.
The plot is interactive: this means you can use all the upper buttons to resize, move, or zoom in/out the plot
canvas. Moreover, each element of the plot is interactive: by clicking or selecting one or more point on the plot,
the corresponding point(s) will be selected in the plot canvas.
You can save the plot as a png static image or as an html file by clicking on the or on the button in the
lower right corner of the plot.
There is more. Sometimes it can be useful to have two (or more) plots showing different plot types with different
variables on the same page. Let’s do this!
1. Go back to the main plot settings tab by clicking on the button in the upper left corner of the plugin
panel
2. Change the Plot Type to Box Plot
5. Once done click on the Create Plot button to draw the plot
Now both scatter plot and box plot are shown in the same plot page. You still have the chance to click on each plot
item and select the corresponding features in the map canvas.
Truco: Each plot has its own manual page available in the tab. Try to explore all the plot types and see all
the other settings available.
10.2.5 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, Versión 3.4
• 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.
You’ll need a WMS address to continue. There are several free WMS servers available on the Internet. One of
these is terrestris, which makes use of the OpenStreetMap dataset.
• 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.
• Add the «OGC» WMS server at this 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
• OpenStreetMap.org list of WMS servers
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 you
can also follow it for any Debian based distribution like Ubuntu and its derivatives.
Nota: In Ubuntu you can use your regular user, prepending sudo to commands requiring admin permissions. In
Debian you can work as admin (root), without using sudo.
In this lesson we’re going to do only the install from packages as shown here .
instalar QGIS Server con:
apt-get install qgis-server
# if you want to install server plugins, also:
apt-get install python-qgis
QGIS Server should be used in production without QGIS Desktop (with the accompagning X Server) installed on
the same machine.
The QGIS Server executable is qgis_mapserv.fcgi. You can check where it has been installed by running
find / -name 'qgis_mapserv.fcgi' which should output something like /usr/lib/cgi-bin/
qgis_mapserv.fcgi.
285
QGIS Training Manual, Versión 3.4
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:
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
</ServiceExceptionReport>
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.
You can run QGIS server on your default website, or configure a virtualhost specifically for this, as follows.
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
# See https://docs.qgis.org/testing/en/docs/user_manual/working_with_vector/
˓→ supported_data.html#pg-service-file
SetEnv PGSERVICEFILE /home/qgis/.pg_service.conf
FcgidInitialEnv PGPASSFILE "/home/qgis/.pgpass"
<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 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:
mkdir /var/log/qgis/
chown www-data:www-data /var/log/qgis
mkdir /home/qgis/qgisserverdb
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:
a2enmod fcgid
a2ensite qgis.demo
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
sh -c \
"echo \
'[Unit]
Description=X Virtual Frame Buffer Service
After=network.target
[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 https:
//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 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>
http://qgis.demo/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
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: sh -c "echo '127.0.0.1 myhost' >> /etc/hosts"
or by manually editing the file with 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:
• 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/
apache2/sites-available directory that has the same content as 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 a2ensite myhost.conf and then reload the Apache service
with service apache2 reload.
• 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 Training demo data and unzip the files in the qgis-server-tutorial-data subdirec-
tory 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
&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
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
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:
• 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/jpeg
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 OPACITIES,
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/jpeg
&LAYERS=countries,countries_shapeburst
&STYLES=classified_by_name,default
&OPACITIES=255,30
&FILTER=countries:"name" IN ( 'Germany' , 'Italy' )
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
Figure 12.4: Response to a GetMap request with FILTER and OPACITIES parameters
&HEIGHT=551
&LAYERS=countries,countries_shapeburst
&FORMAT=image/jpeg
&HIGHLIGHT_GEOM=POLYGON((590000 6900000, 590000 7363000, 2500000 7363000, 2500000
˓→6900000, 590000 6900000))
&HIGHLIGHT_SYMBOL=<StyledLayerDescriptor><UserStyle><Name>Highlight</Name>
˓→<FeatureTypeStyle><Rule><Name>Symbol</Name><LineSymbolizer><Stroke><SvgParameter
˓→name="stroke">%233a093a</SvgParameter><SvgParameter name="stroke-opacity">1</
˓→SvgParameter><SvgParameter name="stroke-width">1.6</SvgParameter></Stroke></
˓→LineSymbolizer></Rule></FeatureTypeStyle></UserStyle></StyledLayerDescriptor>
&HIGHLIGHT_LABELSTRING=QGIS Tutorial
&HIGHLIGHT_LABELSIZE=30
&HIGHLIGHT_LABELCOLOR=%23000000
&HIGHLIGHT_LABELBUFFERCOLOR=%23FFFFFF
&HIGHLIGHT_LABELBUFFERSIZE=3
&SELECTION=countries:171,65
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 layouts. 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 layout 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
• Make a symbolic link to the /var/www/html directory as it’s the DocumentRoot that we’ve setup
in the virtual host configuration. If you unzipped the archive under /home/qgis/Downloads/
QGIS-Web-Client-master we can do that with sudo ln -s /home/qgis/Downloads/
QGIS-Web-Client-master /var/www/html/.
• Access http://qgisplatform.demo/QGIS-Web-Client-master/site/qgiswebclient.html?map=/home/qgis/
projects/world.qgs from your Web browser.
Now you should be able to see the Map as in the following figure:
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.
Using GRASS in QGIS requires you to think of the interface in a slightly different way. Remember that you’re not
working in QGIS directly, but working in GRASS via QGIS. Hence, make sure you have installed QGIS Desktop
with Grass support.
El objetivo de esta lección: Comenzar un proyecto GRASS en QGIS.
To launch GRASS from within QGIS, you need to activate it as with any other plugin
1. First, open a new QGIS project.
2. En el Adiministrador de Complementos, activa GRASS en la lista:
299
QGIS Training Manual, Versión 3.4
The GRASS panel is not active because, before you can use GRASS, you need to create a Mapset. GRASS
always works in a database environment, which means that you need to import all the data you want to use into a
GRASS database.
The GRASS database has a straightforward structure, even if at a first look it seems very complicated. The most
important thing you should know is that the upper level of the database is the Location. Each Location
can contain different Mapset: in every Mapset you will find the PERMANENT Mapset because it is created by
default by GRASS. Each Mapset contains the data (raster, vector, etc) in a particular structure, but don’t worry,
GRASS will take care of this for you.
Just remember: Location contains Mapset that contains the data. For more information visit the GRASS
website.
Nota: the Region is extremely important for GRASS because it describes the area in which all layers will be
taken into account for GRASS. Everything that is outside will not be considered. Don’t worry, you can always
change the extent of the GRASS Region after the Location has been created
Once you’re done, you’ll see a dialog asking with a summary of all the information entered.
8. Clic Terminar.
9. Haz clic en Aceptar en el diálogo de éxito.
You will see that the GRASS Panel will become active and you can start to use all GRASS tools.
You have now a blank map and before you can start to use all the GRASS tools you have to load data into the
GRASS database, specifically into the Mapset. You cannot use GRASS tools with layer that are not loaded into
a GRASS Mapset.
There are many different ways to load data in the GRASS database. Let’s start with the first one.
In section El panel de exploración we saw that the easiest and quickest way to load the data in QGIS is the
Browser Panel.
GRASS data are recognized from the QGIS Browser as real GRASS data and you can notice it because you will
see the GRASS icon next to the GRASS Mapset. Moreover you will see the icon next to the Mapset that is
opened.
Nota: You will see a replication of the GRASS Location as normal folder: GRASS Mapset data are those
within the folder
You can easily drag and drop layers from a folder to the GRASS Mapset.
Let’s try to import the roads.shp layer into the grass_mapset Mapset of the SouthAfrica Location.
Open the shapefile/ folder and simply drag the roads.shp layer into the grass_mapset Mapset.
That’s it! If you expand the Mapset you will see the imported roads layer. You can now load in QGIS the
imported layer like all the other layers.
Truco: You can also load layers from the Layer Legend Panel to Mapset in the Browser Panel. This will speed
up incredibly your workflow!
We will use now the long method to load the rivers.shp layer into the same Mapset.
1. Load data into QGIS as usual. Use the rivers.shp dataset (found in the exercise_data/
shapefile/ folder)
2. As soon as it is loaded, click on the Filter box of the GRASS Panel and find the vector import tool by
entering the term v.in.ogr.qgis:
The v stands for vector, in means a function to import data into the GRASS database, ogr is the software
library used to read vector data, and qgis means that the tool will look for a vector from among the vectors
already loaded into QGIS.
3. Once you’ve found this tool, click on it to bring up the tool itself. Choose the rivers layer in the Loaded
Layer box and type and name it g_rivers to prevent confusion:
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.
You can import a raster layer in the same ways we imported vector layers.
We are going to import in the GRASS Mapset the layer srtm_41_19_4326.tif.
Nota: the raster layer is already in the correct CRS, WGS 84. If you have layers in different CRS you must
reproject them in the same CRS of the GRASS Mapset
Try to import in the GRASS Mapset the vector layers water.shp and places.shp from the
exercise_data/shapefile/ folder. As we did for rivers rename the imported layer as g_water and
g_places to avoid confusion
Check your results
If you have an existing GRASS Mapset you can easily reopen it in another session of QGIS.
You have several method to open a GRASS Mapset, let’s explore some of them.
Let’s close the Mapset by clicking on the Close Mapset button of the GRASS Tools window.
1. Click on the Plugins –> GRASS –> Open Mapset menu next to the Plugins –> GRASS –> New Mapset
menu that we saw in the previous section.
2. Browse to the GRASS database folder: be careful! You must choose the parent folder, not the GRASS
Mapset one. Indeed GRASS will read all the Locations of the database and all the Mapsets of each
Location:
3. Choose the Location SouthAfrica and the Mapset grass_mapset that we have created before.
That’s it! The GRASS Panel will become active meaning that the Mapset has been correctly opened.
Even faster and easier is opening a Mapset using the QGIS Browser:
1. Close the Mapset (if it is open) by clicking on the Close Mapset button of the GRASS Tools window.
2. In the QGIS Browser, browse to the folder of the GRASS database.
3. Right click on the Mapset (remember, the Mapset has the GRASS icon next to it). You will see some
options.
4. Click on Open mapset:
Truco: Right click on a GRASS Mapset offers you a lot of different settings. Try to explore them and see all the
useful options.
13.1.7 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.
5. When the process is finished click on View Output to load the resulting layer in the canvas:
The g_aspect layer is stored within the grass_mapset Mapset so you can remove the layer from the canvas and
reload it whenever you want.
5. Within the Output tab you will see some raster information printed, like the path of the file, the number of
rows and columns and other useful information:
Reclassifying a raster layer is a very useful task. We just created the g_aspect layer from the g_dem one.
The value range gets from 0 (North) passing through 90 (East), 180 (South), 270 (West) and finally to 360 (North
again). We can reclassify the g_aspect layer to have just 4 categories following specific rules (North = 1, East
= 2, South = 3 and West = 4).
Grass reclassify tool accepts a txt file with the defined rules. Writing the rules is very simple and the GRASS
Manual contains very good description.
Truco: Each GRASS tool has its own Manual tab. Take the time to read the description of the tool you are using
to don’t miss some useful parameters
1. Load the g_aspect layer or, if you don’t have create it, go back to the Follow Along: Create an aspect
map section.
2. Look for the r.reclass module by searching for it in the Filter field of the Modules List tab
3. Open the tool and set it up like the following picture. The file containing the rules is in the
exercise_data/grass/ folder, named reclass_aspect.txt.
4. Click on Run and wait until the process is finished:
Truco: Open the reclass_aspect.txt with a text editor to see the rules and to start becoming used to them.
Moreover, take a deep look at the GRASS manual: a lot of different examples are pointed out.
The Mapcalc tools is similar to the Raster Calculator of QGIS. You can perform mathematical operation on one
or more raster layers and the final result will be a new layer with the calculated values.
The aim of the next exercise is to extract the values greater than 1000 from the g_dem raster layer.
1. Look for the r.mapcalc module by searching for it in the Filter field of the Modules List tab.
2. Inicie la herramienta.
The Mapcalc dialog allows you to construct a sequence of analyses to be performed on a raster, or collection
of rasters. You will use these tools to do so:
En orden son:
• Add map: Add a raster file from your current GRASS mapset.
• Add constant value: Add a constant value to be used in functions, 1000 in this case
• Add operator or function: Add an operator or function to be connected to inputs and outputs, we will
use the operator greater equals than
• Add connection: Connect elements. Using this tool, click and drag from the red dot on one item to the
red dot on another item. Dots that are correctly connected to a connector line will turn gray. If the line
or dot is red, it is not properly connected!
• Select item: Select an item and move selected items.
• Delete selected item: Removes the selected item from the current mapcalc sheet, but not from the
mapset (if it is an existing raster)
• Open: Open an existing file with the operation defined
• Save: Save all the operation in a file
• Save as: Save all the operations as a new file on the disk.
3. Using these tools, construct the following algorithm:
4. Click on Run and then on View output to see the output displayed in your map:
This shows all the areas where the terrain is higher than 1000 meters.
Truco: You can also save the formula you have created and load it in another QGIS project by clicking on the
last button on the GRASS Mapcalc toolbar.
13.2.6 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».
329
QGIS Training Manual, Versión 3.4
• 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.
• Además, las calles deberían estar clasificadas. Cuando uses símbolos realísticos de calles, cada tipo de calle
deberia tener un símbolo apropiado; por ejemplo, una autopista debería tener dos carriles en cada dirección.
• 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.
• Use the Print Layout to create a final map, which incorporates your analysis results.
• 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: The sample data used in this module is part of the training manual data set and can be downloaded here.
Download the zip file and extract the forestry\ folder into your exercise_data\ folder.
The forestry related sample data (forestry map, forest data), has been provided by the EVO-HAMK forestry school.
The datasets have been modified to adapt to the lessons needs.
333
QGIS Training Manual, Versión 3.4
The general sample data (aerial images, LiDAR data, basic maps) has been obtained from the National Land
Survey of Finland open data service, and adapted for the purposes of the exercises. The open data file download
service can be accessed in English here.
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.
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
Open QGIS and set the project’s CRS to ETRS89 / ETRS-TM35FIN in Project → Properties → CRS, which
is the currently used CRS in Finland. Make sure that Enable “on the fly” CRS transformation is checked, since
we will be working with old data that is another CRS.
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.
In the next lesson, you will digitize the forest stands in your map as polygons and add the inventory data to them.
Unless you are going to use your georeferenced map as a simple background image, the next natural step is to
digitize elements from it. You have already done so in the exercises about creating vector data in Lesson: Creando
un Nuevo Conjunto de Datos Vectoriales, when you digitized the school fields. In this lesson, you are going to
digitize the forest stands” borders that appear in the map as green lines but instead of doing it using an aerial
image, you will use your georeferenced map.
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:
• Activate the snapping for the green_centroids and the forest_stands layers.
• Ajusta su Tolerance a 5 unidades de mapa.
• Activa la caja Avoid Int. para la capa forest_stands.
• Activa Enable topological editing.
• Haz clic en Apply.
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.
• Click OK, your new polygon should show a common border with the stand 357 as you can see in the image
on the right.
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.
You will digitize new forest stands from scratch following an aerial photo from that forest area. The forestry map
you digitized in the previous lesson was created from an aerial Color Infrared (CIR) photograph. This type of
imagery, where the infrared light is recorded instead of the blue light, are widely used to study vegetated areas.
You will also use a CIR photograph in this lesson.
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
The National Land Survey of Finland has an open data policy that allows you downloading a variety of geograph-
ical data like aerial imagery, traditional topographic maps, DEM, LiDAR data, etc. The service can be accessed
also in English here. The aerial image used in this exercise has been created from two orthorectified CIR images
downloaded from that service (M4134F_21062012 and M4143E_21062012).
• Open QGIS and set the project’s CRS to ETRS89 / ETRS-TM35FIN in Project → Properties. . . → CRS.
• Asegúrate que Enable “on the fly” CRS transformation está activado.
• From the exercise_data\forestry\ folder, add the CIR image rautjarvi_aerial.tif that
is containing the digitized lakes.
• Then save the QGIS project as 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 detal-
lado, 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.
The most common way to find out about a forest is by sampling it, that is, taking measurements in different
locations at the forest and generalizing that information to the whole forest. These measurements are often made
in sample plots that are smaller forest areas that can be easily measured. The sample plots can be of any size
(for ex. 50 m2, 0.5 ha) and form (for ex. circular, rectangular, variable size), and can be located in the forest in
different ways (for ex. randomly, systematically, along lines). The size, form and location of the sample plots are
usually decided following statistical, economical and practical considerations. If you have no forestry knowledge,
you might be interested in reading this Wikipedia article.
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.
The field teams will be probably using a GPS device to locate the sample plots you planned. The next step is
to export the points you created to a format that your GPS can read. QGIS allows you to save your point and
line vector data in GPS eXchange Format (GPX)<https://en.wikipedia.org/wiki/GPS_Exchange_Format>, which
is an standard GPS data format that can be read by most of the specialized software. You need to be careful with
selecting the CRS when you save your data:
• Haz clic derecho en systematic_plots_clip y selecciona Save as.
• En Format selecciona GPS eXchange Format [GPX].
Nota: The GPX format accepts only this CRS, if you select a different one, QGIS will give no error but you will
get an empty file.
The inventory sample plots are now in a standard format that can be managed by most of the GPS software. The
field teams can now upload the locations of the sample plots to their devices. That would be done by using the
specific devices own software and the plots_wgs84.gpx file you just saved. Other option would be to use the
GPS Tools plugin but it would most likely involve setting the tool to work with your specific GPS device. If you
are working with your own data and want to see how the tool works you can find out information about it in the
section working_gps in the 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.
To create a printable map, remember that you use the Layout Manager:
• Open Project → Layout Manager. . . .
• In the Layout manager dialog.
• Click the Add button and name your print layout 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:
• Open menuselection:Layout –> Page Setup. . . .
• Size es A4 (217 x 297 mm).
• Orientation es Landscape.
• Margins (millimeters) are all set to 5.
In the Print Layout window, go to the Composition tab (on the right panel) and make sure that these settings for
Paper and quality are the same you defined for the printer:
• Size: A4 (210x297mm).
• Orientation: Landscape.
• Quality: 300dpi.
Composing a map is easier if you make use of the canvas grid to position the different elements. Review the
settings for the layout grid:
• 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.
• Notice that options for using guides are checked by default, which allows you to see red guiding lines when
you are moving elements in the layout.
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.
Leave the layout open but go back to the map. Lets add some background data and create some styling so that the
map content is as clear as possible.
• Add the background raster basic_map.tif that you can find in the exercise_data\forestry\
folder.
• 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.
The current styling of the sample plots is not the best, but how does it look in the print layout?:
While during the last exercises, the white buffer was OK on top of the aerial image, now that the background
image is mostly white you barely can see the labels. You can also check how it looks like on the layout:
• Go to the Print Layout window.
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.
Go back to the Print Layout window often to see what the map would look like. For the purposes of creating
detailed maps, you are looking for a symbology that looks good not at the scale of the whole forest area (left
image below) but at a closer scale (right image below). Remember to use Update preview and Set to map canvas
extent whenever you change the zoom in your map or the layout.
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.
Notice that your overview map is not really giving an overview of the forest area which is what you want. You
want this map to represent the whole forest area and you want it to show only the background map and the
forest_stands_2012 layer, and not display the sample plots. And also you want to lock its view so it does
not change anymore whenever you change the visibility or order of the layers.
• Go back to the map, but don’t close the Print Layout.
• 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.
• Go back to the Print Layout.
• 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.
• Go back to the Print Layout window.
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:
That tells the Atlas tool to use the features (polygons) inside atlas_coverage as the focus for every detail
map. It will output one map for every feature in the layer. The Hidden coverage layer tells the Atlas to not show
the polygons in the output maps.
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.
You can go back to the Print Layout and check that the previews of the Atlas use only the polygons you left in the
layer.
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:
• Go back to the Print Layout.
• 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.
• Open Layout → 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:
In the Print Layout, save your map as a layout template as forestry_atlas.qpt in your
exercise_data\forestry\map_creation\ folder. Use Layout → Save as Template. You will be able
to use this template again and again.
Close the Print Layout and save your QGIS project.
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.
Most often the information will be collected into paper forms in the field, then typed to a spreadsheet. The sample
plots information has been condensed into a .csv file that can be easily open in QGIS.
Continue with the QGIS project from the lesson about designing the inventory, you probably named it
forest_inventory.qgs.
Primero, añade las medidas de las parcelas de muestreo a tu proyecto QGIS:
You can calculate the averages for this whole forest area from the inventory results for the some interesting
parameters, like the volume and the number of stems per hectare. Since the systematic sample plots represent
equal areas, you can directly calculate the averages of the volumes and number of stems per hectare from the
sample_plots_results layer.
Puedes calcular la media de un campo en la capa vectorial utilizando la herramienta Basic statistics:
1. Open Vector → Analysis Tools → Basic statistics for Fields.
2. Select sample_plots_results as the Input Vector Layer.
3. Select Vol as Target field.
4. Haz clic en OK.
The average volume in the forest is 135.2 m3/ha.
You can calculate the average for the number of stems in the same way, 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:
1. Abre la herramienta Vector → Data Management → Join attributes by location.
2. Set forest_stands_2012 as the Target vector layer. The layer you want the results for.
3. Set sample_plots_results as the Join vector layer. The layer you want to calculate estimates from.
4. Activa Take summary of intersecting features.
5. Activa solo el cálculo de Mean.
6. Name the result as forest_stands_2012_results.shp and save it in the exercise_data/
forestry/results/ folder.
7. Finalmente selecciona Keep all records. . . , así luego podrás comprobar las masas que no obtuvieron infor-
mación.
8. Haz clic en OK.
9. Acepta añadir la nueva capa a tu proyecto cuando se requiera.
10. Cierra la herramienta Join attributes by location.
Open the Attribute table for forest_stands_2012_results and review the results you got. Note that a number of
forest stands have NULL as the value for the calculations, those are the ones having no sample plots. Select them
all and view them in the map, they are some of the smaller stands:
Lets calculate now the same averages for the whole forest as you did before, only this time you will use the
averages you got for the stands as the bases for the calculation. Remember that in the previous situation, each
sample plot represented a theoretical stand of 80x80 m. Now you have to consider the area of each of the stands
individually instead. That way, again, the average values of the parameters that are in, for example, m3/ha for the
volumes are converted to total volumes for the stands.
Necesitas calcular primero las áreas para las masas y luego calcular volúmenes totales y número de pies para cada
una de ellas:
1. En la Tabla de atributos habilitar la edición.
2. Abre el Field calculator.
3. Create a new field called area.
As you can see, the total sum of the stands” areas is 66.04 ha. Note that the area of the missing forest stands is
only about 7 ha.
In the same way, you can calculate that the total volume for these stands is 8908 m3/ha and the total number of
stems is 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.
Save your QGIS project, 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.
Managing LiDAR data within QGIS is possible using the Processing framework and the algorithms provided by
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.
• At Input LAS/LAZ file, browse to exercise_data\forestry\lidar\ and select the
rautjarvi_lidar.laz file.
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: If you want to know further details on how the LAStools work, you can read the README text files
about each of the tools, in the C:\lastools\bin\ folder. Tutorials and other materials are available at the
Rapidlasso webpage.
• The output file is saved to the same folder where the rautjarvi_lidar.laz is located and it is named
rautjarvi_lidar_1.las.
Puedes abrirlo con lasview si quieres comprobarlo.
The brown points are the points classified as ground and the gray ones are the rest, you can click the letter g to
visualize only the ground points or the letter u to see only the unclassified points. Click the letter a to see all
the points again. Check the lasview_README.txt file for more commands. If you are interested, also this
tutorial about editing LiDAR points manually will show you different operations within the viewer.
• 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.
For visualization purposes, a hillshade generated from a DEM gives a better visualization of the terrain:
• Abre Raster → Terrain analysis → Hillshade.
• As the Output layer, browse to exercise_data\forestry\lidar\ and name the file hillshade.
tif.
• Deja el resto de parámetros con los ajustes por defecto.
15.8.4 In Conclusion
Using LiDAR data to get a DEM, specially in forested areas, gives good results with not much effort. You could
also use ready LiDAR derived DEMs or other sources like the SRTM 9m resolution DEMs. Either way, you can
use them to create a hillshade raster to use in your map presentations.
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
vista, sin mirar números específicos.
El objetivo de esta lección: Crear un mapa para presentar los resultados de inventario utilizando un ráster de
sombreado de relieve como fondo.
is using the Hard light mode for the Layer blending mode. Note that the different modes apply different filters
combining the underlying and overlying layers, in this case the hillshade raster and your forest stands are used.
You can read about these modes in the 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 Using a Layout Template to Create the Map result
Use a template prepared in advanced to present the results. The template forest_map.qpt is located in the
exercise_data\forestry\results\ folder. Load it using the Project → Layout Manager. . . dialog.
Open the print layout and edit the final map to get a result you are happy with.
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
409
QGIS Training Manual, Versión 3.4
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
(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.
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”:
Resultado:
id | name | age
---+-------+-----
1 | Tim | 20
2 | Horst | 88
4 | | 40 <-- null for name
(3 rows)
There are many more datatypes you can use - check the PostgreSQL manual!
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.
You can read more about database normalisation here
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:
Table "public.people"
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:
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:
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:
id | name
----+--------------
1 | Plein Street
(1 row)
y:
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: Although outside the scope of this document, Mac users can install PostgreSQL using Homebrew. Win-
dows users can use the graphical installer. Please note that the documentation will assume users are running QGIS
under Ubuntu.
En Ubuntu:
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
createuser -d -E -i -l -P -r -s qgis
Ingrese la contraseña cuando se pida. Debería usar una contraseña diferente a la contraseña de acceso.
¿Qué significan estas opciones?
Now you should leave the postgres user’s bash shell environment by typing:
exit
psql -l
Type Q to exit.
The createdb command is used to create a new database. It should be run from the bash shell prompt:
You can verify the existence of your new database by using this command:
psql -l
(4 rows)
Type Q to exit.
psql address
\q
\?
\help
Let’s start making some tables! We will use our ER Diagram as a guide. First, connect to the address db:
psql address
create table streets (id serial not null primary key, name varchar(50));
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:
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
Table "public.streets"
Column | Type | Modifiers
--------+-----------------------+--------------------------------------
id | integer | not null default
| | nextval('streets_id_seq'::regclass)
name | character varying(50) |
Indexes:
"streets_pkey" PRIMARY KEY, btree (id)
id | name
---+------
(0 rows)
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
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:
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:
Result:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
Let’s take a quick look at our data after those changes: we can reuse our query from the previous section:
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:
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:
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:
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:
(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:
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:
In the next step, create a rule that logs every change of a phone_no in the people table into the people_log table:
Now, thanks to the rule we created, the people_log table will look like this:
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.
Spatial Databases allow the storage of the geometries of records inside a Database as well as providing func-
tionality for querying and retrieving the records using these Geometries. In this module we will use PostGIS, an
extension to PostgreSQL, to learn how to setup a spatial database, import data into the database and make use of
the geographic functions that PostGIS offers.
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.
431
QGIS Training Manual, Versión 3.4
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.
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.
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*
432 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Versión 3.4
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:
Result:
st_pointfromtext
--------------------------------------------
0101000000000000000000F03F000000000000F03F
(1 row)
\df *text
The query we’re looking for now is st_astext. Let’s combine it with the previous query:
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:
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
Table "public.spatial_ref_sys"
Column | Type | Modifiers
-----------+-------------------------+-----------
srid | integer | not null
auth_name | character varying(256) |
auth_srid | integer |
srtext | character varying(2048) |
proj4text | character varying(2048) |
Indexes:
"spatial_ref_sys_pkey" PRIMARY KEY, btree (srid)
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
434 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Versión 3.4
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.
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:
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:
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:
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:
436 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Versión 3.4
Name: myPG
Service:
Host: localhost
Port: 5432
Database: address
User:
Password:
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.
438 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Versión 3.4
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 Shapefile 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:
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:
440 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Versión 3.4
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)
442 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Versión 3.4
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:
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:
444 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Versión 3.4
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:
446 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Versión 3.4
Show a list of unique town names for all buildings in the Queensland region:
Resultados:
name
---------
Beijing
Berlin
Atlanta
(3 rows)
Otros ejemplos . . .
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.
448 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Versión 3.4
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:
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.
\d people
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_startpoint(myGeometry)
from (
select st_boundary(geometry) as myGeometry
from myPolygonTable) as foo;
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:
450 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Versión 3.4
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.
452 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
QGIS Training Manual, Versión 3.4
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:
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:
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.
454 Chapter 17. Module: Conceptos de Bases de Datos Espaciales con PostGIS
CHAPTER 18
18.1 Introducción
This guide describes how to use the QGIS processing framework. It assumes no previous knowledge of the
Processing framework or any of the applications that it rely on. It assumes basic knowledge of QGIS. The chapters
about scripting assume you have some basic knowledge of Python and maybe the QGIS Python API.
La guía se diseño para el auto estudio o utilizarse para ejecutar un taller de procesamiento.
Examples in this guide use QGIS 3.4. They might not work or not be available in versions other than that one.
This guide is comprised of a set of small exercises of progressive complexity. If you have never used the processing
framework, you should start from the very beginning. If you have some previous experience, feel free to skip
lessons. They are more or less independent of each other, and each one introduces some new concept or some new
element, as indicated in the chapter title and the short introduction at the beginning of each chapter. That should
make it easy to locate lessons dealing with a particular topic.
For a more systematic description of all the framework components and their usage, it is recommended to check
the corresponding chapter in the user manual. Use it as a support text along with this guide.
All the exercises in this guide use the same free dataset used throughout the training manual and referenced at
section Datos. The zip file to download contains several folders corresponding to each one of the lessons in this
guide. In each of them you will find a QGIS project file. Just open it and you will be ready to start the lesson.
Disfrutar!
Just like the manual of a word processor doesn’t teach you how to write a novel or a poem, or a CAD tutorial
doesn’t show you how to calculate the size of a beam for a building, this guide will not teach you spatial analysis.
Instead, it will show you how to use the QGIS Processing framework, a powerful tool for performing spatial
analysis. It is up to you to learn the required concepts that are needed to understand that type of analysis. Without
them, there is no point in using the framework and its algorithms, although you might be tempted to try.
455
QGIS Training Manual, Versión 3.4
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
It is available online here
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.
The processing framework is a core QGIS plugin, which means that it should already be installed in your system,
since it is included with QGIS. In case it is active, you should see a menu called Processing in your menu bar.
There you can access all the framework components.
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 called Providers. Providers can be
(de)activated in the Settings → Options → Processing. We will discuss that 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.
que escribir el nombre de la carpeta cada vez. En su lugar, ve al menú de procesamiento y seleccione el elemento
Opciones y configuración. Abrirá el diálogo de configuración.
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.
Para hacer una selección, puede utilizar cualquiera de los métodos y herramientas disponibles en QGIS. Sin
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
También puede modificar el algoritmo. Solo cópielo, abra el Complementos → consola de Python, haga clic
en Importar clase → Importar clase de procesos, a continuación peguelo para re-ejecutar el análisis; cambie
el texto a voluntad. Para desplegar el archivo de resultado, escriba iface.addVectorLayer('/path/
filename.shp', 'Nombre de la capa en la leyenda', 'ogr'). De otra manera, se puede
utilizar processing.runandload.
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.
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.
Ahora vamos a calcular la relación entre los campos MALES y FEMALES para crear uno nuevo que indique si la
población masculina es numéricamente predominante sobre población femenina.
Introduzca la siguiente fórmula
"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.
We will be using the well-known dataset that John Snow used in 1854, in his groundbreaking work (https://en.
wikipedia.org/wiki/John_Snow_%28physician%29), and we will get some interesting results. The analysis of this
dataset is pretty obvious and there is no need for sofisticated GIS techniques to end up with good results and
conclusions, but it is a good way of showing how these spatial problems can be analyzed and solved by using
different processing tools.
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.
To know why, you can have a look at the histogram and you will see that value are not evenly distributed (there are
a few cells with very high value, those corresponding to the channel network). Calculating the logarithm of the
catchment area value yields a layer that conveys much more information (you can do it using the raster calculator).
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
calcula estas estadísticas.
En primer lugar, vamos a cortar el MDT original con el polígono que representa una subcuenca. Utilizaremos el
algoritmo Cortar ráster con polígono. Si seleccionamos un polígono de subcuenca sencilla y luego llamamos al
algoritmo de recortar, podemos cortar el MDT del área cubierta por ese polígono, ya que el algoritmo conoce la
selección.
Seleccione un polígono,
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.
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
no–data cells [Cell resolution: 100 m].
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
Add raster values to points algorithm
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.
layer = processing.getObject(param.value)
for f in layer.getFeatures(QgsFeatureRequest().setSubsetOfAttributes([])):
errors = f.geometry().validateGeometry()
if len(errors) > 0:
progress.setInfo('One of the input vectors contains invalid
˓→geometries!')
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 Otros
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.
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/.
##plots=group
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
##Layer=vector
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 [[]]
##Vector processing=group
##showplots
##Layer=vector
##X=Field Layer
boxplot(Layer[[X]])
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:
##Layer=vector
##Size=number 10
Nota: 10 va a ser el valor por defecto. Puedes cambiar este numero o puedes dejar el parametro sin un
numero
pts=spsample(Layer,Size,type="random")
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.
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, ##Salida = salida de ráster
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:
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:","Range:","Mean value:","Median value:","Standard deviation:"))
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:","Range:","Mean value:","Median value:","Standard deviation:"))
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.
Any of the input could be also OPTIONAL, that means that you have a handy way to tell the script to ignore this
parameter.
In order to set an input as optional, you just have to add the string optional before the input, e.g:
##Layer = vector
##Field1 = Field Layer
##Field2 = optional Field Layer
Output parameters take the Input names you gave at the beginning of the script and write the object you want.
Nota: for the plot input type, you can save the plot as png directly from the Processing Result Viewer or you can
choose to save the plot directly from the algorithm interface.
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).
597
QGIS Training Manual, Versión 3.4
• 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.
Schemas are a way of grouping data tables and other objects in a PostgreSQL database and a container for per-
missions and other constraints. Managing PostgreSQL schemas is beyond the scope of this manual, but you can
find more information about them in the PostgreSQL documentation on Schemas. You can use the DB Manager
19.2. Lesson: Utilizando Administrador de BBDD para trabajar con Bases de Datos espaciales
601
en QGIS
QGIS Training Manual, Versión 3.4
to create new Schemas, but will need to use a tool like pgAdmin III or the command line interface to manage them
effectively.
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
603
en QGIS
QGIS Training Manual, Versión 3.4
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
605
en QGIS
QGIS Training Manual, Versión 3.4
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
607
en QGIS
QGIS Training Manual, Versión 3.4
You can find more information about the VACUUM ANALYZE process in the PostgreSQL Documentation on
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
609
en QGIS
QGIS Training Manual, Versión 3.4
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
611
en QGIS
QGIS Training Manual, Versión 3.4
• 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.
This manual is written using Sphinx, a Python document generator using the reStructuredText markup language.
Instructions on how to use these tools are available on their respective sites.
• 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.
617
QGIS Training Manual, Versión 3.4
• 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.
• 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.
• Crea un enlace para la respuesta:
.. _answer-name:
• 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:
• 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 (*).
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
.. image:: img/image_file.extension
:align: center
• 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:
• Si te refieres a un elemento GUI, como un botón, debes escribir su nombre en the GUI label format.Por
ejemplo:
• 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:
• 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, detalles de con-
tacto, etc. Esos detalles se tienen que añadir a la sección «Contribuidores»del prefacio, con el nombre(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
In the main area of the dialog you should see many shapes with different colors. Each shape belongs to a layer
you can identify by its color in the left panel (your colors may be different from the ones below):
Volver al texto
625
QGIS Training Manual, Versión 3.4
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
2. Right-click and choose Open Attribute Table, or press the button on the Attributes Toolbar.
3. Count the number of columns.
Truco: A quicker approach could be to double-click the rivers layer, open the Layer properties → Source
Fields tab, where you will find a numbered list of the table’s fields.
• Information about towns is available in the places layer. Open its attribute table as you did with the rivers
layer: there are two features whose place attribute is set to town: Swellendam and Buffeljagsrivier. You
can add comment on other fields from these two records, if you like.
Back to text
• landuse
• buildings (taken from training_data.gpkg) and
• water (taken from exercise_data/shapefile).
Back to text
21.4.1 Colores
• Comprueba que los colores están cambiando como esperas que cambien.
Nota: If you want to work on only one layer at a time and don’t want the other layers to distract you, you can
hide a layer by clicking in the checkbox next to its name in the layers list. If the box is blank, then the layer is
hidden.
Volver al texto
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
The lowest symbol layer is a broad, solid gray line. On top of it there is a slightly thinner solid yellow line and
finally another thinner solid black line.
If your symbol layers resemble the above but you’re not getting the result you want:
1. Check that your symbol levels look something like this:
Volver al texto
Back to text
• Move the new symbol at the bottom of the list clicking the button.
• Choose a good color to fill the water polygons.
• Click on Marker of the Geometry generator symbology and change the circle with another shape as your
wish.
• Try experimenting other options to get more useful results.
Back to text
The name field is the most useful to show as labels. This is because all its values are unique for every object and
are very unlikely to contain NULL values. If your data contains some NULL values, do not worry as long as most
of your places have names.
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.9.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.9.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
A esto:
The first image shows the buffer with the Segments to approximate value set to 5 and the second shows the value
set to 20. In our example, the difference is subtle, but you can see that the buffer’s edges are smoother with the
higher value.
Volver al texto
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
Open Network Analysis → Shortest Path (Point to Point) and fill the dialog as:
Back to text
Su resultado:
Volver al texto
• For the 5 degree version, replace the 2 in the expression and file name with 5.
Sus resultados:
• 2 grados:
• 5 grados:
Volver al texto
• Open the Query Builder by right-clicking on the all_terrain layer in the Layers panel, and selecting the
Properties → Source tab.
• 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:
• You can save this layer by right-clicking on the all_terrain layer in the Layers panel and choosing Save
As. . . , then continue as per the instructions.
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
You may notice that many WMS servers are not always available. Sometimes this is temporary, sometimes it is
permanent. An example of a WMS server that worked at the time of writing is the World Mineral Deposits WMS
at http://apps1.gdr.nrcan.gc.ca/cgi-bin/worldmin_en-ca_ows. It does not require fees or have access constraints,
and it is global. Therefore, it does satisfy the requirements. Keep in mind, however, that this is merely an example.
There are many other WMS servers to choose from.
Volver al texto
You can add layers (both vector and raster) into a GRASS Mapset by drag and drop them in the Browser (see
Follow Along: Load data using the QGIS Browser) or by using the v.in.gdal.qgis for vector and r.in.
gdal.qgis for raster layers.
Back to text
To discover the maximum value of the raster run the r.info tool: in the console you will see that the maximum
value is 1699.
You are now ready to write the rules. Open a text editor and add the following rules:
0 thru 1000 = 1
1000 thru 1400 = 2
1400 thru 1699 = 3
save the file as a my_rules.txt file and close the text editor.
Run the r.reclass tool, choose the g_dem layer and load the file containing the rules you just have saved.
Click on Run and then on View Output. You can change the colors and the final result should look like the following
picture:
Back to text
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:
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:
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”:
Volver al texto
Table "public.people"
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):
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:
Como puede ver, nuestra limitación permite agregar nulos en la base de datos.
Volver al texto
Índices y tablas
• genindex
• modindex
• buscar
673