Création automatisée de cartes avec l’Atlas de l’outil de mise en page (QGIS3)¶
Si votre organisation publie des cartes papier ou en ligne, vous pouvez avoir besoin de créer plusieurs cartes à partir du même modèle, cela peut être une carte par zone administrative ou sur différentes régions. La création manuelle de ces cartes peut prendre du temps et si vous souhaitez les mettre à jour régulièrement, cela peut devenir une véritable corvée. QGIS dispose de l’outil Atlas
qui peut vous permettre de créer un modèle utilisable pour les différentes régions à cartographier.
Si vous n’êtes pas familier avec l’outil de mise en page, vous pouvez reprendre le tutoriel Making a Map (QGIS3)
Description de la tache¶
Ce tutoriel vous montre comment créer une carte des zones humides pour chaque région de l’état de Hawaii
Autres compétences abordées¶
Utiliser le style « polygones inversé » pour représenter les zones hors des polygones.
Réaliser un style basé sur une règle pour représenter uniquement les entités présentes dans un Atlas
Ecrivez une expression pour créer des étiquettes dynamiques dans la mise en page.
Utilier le style « Remplissage dégradé en suivant la forme » pour créer un remplissage avec deux couleurs.
Obtenir les données¶
Nous allons utiliser les données SIG <http://planning.hawaii.gov/gis/download-gis-data/>`_ du service de planification de l’état de Hawaii <http://planning.hawaii.gov/>`_
Téléchargez la couche de zones humides depuis la catégorie Biologie et écologie.
Télécharger les données du Recensement County Boundaries 2010 depuis la catégorie culture et démographie
Par soucis de simplicité, les deux jeux de données sont téléchargeables directement aux liens ci-dessous:
Source des données [HAWAII]
Procedure¶
Utilisez l’explorateur QGIS pour trouver le fichier « HI_Wetlands.sh.zip » et le décompresser. Sélectionnez le fichier « HI_Wetlands_Poly.shp » et glissez-le dans le canevas de carte. Cette couche contient des polygones qui représentent les marais dans l’état d’Hawaii.
![../../_images/110.png](../../_images/110.png)
Étant donné que nous souhaitons réaliser des cartes différentes pour chaque région de l’état, nous allons utiliser la couche de frontière. Trouver le fichier
county10.shp.zip
puis décompressez-le. Sélectionnez le fichier « country10.shp » et glissez-le dans le canevas de carte.
![../../_images/210.png](../../_images/210.png)
Désactivez temporairement la visibilité de la couche
HI_Wetlands_Poly
. Vous verrez clairement les polygones du calquecomté10
maintenant. Il y a 5 caractéristiques contenues dans cette couche, chaque caractéristique étant associée à un ou plusieurs polygones. Les caractéristiques représentent 5 comtés. Nous utiliserons cette couche comme couche de couverture et configurerons QGIS pour créer 5 cartes séparées - une pour chaque fonctionnalité - automatiquement.
![../../_images/35.png](../../_images/35.png)
Turn on the visibility of the
HI_Wetlands_Poly
layer. Go to .
![../../_images/41.png](../../_images/41.png)
Leave the print layout title empty and click OK.
![../../_images/51.png](../../_images/51.png)
In the Print Layout window, go to .
![../../_images/61.png](../../_images/61.png)
Drag a rectangle while holding the left mouse button where you would like to insert the map.
![../../_images/71.png](../../_images/71.png)
In QGIS3, the Atlas tab is not visible by default. Select .
![../../_images/81.png](../../_images/81.png)
Switch to the Atlas tab. Check the Generate an atlas box.
![../../_images/91.png](../../_images/91.png)
Select the
county10
as the Coverage layer. This will indicate that we want to create 1 map each for every polygon feature in thecounty10
layer. You can also check the Hidden coverage layer so that the features themselves will not appear on the map.
![../../_images/104.png](../../_images/104.png)
Switch to the Item Properties tab. Scroll down and check the Controlled by atlas box. This will indicate the layout that the content of the map displayed in this item will be determined by the
Atlas
tool.
Note
You must enable the Generare an atlas box in the Atlas tab, otherwise the Controlled by atlas checkbox will be diasbled.
![../../_images/114.png](../../_images/114.png)
Now that you have configuring the Atlas settings, go to
.
![../../_images/124.png](../../_images/124.png)
You will see the map refresh and show how individual map will look like. You can preview how the map will look for each of the county polygons. Go to
. Atlas will render the map to the extent of the next feature in the coverage layer.
![../../_images/133.png](../../_images/133.png)
Let’s add a label to the map. Go to
.
![../../_images/143.png](../../_images/143.png)
Under the Item properties tab, locate the Main properties section and click Insert an Expression… button.
![../../_images/153.png](../../_images/153.png)
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 theNAME10
attribute of thecounty10
layer with the textCounty of
. Add an expression like below and click OK.
concat('County of ', "NAME10")
![../../_images/163.png](../../_images/163.png)
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/173.png](../../_images/173.png)
Choose
Center
as the Horizontal alignment andMiddle
as the Vertical alignment option.
![../../_images/182.png](../../_images/182.png)
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](../../_images/192.png)
Go to
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/202.png](../../_images/202.png)
Switch to the main QGIS window. Right-click the
county10
layer and select Properties.
![../../_images/212.png](../../_images/212.png)
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/222.png](../../_images/222.png)
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/232.png](../../_images/232.png)
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/242.png](../../_images/242.png)
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/252.png](../../_images/252.png)
In the Symbology tab, select
Rule-based
as the Sub renderer. Double-click the area under Rule.
![../../_images/261.png](../../_images/261.png)
In the Edit rule dialog, click the Expression button next to Filter.
![../../_images/272.png](../../_images/272.png)
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/282.png](../../_images/282.png)
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.
Note
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/292.png](../../_images/292.png)
We will now add another dynamic label to show the current date. Go to Insert an expression button.
and select the area on the map. Click
![../../_images/302.png](../../_images/302.png)
Expand the Date and Time functions group and you will find the
$now
function. This holds the current system time. The functiontodate()
will convert this to a date string. Enter the expression as below and click OK.
concat('Created on: ', todate($now))
![../../_images/312.png](../../_images/312.png)
Add another label citing the data source. You may also add other map elements such as a north arrow, scalebar etc. as described in Créer une carte tutorial.
![../../_images/321.png](../../_images/321.png)
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/331.png](../../_images/331.png)
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/341.png](../../_images/341.png)
Select Map 1 item and click the Update preview button under Item properties tab to see the changes.
![../../_images/351.png](../../_images/351.png)
Once you are satisfied with the map layout and styling, go to
.
![../../_images/36.png](../../_images/36.png)
Select a directory on your computer and click Choose.
![../../_images/37.png](../../_images/37.png)
Leave the default options in the Image Export Options and click Save.
![../../_images/38.png](../../_images/38.png)
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](../../_images/39.png)
Here are the map images for refeence.
![../../_images/output_1.png](../../_images/output_1.png)
![../../_images/output_2.png](../../_images/output_2.png)
![../../_images/output_3.png](../../_images/output_3.png)
![../../_images/output_4.png](../../_images/output_4.png)
![../../_images/output_5.png](../../_images/output_5.png)
If you want to report any issues with this tutorial, please comment below. (requires GitHub account)