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

GEODATA DAYS 2024

#1 Fri 26 June 2015 06:54

Alban>Joly
Juste Inscrit !
Date d'inscription: 13 May 2015
Messages: 3

QGIS : plusieurs tyles selon les champs

Bonjour,

Je suis dans une impasse depuis quelques heures.

J'ai une couche de polyligne représentant la végétation des berges.
sur cette couche j'aimerais appliquer des styles selon les valeurs dans les champs.
j'ai 3 champs avec des valeurs différentes: nature (arboree, arbustif, herbace) , presence (continu, discontinu, eparse) et largeur (5, 5-10, 10)

est-il possible de creer un style ou un ensemble de règle de style qui me permettrait de caler ce style de la couche selon les 3 valeurs des 3 champs?

merci

Alban

Hors ligne

 

#2 Fri 26 June 2015 09:19

Benoit91
Participant assidu
Date d'inscription: 2 Oct 2008
Messages: 263

Re: QGIS : plusieurs tyles selon les champs

Bonjour

Oui c'est possible avec une expresion de type CASE WHEN ....THEN END

Exemple

Code:

CASE WHEN "nature"='arboree' AND "presence"='continu' AND "largeur"='5' THEN 'valeur'
WHEN "nature"='arboree' AND "presence"='discontinu' AND "largeur"='10' THEN 'valeur2'
..
END

Répéter autant de fois la clause WHEN que vous voulez de valeurs.

Sinon, plus simple, vous pouvez ajouter un nouveau champ à votre table qui permettra de concaténer vos 3 champs. Vous pourrez ensuite faire un style catégorisé.


Code:

"nature" || "présence" || "largeur"

Cordialement.

Dernière modification par Benoit91 (Fri 26 June 2015 09:20)

Hors ligne

 

#3 Fri 26 June 2015 11:10

haubourg
Participant assidu
Lieu: Grenoble
Date d'inscription: 7 Sep 2005
Messages: 257
Site web

Re: QGIS : plusieurs tyles selon les champs

Bonjour,
un poil plus simple, l'analyse par règles, qui permet de reprendre l'approche conditionnelle de Benoit91, sans taper la partie CASE WHEN THEN END

chaque règle aura un filtre du type

Code:

"nature"='arboree' AND "presence"='continu' AND "largeur"='5'

et un alias.

En bonus, un outil vous permet de vérifier qu'il n'y a pas de doubles comptes dans vos règles, ce qui est un piège fréquent, et on peut ajouter la classe "Else" qui représente tous les objets non concernés par les classes précédentes.

Bonne journée

Hors ligne

 

Pied de page des forums

Powered by FluxBB