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

Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.

Vous allez recevoir un message pour effectuer ce changement de mot de passe.

Merci de bien respecter les règles préconisées.

#1 Tue 18 October 2022 13:41

Jeremy80
Juste Inscrit !
Date d'inscription: 18 Oct 2022
Messages: 1

QGIS: Cartes par variable

Bonjour,

J’ai une couche avec de nombreux champs (Note1, Note2, …).
Entité / Note1 /Note2 /Note3
A / 3 / 2 / 1
B / 2 / 1 / 1

Je souhaite sortir une carte pour chaque champ. La symbologie à utiliser est la même (catégorisé 0 à 3).
J’ai créé une couche de couverture sans géométrie avec la liste de mes champs (Note1, Note2, …) et un libellé correspondant.
ListeNote / Lb_Note
Note1 / Nom du paramètre 1
Note2 / Nom du paramètre 2

Plutôt que de changer la Valeur de symbologie et le titre de la carte manuellement, je pensais utiliser un atlas.
Mais comment changer la symbologie ?

Quelques pistes de réflexion :
A/ Transformer la table en liste = dupliquer toutes les entités
Entité / ValeurNote / TypeNote
A / 3 / Note1
A / 2 / Note2
B / 2 / Note1
B / 1 / Note2
Ensuite, dans Ensemble de règles, je pourrais mettre un filtre
Symbole0 : "TypeNote" = @atlas_pagename AND "ValeurNote" = 0
Symbole1 : "TypeNote" = @atlas_pagename AND "ValeurNote" = 1
...
ou
Symbole0 : "TypeNote" = attribute( @atlas_feature, 'ListeNoteNote') AND "ValeurNote" = 0
Symbole1 : "TypeNote" = attribute( @atlas_feature, 'ListeNoteNote') AND "ValeurNote" = 1
...
> Cela multiplie énormément les entités

B/ Dupliquer la couche = 1 couche par variable
> Cela revient à tout faire à la main.

C/ Ensemble de règles filtrées
Symbole0 : "Note1" = 0 AND @atlas_pagename = ‘Note1’
Symbole1 : "Note1" = 1 AND @atlas_pagename = ‘Note1’
Symbole0 : "Note2" = 0 AND @atlas_pagename = ‘Note2’
Symbole1 : "Note2" = 1 AND @atlas_pagename = ‘Note2’

ou
Symbole0 : ("Note1" = 0 AND @atlas_pagename = ‘Note1’) OR (Symbole0 : "Note2" = 0 AND @atlas_pagename = ‘Note2’) OR ...
Symbole1 : ("Note1" = 1 AND @atlas_pagename = ‘Note1’) OR (Symbole1 : "Note2" = 1 AND @atlas_pagename = ‘Note2’) OR ...

> Long à intégrer ou à écrire

D/ Ce qui me paraitrait “ facile ” ce serait de pouvoir sélectionner la variable selon ma liste de couverture
Symbole0 : CHAMPS(@atlas_pagename) = 0
Symbole1 : CHAMPS(@atlas_pagename) = 0

> Je ne trouve pas cette fonction ‘CHAMPS’ qui renverrait un nom de champ à partir de texte (i.e. transformer ‘Note1’ en "Note1")

Quelqu’un a une idée ?

Hors ligne

 

#2 Fri 26 May 2023 13:03

luc daniel
Juste Inscrit !
Date d'inscription: 9 Oct 2008
Messages: 4

Re: QGIS: Cartes par variable

Bonjour,
je suis tombé sur votre post en ayant le même besoin
J'ai finalement trouvé la solution avec la fonction eval qui semble marcher :

eval(@atlas_pagename) = 0

Si ça peut servir à d'autres...
Luc

Hors ligne

 

Pied de page des forums

Powered by FluxBB