Message posté par : Jeremy80 (jeremy.bachmann(a)developpement-durable.gouv.fr)
----------------------------------------
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 ?
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=355938#p355938
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net