#1 Tue 24 May 2022 18:17
- Ricola62
- Participant assidu
- Date d'inscription: 24 Apr 2012
- Messages: 167
QGIS: Legende Atlas / CLC ?
Je cherche à ajouter à la légende Corine Land Cover la proportion de l'occupation du sol dans l'emprise de mon Atlas.
J'essaye via une expression du type 
Code:
aggregate( layer:='clc', aggregate:='sum', expression:="surf", filter:="code"=112)
mais sans succès j'ai la surface totale à chaque fois
Hors ligne
#2 Wed 25 May 2022 09:06
- shirosaki
- Participant actif
- Lieu: Lyon
- Date d'inscription: 30 Mar 2018
- Messages: 127
Re: QGIS: Legende Atlas / CLC ?
Bonjour, 
la formule que vous avez renseigné renvoi la somme des surfaces des entités "Tissu urbain discontinu" (code = 112) de votre couche Corine Land Cover
pour avoir la somme des surfaces des entités "Tissu urbain discontinu" intersectants l'entité courante de l'atlas, il faut renseigner une formule de ce genre : 
Code:
 area(
    intersection(
    @atlas_geometry,
    collect_geometries(
        overlay_intersects(
            layer:='clc',
            expression:=$geometry,
            filter:="code"=112
            )
    )
    )
)ps : la couche 'clc' et la couche sur laquelle l'atlas repose doivent être dans le même système de coordonnées
Dernière modification par shirosaki (Wed 25 May 2022 09:16)
Paul QUESNOT
Hors ligne
#3 Wed 25 May 2022 11:31
- Ricola62
- Participant assidu
- Date d'inscription: 24 Apr 2012
- Messages: 167
Re: QGIS: Legende Atlas / CLC ?
ah ok merci 
cependant je voudrais que ce soit dynamique pour chaque étiquettes 
Code:
 area(
    intersection(
    @atlas_geometry,
    collect_geometries(
        overlay_intersects(
            layer:='clc',
            expression:=$geometry,
            filter:="code"= @symbol_label
            )
    )
    )
)cela me renvoi une chaine vide...
Hors ligne
#4 Wed 25 May 2022 13:59
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1744
Re: QGIS: Legende Atlas / CLC ?
Bonjour,
Essayez ceci
aggregate('clc','sum', "surf",filter:=within($geometry,@atlas_geometry))
Vous n'aurez que la somme, la proportion est une autre paire de manches...
Hors ligne
#5 Wed 25 May 2022 15:32
- Ricola62
- Participant assidu
- Date d'inscription: 24 Apr 2012
- Messages: 167
Re: QGIS: Legende Atlas / CLC ?
Vous n'aurez que la somme, la proportion est une autre paire de manches...
Mon but est justement de faire des proportions 
Hors ligne
#6 Wed 25 May 2022 16:54
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 4138
Re: QGIS: Legende Atlas / CLC ?
Bonjour,
@Ricola62, la suggestion de Paul vous renvoie-t-elle le résultat escompté? Si oui, la classification est bien faite sur le champ code? Et le texet de légende pas modifiée entre temps? Cf. https://docs.qgis.org/3.22/fr/docs/user … end-labels
Hors ligne
#7 Thu 02 June 2022 11:02
- Ricola62
- Participant assidu
- Date d'inscription: 24 Apr 2012
- Messages: 167
Re: QGIS: Legende Atlas / CLC ?
@santana merci, la doc qgis m'a bcp aidé
Code:
format( '%1 - %2 %',
        @symbol_label,
        round( aggregate(@layer, 'sum', $area, filter:= "lib"=@symbol_label AND  "id_ctxt" =  @atlas_featureid  )*100/area( @atlas_geometry ),1))Hors ligne
#8 Thu 02 June 2022 12:39
- Ricola62
- Participant assidu
- Date d'inscription: 24 Apr 2012
- Messages: 167
Re: QGIS: Legende Atlas / CLC ?
du coup je reviens sur mon résultat, je cherche à filtrer les items de légendes ( >0%) cependant dans l'outil "filtrer l'expression" je n'ai pas accès aux variables @symbol_label etc. avez vous une idée?
Hors ligne





