[qgis 3.4] atlas par valeurs uniques

Afficher un atlas par valeurs uniques est une demande régulière qui est faite en SIG. Jérémie Cornet a réalisé un script qu’il a partagé en 2013 sur le portail SIG dont l’annonce de la fin du projet a été annoncée en ce début d’année.

La fin d’un rêve … https://t.co/1STjtw7GCm— Doctor Who (@DoctorWho80) January 15, 2019

twitter

Qgis ayant beaucoup évolué depuis, notamment, autour de la gestion des variables. Nous allons reproduire cette méthode en exploitant les nouvelles fonctionnalités sans passer par le script initialement prévu

Précisons que ce guide a été créé dans un environnement ubuntu 18.04 et s’adresse aux personnes ayant déjà manipulé des ATLAS dans QGIS.

Proposition de rendu à l’issue de ce tutoriel (la réforme territoriale a eu lieu entre temps)

Les étapes sont les suivantes:

  • regrouper les données si la situation l’implique
  • activer l’atlas
  • faire l’affichage conditionnel des région & départements
  • insérer des images & tableaux filtrés
  • afficher le nombre de départements par régions

Les données

Dans ce guide, nous utilisons les données issue de la couche admin express

En ouvrant les deux couches de France métropolitaine dans QGIS:

  • Départements
  • Régions

Ici, il s’agit d’une imbrication administrative. L’important est que les deux couches aient un identifiant commun.

Si, vous n’avez qu’une couche il est possible de faire la fonction « regrouper » sur un champ via la commande suivante:

boite à outils/géométrie vectorielle/Regrouper

Il faut choisir la couche regrouper et le ou les champs de regroupement.

Création de l’atlas

Créer une une mise en page via le raccourci ctrl+P ou dans les menus:

Projets/nouvelle mise en page

Générer ensuite l’atlas via le panneau d’atlas qui peut être ouverte via le menu suivant:

Atlas/Paramètres de l’atlas

Maintenant, il faut activer l’atlas pour pouvoir naviguer entre les différentes cartes. Cela se fait par la barre d’outils de l’atlas en cliquant sur le planisphère

Vue/barres d’outils/Barres d’outils de l’atlas

voici un premier affichage avec un le nom de la région.

Affichage Conditionnel des entités

L’affichage conditionnel peut se faire les deux couches:

  • les régions (afin de mettre en valeur la région affichée dans l’atlas
  • les départements afin de mettre en valeur les entités correspondantes à l’entité de l’atlas

Les régions

Pour mettre en valeur les régions affichées, il est possible de créer un polygone inversés comme style de la couche. Pour cela, il faut accéder aux styles de la couche et indiquer l’expression pour n’afficher que les régions correspondant à l’entité de l’Atlas.

Style de couche/polygones inversés/ensemble de règles

La règle à renseigner est le test logique pour savoir si l’identifiant de l’objet correspond à l’identifiant de l’entité active de l’atlas:

$id=@atlas_featureid

Pour valoriser légèrement la région active dans l’atlas, activer le mode de fusion « lumière douce » entre couches. Cela créer un voile léger sur le reste de la carte. il est aussi possible de jouer sur l’opacité du polygone externe pour avoir le rendu.

Ici, La Normandie est mise en valeur car elle correspond à l’entité active de l’Atlas. il est possible de retourner dans la mise en page pour voir le changement de région en cliquant sur les flèches.

Les départements

Pour faire un affichage spécifique des départements, même procédure, il faut demander un test logique de correspondance avec un attribut de l’entité de l’atlas.

Il s’agit de récupérer l’attribut « INSEE_REG » de l’entité active de l’atlas et de le tester sur l’attribut « INSEE_REG » de la couche départements.

« INSEE_REG »= attribute(@atlas_feautre, ‘INSEE_REG’)

Attention, la fonction « attribute » cherche du texte correspondant au nom de la colonne de l’entité active. Il faut utiliser l’apostrophe pour décrire ce texte.

Pour faire un affichage conditionnel d’étiquette, la procédure est la même, il suffit de copier / coller la fonction

Afficher les attributs

Il est possible d’afficher un tableau des départements conditionné ici encore par l’entité active de l’atlas (ici Pays de la Loire)



Afficher les logos

L’affichage des logos peut se faire aussi via les variables de Qgis. Ici nous avons un dossier « logos » dans un sous dossier du projet Qgis

La limite est que dans les atlas actuellement, il semble qu’il ne soit pas possible d’afficher des photos basées sur un chemin relatif.
Ce n’est pas un problème, car il est possible d’utiliser des variables du projet comme par exemple la localisation du projet Qgis.

Dans la mise en page, ajouter une image en cliquant sur l’icône « définition de données imposées » puis le sous menu « éditer » pour renseigner l’emplacement de celle-ci.

Il est possible de reconstruire l’arborescence des images avec la concaténation de différents éléments:
– variable de l’emplacement du projet projet @projets_folder
– le nom du dossier dans l’arborescence ‘/logos/’
– l’extension des image ‘.png’

Cela donne l’expression suivante:

@project_folder || ‘/logos/’ || « INSEE_REG » || ‘.png’

Voici la carte agrémentée des logos actuels des régions.


Indiquer le nombre de départements dans la mise en page.

Il est possible de récupérer de manière interactive, des informations depuis la couche département sans faire de jointure attributaires directement. Cela se passe aussi par les expressions et les relations :

Dans les propriétés du projet, il faut créer une relation pour que Qgis puisse extraire les données

projet/propriétés du projet/relations

La force de la relation implique de savoir si les attributs sont modifiés ou non lors d’une modification attributaire ce qui n’est l’objet de ce tutoriel.

Valider cette relation en appuyant sur OK sur le deux fenêtres.

Dans la mise en page, il est désormais possible de récupérer des informations d’agrégation depuis la couche enfant. Ici, il faudra utiliser la fonction « relation_aggregate » pointant vers la variable qui est apparue dans les relations.

relation_aggregate( ‘DEPARTEMEN_INSEE_REG_REGION_113_INSEE_REG’, ‘count’, ‘INSEE_REG’)

Le nombre de départements s’affiche bien.


Rendu final

Ici, L’affichage conditionnel est lié à la correspondance d’attributs, il est aussi possible de faire une jointure spatiale à la volée.

Si vous voyez des améliorations à réaliser, n’hésitez pas à nous proposer.

Lien vers le projet pour l’exemple

Source :

https://docs.qgis.org/testing/en/docs/

Next Post

Leave a Reply

© 2019

Theme by Anders Norén