Pages: 1
- Sujet précédent - QGIS/Atlas avec diagrammes: filtrer les entites selon attribut - Sujet suivant
#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 !
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
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 ), 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
Sylvain M.
Hors ligne
Pages: 1
- Sujet précédent - QGIS/Atlas avec diagrammes: filtrer les entites selon attribut - Sujet suivant