Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#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


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

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

 

Pied de page des forums

Powered by FluxBB