Automatización de la creación de mapas con el Atlas de diseñador de impresiones (QGIS3)

Si su organización publica mapas impresos o en línea, a menudo necesitaría crear muchos mapas con la misma plantilla, generalmente uno para cada unidad administrativa o región de interés. Crear estos mapas manualmente puede llevar mucho tiempo y, si desea actualizarlos regularmente, puede convertirse en un trabajo rutinario. QGIS tiene una herramienta llamada `` Atlas ‘’ que puede ayudarlo a crear una plantilla de mapa y publicar fácilmente una gran cantidad de mapas para diferentes regiones geográficas. Si no está familiarizado con los conceptos básicos del Diseñador de impresiónes, consulte el tutorial: doc: ../ making_a_map.

Resumen de la tarea

Este tutorial muestra cómo crear un mapa de humedales para cada condado en el estado de Hawai.

Otras habilidades que aprenderás

  • Usando el estilo de renderizado “Polígonos invertidos’’ para rellenar áreas fuera de los polígonos.

  • Escriba una expresión en el estilo de renderizado “Basado en reglas’’ para mostrar solo la característica actual en Atlas.

  • Escriba una expresión para crear etiquetas dinámicas en el Diseñador de impresión.

  • Usando el estilo de renderizado “Polígonos invertidos’’ para rellenar áreas fuera de los polígonos.

Obtener datos

Utilizaremos las GIS Data Layers from State of Hawaii - Office of Planning

Descarga las capas Wetlands de la categoría Biológica y Ecológica.

Descargue la capa `Census County Boundaries 2010<http://files.hawaii.gov/dbedt/op/gis/data/county10.shp.zip>`_ de la categoría Cultural y Demográfica.

Para comodidad, puedes descargar directamente una copia del conjuntos de datos desde el enlace de abajo:

HI_Wetlands.shp.zip

county10.shp.zip

Fuente de Datos [HAWAII]

Procedimiento

  1. Ubique el archivo HI_Wetlands.shp.zip en el navegador QGIS y amplíelo. Seleccione el archivo HI_Wetlands_Poly.shp y arrástrelo al lienzo. Esta capa contiene polígonos que representan humedales en todo el estado de Hawai.

../../_images/110.png
  1. Ya que queremos hacer un mapa separado de humedales por cada condado en el estado, necesitaremos la capa de límites de condado. Navegue al archivo county10.shp.zip y expándalo. Seleccione el archivo county10.shp y arrástrelo a la pantalla.

../../_images/22.png
  1. Desactive la visibilidad en la capa temporal HI_Wetlands_Poly. Ahora verá claramente los polígonos de la capa county10. Hay 5 entidades contenidas en esta capa, donde cada entidad tiene 1 o más polígonos asociados. Las entidades representan 5 condados. Usaremos esta capa como la capa cobertura y configuraremos QGIS para crear 5 mapas separados - uno para cada entidad - automáticamente.

../../_images/32.png
  1. Active la visibilidad de la capa HI_Wetlands_Poly. Vaya a Proyecto ‣ Nueva Composición de Impresión...

../../_images/42.png
  1. Deje vacío el título de la composición de impresión y clic en Aceptar.

../../_images/52.png
  1. En la ventana Composición de Impresión, vaya a Diseño ‣ Añadir Mapa.

../../_images/62.png
  1. Arrastre un rectángulo mientras mantiene presionado el botón izquierdo del ratón donde le gustaría insertar el mapa.

../../_images/72.png
  1. En QGIS3, la pestaña Atlas no es visible de forma predeterminada. Seleccione Vista ‣ Paneles ‣ Atlas.

../../_images/82.png
  1. Cambie a la pestaña Atlas. Marque la caja Generar un atlas.

../../_images/92.png
  1. Seleccione county10 como la Capa de cobertura. Esto indicará que queremos crear 1 mapa por cada entidad polígono en la capa county10. Puede también marcar Capa de cobertura escondida de manera que las entidades mismas no aparezcan en el mapa.

../../_images/102.png
  1. Cambie a la pestaña Propiedades del Elemento y marque la caja Controlado por atlas. Esto indicará al diseño que la extensión del mapa mostrado en este elemento estará determinada por la herramienta Atlas.

Nota

Debe activar la caja Generar un atlas en la pestaña Atlas, de otra forma la casilla de verificación Controlado por atlas estará deshabilitada.

../../_images/111.png
  1. Ahora que ha configurado el Atlas, vaya a Atlas ‣ Previsualizar Atlas.

../../_images/122.png
  1. Verá el mapa actualizarse y mostrar como se verán los mapas individuales. Puede previsualizar como se verá el mapa para cada uno de los polígonos de condado. Vaya a Atlas ‣ Siguiente Entidad. El atlas representará el mapa a la extensión de la siguiente entidad en la capa cobertura.

../../_images/132.png
  1. Agreguemos una etiqueta al mapa. Vaya a Diseño ‣ Agregar Etiqueta.

../../_images/142.png
  1. Bajo la pestaña Propiedades del elemento, localice la sección Propiedades principales y clic en el botón Insertar una Expresión....

../../_images/152.png
  1. The label of the map can use the attributes from the coverage layer. The concat function is used to join multiple text items into a single text item. In this case we will join the value of the NAME10 attribute of the county10 layer with the text County of. Add an expression like below and click OK.
concat('County of ', "NAME10")
../../_images/162.png
  1. Delete the leading Lorem ipsum placeholder text so that the textbox contains only the expression. Scroll down to the Appearance section and click on the Font dropdown. Choose the font and adjust the size to your liking.
../../_images/172.png
  1. Choose Center as the Horizontal alignment and Middle as the Vertical alignment option.
../../_images/182.png
  1. Add another label and enter Wetlands Map under the Main properties. Since there is no expression here, this text will remain the same on all maps.
../../_images/192.png
  1. Go to Atlas ‣ Last Feature and verify that the map labels do work as intended. You will notice that the wetland map has polygons extending out in the ocean that looks ugly. We can change the style to that areas outside the county boundaries are hidden.
../../_images/201.png
  1. Switch to the main QGIS window. Right-click the county10 layer and select Properties.
../../_images/212.png
  1. In the Symbology tab, select the Inverted polygons renderer. This renderer styles the outside of the polygon - not inside. Select white as the fill color and click OK.
../../_images/221.png
  1. You will notice that the polygons extending outside of the county boundaries are now disappeared. In reality, they are hidden by the white color fill extending out from the county polygons because of the Inverted polygons style.
../../_images/23.png
  1. Switch to the Layout window. If we want the effect of the inverted polygons to show, we need to uncheck the Hidden coverage layer box under Atlas tab. Once unchecked, the rendered image will appear clean and areas outside the coverage polygon is not visible.
../../_images/24.png
  1. There is one more problem though. You will notice that in some cases, parts of the map that are outside the coverage layer boundary are still visible. This is because Atlas doesn’t automatically hide other features. This can be useful in some cases, but for our purpose, we only want to show wetlands of the county whose map is being generated. To fix this, switch back to the main QGIS window and right-click the county10 layer and select Properties.
../../_images/25.png
  1. In the Symbology tab, select Rule-based as the Sub renderer. Double-click the area under Rule.
../../_images/26.png
  1. In the Edit rule dialog, click the Expression button next to Filter.
../../_images/27.png
  1. In the Expression string builder, expand the Variables group of functions. The @atlas_featureid variable stores the id of the the currently selected feature. We will construct an expression that will select only the currently selected Atlas feature. Enter the expression as below and click OK.
$id = @atlas_featureid
../../_images/28.png
  1. Close all intermediate dialogs and switch back to the Layout window. Select Map 1 item and click the Update preview button under Item properties tab to see the changes. Notice that now only the area covering the county boundary is shown.

Nota

If you do not see the Update preview button, it may help to select another Item element first and then select Map 1 again.

../../_images/29.png
  1. We will now add another dynamic label to show the current date. Go to Layout ‣ Add Label and select the area on the map. Click Insert an expression button.
../../_images/30.png
  1. Expand the Date and Time functions group and you will find the $now function. This holds the current system time. The function todate() will convert this to a date string. Enter the expression as below and click OK.
concat('Created on: ', todate($now))
../../_images/311.png
  1. Add another label citing the data source. You may also add other map elements such as a north arrow, scalebar etc. as described in Creando un Mapa tutorial.
../../_images/321.png
  1. We will make one last styling improvement. Switch back to the main QGIS window and right-click the HI_Wetlands_Poly layer and select Properties.
../../_images/33.png
  1. In the Symbology tab, click on Simple fill and select Shapeburst fill as the Symbol layer type. Choose the Two color option and select shades of green and blue that you like. Click OK.
../../_images/34.png
  1. Select Map 1 item and click the Update preview button under Item properties tab to see the changes.
../../_images/35.png
  1. Once you are satisfied with the map layout and styling, go to Atlas ‣ Export Atlas as Images.
../../_images/36.png
  1. Select a directory on your computer and click Choose.
../../_images/37.png
  1. Leave the default options in the Image Export Options and click Save.
../../_images/38.png
  1. The Atlas tool will now iterate through each feature in the coverage layer and create a separate map image based on the template we created. You can see the images in the directory once the process completes.
../../_images/39.png
  1. Aquí están las imágenes del mapa como referencia.

../../_images/output_1.png ../../_images/output_2.png ../../_images/output_3.png ../../_images/output_4.png ../../_images/output_5.png
If you liked tutorials on this site and do check out spatialthoughts.com for more free resources.
comments powered by Disqus

This work is licensed under a Creative Commons Attribution 4.0 International License