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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 07 May 2020 17:04

vottana
Participant occasionnel
Lieu: Caen
Date d'inscription: 12 Mar 2008
Messages: 32

QGIS 3.10: Atlas, decompte des entites par categorie affichee [N/A]

Bonjour à tous,

Je travaille sur un atlas d'espèces nicheuses et j'ai environs 400 cartes à sortir : une carte par espèce, avec une symbologie sur une couche ponctuelle catégorisée avec 4 classes (sur un champ INDICE = 0 à 4).

Grace aux tutos sur le net et aux différents posts sur ce forum, j'ai pu sans problème sortir les cartes par espèce (je n'ai pour l'instant fait le test du générateur d'atlas que pour 2 espèces).
C'est pour la légende que je rencontre un problème : je dois afficher le décompte des entités pour chaque catégorie sur chaque carte.
Le décompte des entités fonctionne bien si je n'utilise pas le générateur d'atlas.
Mais pour l'atlas, j'ai utilisé l'ensemble de règles pour la symbologie catégorisée :

Code:

"ESPECE"  = attribute(@atlas_feature ,'ESPECE') AND "INDICE" = 0

(x4, pour chaque indice) et dans ce cas, le décompte affiche [N/A] pour chaque catégorie.

Dans le composeur, dans les propriétés de la légende, j'ai coché "Ne montrer que les entités à l'intérieur de l'entité atlas courante" mais dans mon cas l'entité étant toujours la même, ça ne change rien.

En farfouillant sur le forum, j'ai trouvé des posts portant sur le générateur d'atlas, d'autre sur le décompte, mais pas vu de post sur le décompte dans un atlas...

Est-ce que vous auriez une piste ou une solution ?
Merci d'avance pour votre aide,
à bientôt, Vottana

Dernière modification par vottana (Fri 08 May 2020 00:40)


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

Hors ligne

 

#2 Thu 07 May 2020 18:23

vottana
Participant occasionnel
Lieu: Caen
Date d'inscription: 12 Mar 2008
Messages: 32

Re: QGIS 3.10: Atlas, decompte des entites par categorie affichee [N/A]

re,

Une solution serait de faire une légende manuelle (dessiner les cercles colorés avec le nom de la classe correspondante dans le composeur) et de récupérer dans un texte le décompte des entités pour chaque classe.
Dans l'analyse thématique, lorsque j'écris les règles pour chaque indice, en lançant le test du filtre, j'obtiens bien le nombre d'entité. Je me dis donc que cette règle peut renvoyer le décompte.

Dans le composeur, dans une étiquette texte j'essaie avec :

Code:

[% aggregate('Test_composeur_atlas','count',"ESPECE" = attribute(@atlas_feature ,'ESPECE') AND "INDICE" = 0)%]

Malheureusement, cela me renvoie le nombre d'entités totales de ma couche, comme si le filtre n'était pas appliqué, il manque quelque chose.
Mais je ne sais pas si cette solution peut fonctionner, si vous avez des pistes ?

Merci d'avance, Vottana

Hors ligne

 

#3 Fri 08 May 2020 12:57

Julien81
Participant assidu
Lieu: Giroussens
Date d'inscription: 14 Jan 2019
Messages: 181

Re: QGIS 3.10: Atlas, decompte des entites par categorie affichee [N/A]

Bonjour,

je ne sais pas si j'ai bien compris votre souci, mais pour ma part pour du proportionnel je représente mes classes de la même façon que vous (légende composeur : les symboles de couleur). Par contre pour le côté effectif (de votre symbole proportionnel), on peut contourner le problème en dupliquant dans votre projet la couche de point (votre couche) :
1-Vous conservez votre version pour le rendu visuel (avec symbole proportionnel ok dans la carte mais problème légende, que les classes de couleur
2-La couche dupliquée est à paramétrer avec des diagrammes dont la taille est fixée comme pour votre symbole proportionnel, catégorisé. Ceux ci par contre, les diagrammes, se chargent bien en légende côté composeur pour représenter des classes d'effectif (vous pouvez les utiliser en complément de légende ne représentant qu'un contour pour un rendu emboité de cercle proportionnel avec l'échelle de valeur correspondante)

Donc garder votre représentation carto, faire un duplicata de votre couche et lui paramétrer des diagrammes (contours de vos cercles proportionnels), afficher ou non cette dernière en superposition, charger la légende des diagrammes (bien paramétrée) en complément dans votre légende de composeur.

Sinon, s'il s'agit de faire apparaitre les valeurs exactes aggrégées de vos classes d'entités de l'Atlas, peut-être voir pour rajouter une table attributaire avec l'expression qui va bien ou générer vos aggregats en amont côté projet (en sql par ajout de couche virtuelle à partir de votre couche de données) pour charger le résultat directement (sans calcul côté atlas).

Toujours est-il que les expression d'aggrégat, de souvenir sont :

Code:

aggregate('Macouchecible', 'aggrégat' , 'Expression', 'Filtre',..)

Donc votre filtre sur l'espèce et l'indice est passé en expression, peut-être n'est-ce-pas le problème, mais j'aurais plutôt compté les identifiants, filtrés par les paramètres que vous citez :

Code:

aggregate('Test_composeur_atlas','count',"fid", ESPECE" = attribute(@atlas_feature ,'ESPECE') AND "INDICE" = 0)%]

Ensuite bien activer le mode Atlas (case à cocher) côté composeur après avoir réglé vos objets et expressions, là les filtres seront actifs.

Bonne journée

Dernière modification par Julien81 (Fri 08 May 2020 13:02)

Hors ligne

 

#4 Fri 08 May 2020 13:12

Julien81
Participant assidu
Lieu: Giroussens
Date d'inscription: 14 Jan 2019
Messages: 181

Re: QGIS 3.10: Atlas, decompte des entites par categorie affichee [N/A]

Pour la partie légende directement en symbole proportionnele il y a cette explication qui a été amenée dans un post très récent :

https://georezo.net/forum/viewtopic.php … 70#p332770

cdlt

Hors ligne

 

#5 Sun 10 May 2020 20:46

vottana
Participant occasionnel
Lieu: Caen
Date d'inscription: 12 Mar 2008
Messages: 32

Re: QGIS 3.10: Atlas, decompte des entites par categorie affichee [N/A]

MERCI Julien81 !
Vous avez résolu mon problème en 3 lettres : "fid".
Je n'avais pas de problèmes de légende avec des cercles proportionnels, mes données ne comportent pas d'effectifs, c'est un champ INDICE (allant de 0 à 4 mais ces chiffres sont utilisés comme des catégories), c'est donc une analyse thématique par catégorie sur la valeur de l'indice.
Je n'arrivais pas à avoir le décompte des entités de chaque catégorie dans la légende en utilisant le générateur d'atlas. En faisant une analyse thématique "classique" sur le champs INDICE pour une espèce donnée, j'obtenais bien le décompte, mais en passant par les ensemble de règles (pour l'utilisation du générateur d'atlas), j'obtenais [N/A].

La solution était donc de récupérer le décompte dans une étiquette texte directement dans le composeur.
Dans ma formule, je faisais donc un décompte, avec un filtre, mais sans préciser ce que je voulais compter... Pas besoin de dupliquer la couche ou autre manip, c'est le "fid" qui manquait !

Encore un grand merci, vous m'avez fait gagner un temps monstre !
Vottana

Hors ligne

 

Pied de page des forums

Powered by FluxBB