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 Thu 02 September 2021 15:43

Blandine38
Juste Inscrit !
Date d'inscription: 2 Sep 2021
Messages: 6

QGIS: Legende multiple de symboles

Bonjour,

J'ai dessiné des cercles qui se lisent sur 3 niveaux en fonction donc de 3 variables ; la taille, la couleur et le style de remplissage.
Cependant, lorsque je souhaite afficher la légende, je n'arrive qu'à le faire pour la taille, et ce n'est pas l'idéal car les cercles sont noirs sur noirs...
Pour les couleurs et tailles j'ai utilisé la fonction assistant et pour les styles j'ai créé des couches de symbole supplémentaire et une ligne de code que l'on m'a conseillé

Code:

CASE
WHEN "variable_3"='valeur_1' THEN 1
ELSE 0
END

Je ne sais pas si cela est possible mais j'aimerai que mon code couleur et style de remplissage puisse aussi s'afficher.

J'espère que c'est assez clair, merci pour votre aide

Hors ligne

 

#2 Fri 03 September 2021 11:01

Dolmayan
Participant occasionnel
Date d'inscription: 3 Aug 2014
Messages: 42

Re: QGIS: Legende multiple de symboles

Bonjour,

J'imagine que votre couche est une couche de points.

Dans ce cas il faut choisir le "Type de symbole" en "Symbole de remplissage"

Vous pouvez, de la même manière qu'avec les variables de taille, ou de couleur, jouer sur la variable de style de remplissage, quand vous sélectionnez l'élement "Remplissage simple"


Pour le type de remplissage, les valeurs attendues sont au choix.

[solid|horizontal|vertical|cross|b_diagonal|f_diagonal|diagonal_x|dense1|dense2|dense3|dense4|dense5|dense6|dense7|no]


Exemple :

Code:

CASE 
WHEN "variableA" = 'valeurB' THEN 'f_diagonal'
WHEN "variableA" = 'valeurB' THEN 'diagonal_x'
...
ELSE 'no'
END

Dernière modification par Dolmayan (Fri 03 September 2021 11:02)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#3 Mon 06 September 2021 10:28

Blandine38
Juste Inscrit !
Date d'inscription: 2 Sep 2021
Messages: 6

Re: QGIS: Legende multiple de symboles

Bonjour

Merci pour votre réponse, mais cela ne me permets pas d'afficher la légende lorsque je veux faire une mise en page, avez-vous une idée de comment faire ensuite ?

Merci d'avance

Hors ligne

 

#4 Mon 06 September 2021 14:19

aheurion
Participant actif
Lieu: NANTES
Date d'inscription: 8 Oct 2020
Messages: 142

Re: QGIS: Legende multiple de symboles

Pour afficher les différentes possibilités dans la légende il faut rajouter des couches de symboles qui représente la caractéristique mais en mettant 0 en expression de filtre. Ainsi la possibilité s'affiche dans la légende mais les entités ne pourront jamais l'utiliser.
N.B. : il existe peut-être un moyen plus élégant d'y parvenir

Hors ligne

 

#5 Mon 06 September 2021 17:51

Blandine38
Juste Inscrit !
Date d'inscription: 2 Sep 2021
Messages: 6

Re: QGIS: Legende multiple de symboles

Bonjour,

Je ne suis pas sûre de comprendre votre méthode...

Mais merci tout de même pour votre réponse

aheurion a écrit:

Pour afficher les différentes possibilités dans la légende il faut rajouter des couches de symboles qui représente la caractéristique mais en mettant 0 en expression de filtre. Ainsi la possibilité s'affiche dans la légende mais les entités ne pourront jamais l'utiliser.
N.B. : il existe peut-être un moyen plus élégant d'y parvenir

Hors ligne

 

#6 Tue 07 September 2021 09:30

aheurion
Participant actif
Lieu: NANTES
Date d'inscription: 8 Oct 2020
Messages: 142

Re: QGIS: Legende multiple de symboles

Pardon, je vais essayer d'être plus clair :

On contrôle l'affichage des couches de symboles avec une expression de filtre (dans l'édition de la règle, c'est juste en dessous du nom de l'étiquette). Si deux couches de symboles ont des expressions qui ne s'excluent pas alors il est possible que l'entité affiche les deux couches de symbole en même temps. Par exemple :
- Symbole_1 : si "champ_A"='valeur_A1'
- Symbole_2 : si "champ_B"='valeur_B1'
Si une entité possède la valeur_A1 pour le champ_A et la valeur_B1 pour le champ_B alors les deux symboles vont être superposés.

Ceci étant dit, pour afficher dans la légende une couche de symboles et être sûr qu'elle ne sera jamais utilisée par aucune entité, il suffit de mettre dans le filtre une expression qui sera toujours fausse, donc on met 'false' directement, soit 0 (0=false, 1=true).

Ainsi pour les trois variables il y aura trois ensembles de plusieurs couches de symboles :
- ensemble 1 : (uniquement la couleur varie)
     - variable_A=1 (filtre : 1  ou laisser vide pour prendre toutes les entités)
     - variable_A=2 (filtre : 0)
     - variable_A=3 (filtre : 0)
     - etc.
- ensemble 2 : (uniquement la taille varie)
     - variable_B=1 (filtre : 0)
     - variable_B=2 (filtre : 0)
     - variable_B=3 (filtre : 0)
     - etc.
- ensemble 3 : (uniquement le style de remplissage varie)
     - variable_C=1 (filtre : 0)
     - variable_C=2 (filtre : 0)
     - variable_C=3 (filtre : 0)
     - etc.

Ainsi les entités n'utiliseront que la première couche pour définir la taille, la couleur et le style de remplissage à utiliser (tout ça défini dans les expressions mentionnées dans les messages précédents), tandis que les autres couches ne serviront qu'à montrer les possibilités dans la légende. Quand j'indique 'uniquement la couleur/taille/style varie' je parle ici du style par défaut qui va donc s'afficher dans la légende ; bien évidemment pour la première couche de symboles il faut mettre les expressions qui feront varier le style, la taille et la couleur en fonction des variables.

Voilà, j'espère que c'est un peu plus clair ! Bon courage

Hors ligne

 

Pied de page des forums

Powered by FluxBB