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é ?

#1 Mon 02 March 2020 14:32

Giene
Participant actif
Date d'inscription: 1 Dec 2018
Messages: 75

QGIS: Style polygones - Ensemble de regle + Categorisation

Bonjour,

Je passe de temps en temps sur le forum georezo pour différents problèmes que j'ai sur QGIS et que je parviens généralement à résoudre.
Mais pour cette fois, tous mes tests s'avèrent peu concluants et je ne parviens pâs à trouver de solution sur le net (peut-être parce que je ne m'y prend pas de la bonne manière).

Dans mes recherche je me suis aidé de discussions autour de sujets similaires sur le forum (https://georezo.net/forum/viewtopic.php?id=106957 ; https://georezo.net/forum/attachment.php?item=7115 ; sans succès.

Mon problème est le suivant :
J'utilise, dans une colonne de la table attributaire des codes (nomenclature EUNIS) qui se présentent sous cette forme :

"LETTRE" "CHIFFRE" "." "CHIFFRE ou LETTRE" "CHIFFRE" etc.

Je voudrais créer une règle qui dit que :
Si un code commence par la lettre "J" alors QGIS doit chercher une couleur dans une liste de couleurs pré-enregistrées (plusieurs teintes de gris par exemple). Si un champ dans cette même colonne commence par la lettre "J mais que le chiffre qui suit est "1" alors QGIS utilise toujours le gris, mais avec une teinte différente parmi celles pré-enregistrées.

En une ligne : Chaque code doit posséder une teinte différente, la première lettre du code permettant de définir la couleur de base à utiliser (rose, gris, jaune, etc.)


Ceci est la première étape, par la suite, j'aimerais être un peu plus précis en distinguant les codes après le "." et puis les mélanges de codes (mais c'est une autre histoire...).

J'espère avoir été clair dans mes explications, sinon je m'efforcerai d'être plus précis.

Je vous remercie de votre attention,
Bonne journée !

Hors ligne

 

#2 Tue 03 March 2020 02:11

lylambda
Participant actif
Date d'inscription: 31 Aug 2016
Messages: 127

Re: QGIS: Style polygones - Ensemble de regle + Categorisation

Dans QGIS, de manière générale, un élément de style peut être définis en fonction de la valeur d’un attribut via la définition de donnée imposée.

Ainsi, si tu effectues la démarche suivante sur ta couche de polygone...

> Clic droit « Propriété... »
> Onglet « Symbologie »
> Menu « Symbole simple »
> Sous-menu « Remplissage simple »
> Icône « définition de donnée imposée » à droite du Champ « Couleur de remplissage »
> Menu « Éditer... »


...cela va ouvrir un constructeur de chaîne d’expression dont le format de sortie attendu devra être une « Chaîne de caractères [r, v, b, a] composée d'entiers 0-255 ou #RRVVBBAA en hexadécimal ou couleur du nom de la couleur ».
A toi de créer une formule qui, à partir des valeurs de ton attribut "TON-CODE-EUNIS", devra en déduire un code couleur selon le format spécifié ci-dessus.

Exemples (non fonctionnels) :
1. Définir une concordance entre chacune des valeurs possibles de ton attribut avec un code couleur spécifique

Code:

CASE
WHEN "TON-CODE-EUNIS" IS ‘J1.X0’ THEN '#00b0f0'
WHEN "TON-CODE-EUNIS" IS ‘J2.Y3’ THEN '#92d050'
[...]
ELSE '#ffffff'
END

2. Interpréter le format des valeurs de ton attribut pour le transformer au format du code couleur

Code:

regexp_replace("TON-CODE-EUNIS",  array( 'J', '1', [...]), '#' array('00', 'b0', […]))

L'exemple 1 risque de vite devenir une usine à gaz, si de multiples valeurs sont possibles dans ta table attributaire. Tandis que l'exemple 2 nécessite que les éléments de ton code soient traduisibles en "Rouge Vert Bleu Alpha".

J'espère que cela t'ouvre des pistes.
Bonne continuation !

Dernière modification par lylambda (Tue 03 March 2020 02:12)

Hors ligne

 

Pied de page des forums

Powered by FluxBB