Génération d'atlas de cartes

Il est possible de générer automatiquement un atlas de cartes (ex : un atlas de carte communales). Le principe est d'utiliser la géométrie et les attributs d'une couche vectorielle (par exemple une couche de COMMUNES). Pour chaque entité de la couche (ex : pour chaque COMMUNE), une nouvelle carte est générée et dont l'emprise correspond à la géométrie de l'entité. Les attributs de la couche peuvent être utilisés dans des zones de texte (par exemple pour adapter le titre de la carte).

Pour générer un atlas il faut activer l'option dans l'onglet décrit ci-dessous. Si l'onglet n'apparaît pas, cliquer sur Paramètres de l'atlas dans le menu Atlas.

Onglet 'Atlas'
Paramètres de l'atlas pour un objet carte

La barre de l'atlas permet de générer un aperçu et de passer de page en page.

Le menu permet d'imprimer en PDF ou d'exporter en tant qu'image ou SVG.

menu atlas

ComplémentMise en surbrillance de l'entité traitée dans chaque page

Quand on active 'générer un atlas' avec une couche de couverture, QGIS crée deux variables @atlas_featureid et @atlas_geometry

qui représentent respectivement l'identifiant de l'objet traité dans chaque page (ex : identifiant de la commune) et la géométrie de l'objet.

Ceci peut servir pour affecter un style spécifique à l'entité traitée dans chaque page.

exemple :

Couches : BATIMENT de la BDParcellaire et IRIS.

Pour la couche IRIS définissons le style suivant basé sur ensemble de règles :

Mise en surbrillance pour l'atlas

On utilise ici la possibilité offerte d'utiliser une règle ELSE.

La règle indique que si l'identifiant de l'entité de la couche est celui de l'entité en cours de traitement dans la page du composeur on l'affiche en jaune. Les autres entités sont affichées en gris.

De même nous pouvons n'afficher que le nom de la commune en cours en paramétrant les étiquettes.

onglet Étiquettes -> Étiquettes basées sur des règles

Filtrer avec l'expression : $id = @atlas_featureid et étiqueter avec "Nom_iris"

on pourrait également écrire directement l'expression en étiquetage unique : CASE WHEN $id=@atlas_featureid THEN Nom_iris END

Atlas : gestion des étiquettes de la couche

Dans notre exemple, on peut également vouloir un style différent pour les bâtiments qui sont dans l'IRIS traité.

Dans ce cas dans le style de la couche BATIMENT on appliquera un ensemble de règle comme par exemple :

Exemple de règle utilisant @atlasgeometry

Voici un exemple de ce qui peut-être obtenu :

Atlas : exemple de mise en surbrillance

On peut également noter qu'il existe aussi une variable @map_id qui permet indépendamment de l'utilisation des fonctionnalités de l'atlas de personnaliser le style d'une couche en fonction de l'identifiant de l'objet carte dans le composeur. Cet identifiant est à préciser dans l'objet carte du composeur.

identifiant d'objet carte

Dans l'exemple précédent on pourrait donc transformer l'expression sur les étiquettes pour ne les voir que dans la carte principale :

$id = @atlas_featureid and @map_id='carte_principale'