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

GeoDataDays 2025

#1 Wed 16 June 2021 16:31

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 1008

QGIS/Atlas avec diagrammes: filtrer les entites selon attribut

Bonjour à tous,
Je cherche à réaliser un atlas pour chaque entité d'une couche d'emprise, filtrant les autres couches grâce à une règle de ce type :

Code:

"mon_champ" = attribute( @atlas_feature , 'champ_de_filtrage')

Ça marche très bien pour la plupart des couches, mais je n'ai pas trouvé comment le faire pour des couches représentées sous forme de diagrammes (camemberts).
L'expression de filtrage est accessible depuis le sous-moteur de rendu "ensemble de règles" de l'onglet "Symbologie" (dans mon cas, la symbologie est de type "Aucun symbole").
Mais elle n'est pas accessible depuis l'onglet "Diagrammes" des propriétés de la couche.

Quelqu'un aurait une piste ?

Naturellement, j'aurais imaginer trouver cette possibilité depuis l'onglet "Source" et via un "Filtre d'entité du fournisseur de données",
mais la fonction "attribute( @atlas_feature , 'champ_de_filtrage')" fait planter le filtre d'entité...

Dernière modification par Sylvain M. (Wed 16 June 2021 16:31)


Sylvain M.

Hors ligne

 

#2 Wed 16 June 2021 16:38

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 1008

Re: QGIS/Atlas avec diagrammes: filtrer les entites selon attribut

Je viens de trouver une solution : la taille de mes diagramme était définie par un champ.
Je viens de rajouter cette expression pour mettre une taille de 0 pour les diarammes filtrés :

Code:

CASE WHEN "mon_champ" = attribute( @atlas_feature , 'champ_de_filtrage') THEN champ_taille ELSE 0 END

Si jamais vous aviez une autre solution, je prends quand même ! big_smile


Sylvain M.

Hors ligne

 

#3 Thu 17 June 2021 09:38

sylvain poupard
Participant assidu
Date d'inscription: 19 Mar 2009
Messages: 362

Re: QGIS/Atlas avec diagrammes: filtrer les entites selon attribut

Bonjour,

Avez-vous essayez depuis Rendu > Visibilité > montrer le diagramme > éditer votre solution ou : 'intersects($geometry,@atlas_geometry)' ?
Merci pour vos retours.

Bon courage


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

Hors ligne

 

#4 Thu 17 June 2021 15:50

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 1008

Re: QGIS/Atlas avec diagrammes: filtrer les entites selon attribut

Je n'avais pas vu ta réponse Sylvain (tiens donc wink ), mais je viens de trouver ce paramètre, et c'est effectivement bien plus efficace que de jouer sur la taille !
Je l'ai fait avec cette formule :

Code:

CASE WHEN "mon_champ"  = attribute( @atlas_feature , 'champ_de_filtrage') THEN 1 ELSE 0 END

C'est un booléen (1 ou 0). Et je n'avais pas besoin de le faire via la géométrie car j'ai l'info de filtrage en attribut.

C'est beaucoup mieux car en jouant sur la taille = 0, je ne pouvait plus utiliser l'option "Augmenter la taille des petits diagrammes", qui était pourtant nécessaire dans mon cas.

Merci à toi Sylvain big_smile


Sylvain M.

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo