Pages: 1
- Sujet précédent - QGIS: Atlas decompte dans la legende d'entite categorisee - Sujet suivant
#1 Thu 08 September 2022 19:46
- Mymy
- Participant occasionnel
- Date d'inscription: 6 Nov 2013
- Messages: 20
QGIS: Atlas decompte dans la legende d'entite categorisee
Bonjour,
je cherche à avoir dans ma légende de mise en page, le nombre d'entité par catégorie d'un champ et cela de manière dynamique dans un atlas.
J'ai une couche ponctuelle ("inventaires") dans laquelle j'ai 3 champs: "espece", "nbindiv" (nombre d'individu) et "zone". Ce sont des inventaires naturalistes. J'ai catégorisé avec le champs "espece"
J'ai créé une couche polygone pour faire ma couche de couverture d'un atlas ("zonecouv") comportant un champ "numzone", correspondant à un identifiant de ma zone. Ce "numzone" correspond au numéro d'entité de l'atlas (atlas_featurenumber). Au sein de chaque "numzone", j'ai l'ensemble des points de la couche inventaire avec le champ "zone" ayant une seule et même valeur (égal à numzone).
J'ai essayé de faire une formule dans la légende pour obtenir le nom d'espèce ainsi que le décompte de celle-ci au sein de chaque carte de l'atlas de manière dynamique mais cela ne fonctionne pas et je ne vois pas où je me plante....
Code:
format( '%1 - %2', @symbol_label ,aggregate(@layer, 'sum', "nbindiv" , filter:= "espece" = @symbol_label AND @atlas_featurenumber = "numzone" ))
Avec cette formule, j'obtiens des résultats mais non cohérents. J'ai pas mal fouillé sur votre site et d'autres sites mais là je bloque complet. Merci pour votre aide
PS: je suis sur QGIS 3.10
Hors ligne
#2 Fri 09 September 2022 09:56
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS: Atlas decompte dans la legende d'entite categorisee
Bonjour,
Le hic se trouve à
AND @atlas_featurenumber = "numzone"
Cette variable représente en fait le numéro incrémentiel qui apparaît dans la liste déroulante des boutons pour prévisualiser l'atlas dans la mise en page, et dépend donc fort de l'ordre de tri et de filtre dans les paramètres de l'atlas. Il est fort peu probable qu'il soit synchrone avec vos données.
Il vous faut une correspondance de champ entre les deux couches; quelque chose du genre
Code:
AND "numzone" = attribute (@atlas_feature, 'numzone')
Voir les exemples à https://docs.qgis.org/3.22/fr/docs/user … label-item
Hors ligne
Pages: 1
- Sujet précédent - QGIS: Atlas decompte dans la legende d'entite categorisee - Sujet suivant