#1 Thu 09 July 2020 10:49
- OhCheat
- Participant actif
- Lieu: Toulouse
- Date d'inscription: 11 Apr 2014
- Messages: 58
QGIS: Masquer des entites automatiquement dans un atlas
Bonjour à tous,
Je suis actuellement en train de réaliser un lot de cartes via l'atlas de Qgis ou chaque carte correspond à un secteur d'étude. Je masque les autres secteurs d'études non concernés par la carte avec la formule " $id = @atlas_featureid ".
Maintenant je cherche à faire de même pour les communes et d'autres couches : je souhaite faire en sorte que les entités qui ne se trouvent pas dans le secteur d'étude concerné ne soient pas affichés dans le composeur.
Existe-t-il une expression permettant de filtrer les entités selon le composeur ?
Merci d'avance, Corentin.
Hors ligne
#2 Fri 10 July 2020 17:36
- sylvain poupard
- Participant assidu
- Date d'inscription: 19 Mar 2009
- Messages: 362
Re: QGIS: Masquer des entites automatiquement dans un atlas
Bonjour,
En conservant votre formule, essayez la symbologie "polygone inversé", en faisant jouer la transparence éventuellement pour masquer intégralement ou non le reste du composeur.
Et pour empêcher complètement l'affichage des entités en dehors de la zone concernée appliquez la formule
Code:
intersects( $geometry , @atlas_geometry )
Bon courage
Hors ligne
#3 Wed 15 July 2020 13:36
- OhCheat
- Participant actif
- Lieu: Toulouse
- Date d'inscription: 11 Apr 2014
- Messages: 58
Re: QGIS: Masquer des entites automatiquement dans un atlas
Parfait, c'est exactement ce que je cherchais. Autre problématique : existe-t-il un opérateur pouvant remplacer intersect et qui afficherait les entités si au moins une partie de sa géométrie est contenue dans l'entité affichée par l'atlas ? Car pour le moment la fonction telle quelle m'affiche aussi celle qui touchent sans forcément avoir une surface en commun.
Hors ligne
#4 Wed 15 July 2020 14:05
- sylvain poupard
- Participant assidu
- Date d'inscription: 19 Mar 2009
- Messages: 362
Re: QGIS: Masquer des entites automatiquement dans un atlas
Bonjour,
Regardez du côté de postgis et ST_DWithin en ajoutant un tampon d'un mètre par exemple: https://postgis.net/docs/ST_DWithin.html mais pas sûr qu'il prenne en compte $atlas_geometry (?).
Sinon appliquez une correction topologique en découpant vos entités selon votre couche de couverture et appliquez le within....
Ou encore renseignez un attribut en commun et ajoutez le dans les règles (ex: code insee, numéro de secteur, ...)
Bon courage
Dernière modification par sylvain poupard (Wed 15 July 2020 21:45)
Hors ligne
#5 Thu 16 July 2020 08:59
- OhCheat
- Participant actif
- Lieu: Toulouse
- Date d'inscription: 11 Apr 2014
- Messages: 58
Re: QGIS: Masquer des entites automatiquement dans un atlas
Parfait, merci beaucoup !
Hors ligne