Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
#1 Wed 29 January 2020 13:00
- OhCheat
- Participant actif
- Lieu: Toulouse
- Date d'inscription: 11 Apr 2014
- Messages: 58
QGIS: Symbologie conditionnelle
Bonjour,
J'essaye de mettre en place des symboles pour une couche dont la couleur serait liée à deux variables de ma table attributaire. Pour résumer, pour chaque entité, j'ai des effectifs et deux capacités (une haute et une basse). Je veux que la couleur soit verte si les effectifs sont inférieurs à la capacité basse, orange si ils sont entre la capacité basse et la haute et rouge si ils sont supérieurs à la capacité haute. Voici donc la formule que j'ai écrit :
CASE
WHEN "sc2_Haut25" <= "cap_27/div" THEN color_rgb( 51, 160, 44 )
WHEN "cap_27/div" < "sc2_Haut25" < "cap_30/div" THEN color_rgb( 255, 127, 0 )
WHEN "cap_30/div" <= "sc2_Haut25" THEN color_rgb( 235, 0, 0 )
END
Sauf que la formule ne fonctionne pas complètement et la couleur rouge ne s'affiche jamais, même quand les effectifs sont de loin supérieurs à la capacité haute.
Je voulais donc savoir ce qui clochait dans ma formule, car malgré un moment à tester plusieurs correction, rien n'y fait et je n'ai toujours que deux couleurs.
Merci d'avance, Corentin
Hors ligne
#2 Wed 29 January 2020 18:22
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 427
Re: QGIS: Symbologie conditionnelle
Bonjour,
Je pense qu'il faut simplifier tes tests en partant toujours de la valeur sur laquelle tu te bases pour choisir la couleur.
Si j'ai bien compris ça ferait le test suivant :
Code:
CASE WHEN "sc2_Haut25" <= "cap_27/div" THEN color_rgb( 51, 160, 44 ) WHEN "sc2_Haut25" > "cap_27/div" and "sc2_Haut25" < "cap_30/div" THEN color_rgb( 255, 127, 0 ) WHEN "sc2_Haut25" >= "cap_30/div" THEN color_rgb( 235, 0, 0 ) END
Par contre je me questionne, tu entres cette fonction dans le choix de couleur de remplissage du symbole directement ?
Ça me semble plus logique de le faire avec un ensemble de règles (rule-based).
Ci-joint un projet Qgis et un gpkg avec des données tests. J'ai enregistré les deux styles dans le geopackage pour que tu vois la différence.
En espérant avoir bien compris ta problématique.
Dernière modification par p.jeremie (Wed 29 January 2020 18:23)
Hors ligne
#3 Thu 30 January 2020 09:13
- OhCheat
- Participant actif
- Lieu: Toulouse
- Date d'inscription: 11 Apr 2014
- Messages: 58
Re: QGIS: Symbologie conditionnelle
En effet je fait ça directement dans le choix de couleur de remplissage, j'ai 3 symboles superposés pour chaque entité et chacun doit contenir cette formule pour sélectionner la couleur adaptée et ça me semblait plus simple de cette manière.
En tout cas ta formule fonctionne parfaitement, merci beaucoup !
Hors ligne