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.
Complément : Mise 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
:
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
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 :
Voici un exemple de ce qui peut-être obtenu :
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.
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'