#1 Mon 04 July 2016 14:31
- jlavaure
- Participant assidu
- Date d'inscription: 20 Apr 2013
- Messages: 203
QGIS 2.14.1: Filtre couche pour Atlas
Hello la communauté,
Je vous expose mon problème :
J'ai différentes couches, par exemple des points (des magasins) et des zones de chalandises (polygones) par magasins.
Je souhaites réaliser un atlas automatique par zone de chalandise, cependant il arrive qu'il y en ait qui se chevauche. Ce qui n'est pas terrible pour le rendu. Au lieu de tout faire à la main je pense qu'il existe une méthode, un filtre à appliquer pour obtenir mon atlas avec seulement la zone de chalandise et le magasin correspondant et non les autres couches, et ceci pour l'ensemble de mes points.
Je n'ai pas trouvé grand chose sur la toile, et je suis persuadé que c'est possible.
Merci d'avance pour ce coup de main.
Hors ligne
#2 Mon 04 July 2016 15:55
- AntoineLomellini
- Participant occasionnel
- Date d'inscription: 10 Jan 2015
- Messages: 10
Re: QGIS 2.14.1: Filtre couche pour Atlas
Bonjour,
Cela peut se faire en utilisant des symbologies "ensemble de règles" pour chacune de vos couches.
Dans les filtres, vous devrez utiliser la variable @atlas_geometry afin de vérifier pour chaque entité si sa géometrie est à l'intérieur de celle de l'entité couche de l'atlas. Ainsi, tous les objets qui ne répondent pas à ce critère seront masqués.
within($geometry, @atlas_geometry)
Dernière modification par AntoineLomellini (Mon 04 July 2016 15:56)
Hors ligne
#3 Mon 04 July 2016 16:35
- jlavaure
- Participant assidu
- Date d'inscription: 20 Apr 2013
- Messages: 203
Re: QGIS 2.14.1: Filtre couche pour Atlas
Merci AntoineLomellini pour cette explication,
Mais je n'est pourtant pas bien compris....
J'ai une une symbologie pour ma couche de point et une seule pour les zones de chalandises (je ne comprend pas la nécessité de passer par un ensemble de règles).
J'ai deux couches à afficher à chaque fois, mais ma couche de couverture sont les polygones.
A quoi sert within( $geometry , @atlas_geometry ) ? Quand je met cette expression dans mon filtre sur la partie Atlas il m'indique qu'il n'y a pas de couche correspondant à ce critère ....
Possible de m'expliquer étape par étape à savoir que :
- J'ai une couche de 10 polygones : zchalandise
- J'ai une couche de 10 points : mag
- Je souhaite générer un atlas qui m'affiche à chaque fois uniquement le magasin et sa zone de chalandise, a savoir qu'ils ont un identifiant en commun "ID".
Merci pour votre aide.
J.
Hors ligne
#4 Mon 04 July 2016 16:42
- AntoineLomellini
- Participant occasionnel
- Date d'inscription: 10 Jan 2015
- Messages: 10
Re: QGIS 2.14.1: Filtre couche pour Atlas
La fonction sert littéralement à vérifier si la géométrie de l'entité (d'un magasin dans votre cas) est comprise dans la géométrie de l'entité de l'atlas (zone de chalandise).
Le fait de passer par un ensemble de règle sert uniquement à pouvoir rentrer cette expression. La règle s'appliquera à tous les magasins qui répondent à la fonction. Attention, ce n'est pas dans le filtre de l'atlas qu'il faut la mettre, mais bien dans les propriétés des couches.
Je vous conseille donc de créer l'atlas au préalable, définir la couche de couverture. Ensuite, vous utiliser un ensemble de règle avec votre symbologie et la fonction pour chacune des deux couches.
La variable @atlas_geometry ne fonctionne que si l'atlas est activé dans le composeur.
Dernière modification par AntoineLomellini (Mon 04 July 2016 16:48)
Hors ligne
#5 Mon 04 July 2016 17:01
- jlavaure
- Participant assidu
- Date d'inscription: 20 Apr 2013
- Messages: 203
Re: QGIS 2.14.1: Filtre couche pour Atlas
Super, j'ai compris et ça fonctionne très bien.
Merci beaucoup
Hors ligne