#1 Mon 28 October 2024 21:47
- guillaume
- Participant actif
- Date d'inscription: 5 Sep 2005
- Messages: 66
QGIS: Filtre sur un atlas
Bonjour,
j'ai une table de plus de 1000 entités ponctuelles, avec un champ NOM (contenant 11 valeurs uniques).
Je cherche le 1er fid de chaque valeur unique, afin de filtrer un atlas et ainsi n'avoir que 11 mises en page, chacune avec un NOM différent.
Ai-je été assez clair ?
J'ai cherché du coté des fonctions array, array_agg, je n'arrive à rien.
D'avance merci, Guillaume
Hors ligne
#2 Wed 30 October 2024 12:15
- Julien81
- Participant assidu
- Lieu: Giroussens
- Date d'inscription: 14 Jan 2019
- Messages: 181
Re: QGIS: Filtre sur un atlas
Bonjour,
vous souhaitez filtrer vos fid de la couche d'atlas avec le plus petit fid de chaque catégorie "NOM". C'est un agrégat directement sur votre couche d'atlas avec l'expression minimum() avec un champ de regroupement et un filtre par rapport à votre entité d'atlas courante cf. doc qgis.
Quelque chose comme :
Code:
"fid"=minimum( "fid", "NOM", "NOM"=attribute(@feature,'NOM'))
devrait fonctionner d'après ce que j'ai pu comprendre, puisque toute les info sont déjà dans votre couche!
Cordialement
Hors ligne
#3 Wed 30 October 2024 14:55
- guillaume
- Participant actif
- Date d'inscription: 5 Sep 2005
- Messages: 66
Re: QGIS: Filtre sur un atlas
Merci Julien, cela fonctionne parfaitement ; je n'avais pas envisagé cette fonction.
J'étais parti sur une autre piste, un peu usine à gaz !
- une couche virtuelle "fid_nom", obtenue ainsi :
Code:
select fid, NOM, count(*) nb_points from points group by NOM order by NOM
- un filtre s'appuyant sur cette dernière :
Code:
attribute(get_feature('fid_nom','NOM',attribute(@feature,'NOM') ),'fid')= fid
- un titre pour chaque page, rappelant le nb de points par attribut NOM :
Code:
attribute(get_feature('fid_nom','NOM',attribute(@feature,'NOM') ),'nb_points')
Il n'y a pas de quoi être fier !
Cordialement
guillaume
Hors ligne
#4 Tue 05 November 2024 14:25
- Julien81
- Participant assidu
- Lieu: Giroussens
- Date d'inscription: 14 Jan 2019
- Messages: 181
Re: QGIS: Filtre sur un atlas
Top si c'est ok de la sorte!
Le coup de virtual layer ou requetes intermédiaires peut-être bien pratique! Si on doit recalculer des champs on restructurer la couche qui drive l'atlas faire des jointure etc... Pour ma part en procédant de la sorte j'ai pris pour habitude d'enregistrer en dur les résultats dans un template, via un modeleur plutôt que d'utiliser directement la couche virtuelle.
Hors ligne