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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 08 April 2013 11:08

guibouvier
Participant actif
Date d'inscription: 23 Jan 2007
Messages: 104

QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Bonjour à tous,

malgré plusieurs posts ou liens traitant de la problématique du moteur d'étiquettes "ABC" sous Qgis 1.8 (permettant déjà beaucoup de choses !), je n'ai pas trouvé mon bonheur.
J'ai une couche "tronçon de voie" que je représente avec des couleurs différentes (Bleu, Rouge, Vert..) suivant un champ "Couleur" dans la table attributaire. Jusque là tout va bien.

J'aimerai si possible que les étiquettes affichant le nom de la voie aient une police de couleur différente à la manière de mes tronçons de voie.
Est ce possible de faire varier la police des étiquettes d'une couche (couleur, taille...) en fonction d'un champ attributaire ?

J'espère avoir été clair.

D'avance merci pour vos réponses

Gui

Hors ligne

 

#2 Mon 08 April 2013 11:13

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

depuis "ABC", tu as "famille de police" où spécifier la police


geodata au cerema et petits billets en géomatique

Hors ligne

 

#3 Mon 08 April 2013 11:27

guibouvier
Participant actif
Date d'inscription: 23 Jan 2007
Messages: 104

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

merci mais je souhaite pouvoir faire varier la police des étiquettes d'une même couche en fonction d'un champ.

Ex: Un champ "Couleur" dans ma table "axe de voie" alors:

- les axes de voie ayant la valeur "Rouge" dans champ "Couleur" seront tracés en rouge + leurs étiquettes seront écrites en rouge

- les axes de voie ayant la valeur "Bleu" dans champ "Couleur" seront tracés en bleu + leurs étiquettes seront écrites en bleu

et ainsi de suite...


j'ai vu que je pouvais manuellement modifier une étiquette particulièrement mais j'aimerai automatiser cela.

Dernière modification par guibouvier (Mon 08 April 2013 11:29)

Hors ligne

 

#4 Mon 08 April 2013 12:35

gaetanpru
Participant actif
Lieu: Limoges
Date d'inscription: 4 Jan 2012
Messages: 91

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Bonjour

Dans l'outils "ABC" il a l'onglet "source de définition des paramètres" et là tu peux spécifier une colonne de couleur, de police, de taille... Pour la police mais je ne sais pas si ça marche bien, je n'ai jamais testé. Je pense que c'est ce que disait baobazz.

Après pour tracer des axes avec une couleur différente, il faut utiliser une symbologie en catégorie.


Gaëtan - Béziers

Hors ligne

 

#5 Mon 08 April 2013 12:37

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3940

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Bonjour,
je ne l'ai jamais testé mais il me semble que la réponse est bien celle de Baobazz. Dans ABC, onglet "Source de définition des paramètres", vous avez la possibilité d'appliquer des modes de représentation (police, couleur, taille...) selon des valeurs de champs.
Après, je ne saurais vous dire sous quelle forme devrait être renseigné le contenu du champ, notamment couleur (surement RVB?)...

Hors ligne

 

#6 Mon 08 April 2013 13:40

guibouvier
Participant actif
Date d'inscription: 23 Jan 2007
Messages: 104

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

merci pour vos éléments,

j'ai vu effectivement cet onglet "source de définition des paramètres" , mais je ne savais pas comment il fonctionnait.
Je vais tester de l'héxadécimal et autres RGB.
Je ferai un retour.

Hors ligne

 

#7 Mon 08 April 2013 14:26

guibouvier
Participant actif
Date d'inscription: 23 Jan 2007
Messages: 104

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

SANTANNA a écrit:

Bonjour,
je ne l'ai jamais testé mais il me semble que la réponse est bien celle de Baobazz. Dans ABC, onglet "Source de définition des paramètres", vous avez la possibilité d'appliquer des modes de représentation (police, couleur, taille...) selon des valeurs de champs.


Super ça fonctionne !
il faut donc bien créer un champ dédié à la couleur de l'étiquette et renseigner les valeurs des couleurs en code héxadécimal. On peut de la même manière faire varier la taille de la police de l'étiquette en créant un champ dédié de type entier.

Le paramétrage des étiquettes est vraiment puissant sous Qgis, merci à tous pour votre aide.

Gui

Hors ligne

 

#8 Tue 09 April 2013 13:54

CBedeau
Participant occasionnel
Lieu: Cayenne
Date d'inscription: 5 Dec 2011
Messages: 38

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Pour compléter les infos sur le moteur d'étiquette de QGIS, un petit post bien expliqué sur le paramétrage (en anglais) :
http://gis.stackexchange.com/questions/ … g-settings

Concernant la couleur des polices, les noms "codes" des couleurs tels que définis par le W3C sont aussi acceptés, mais l'héxadécimal est fortement conseillé.
http://www.w3.org/TR/SVG/types.html#ColorKeywords

Hors ligne

 

#9 Tue 09 April 2013 14:54

christophe_hardy
Participant actif
Lieu: Arras
Date d'inscription: 24 Oct 2011
Messages: 101

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Bonjour,

D'abord vous créez un champ dans votre couche, dans lequel vous indiquez la couleur en héxadécimal.
Puis dans l'onglet ABC > source de définition des paramètres > ligne "couleur", vous sélectionnez ce champ.
Ça devrait fonctionner ainsi.

Hors ligne

 

#10 Tue 15 July 2014 18:26

mad44
Participant occasionnel
Date d'inscription: 5 Jan 2013
Messages: 15

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Bonjour,
Je fais suite à cette conversation. Savez-vous si avec la version de Qgis 2.2.0, il est possible d’étiqueter des entités avec des couleurs différentes en fonction d'un champ sans ajouter de nouveaux champs avec le code couleur (comme le demandait Guibouvier initialement).
Je vous remercie d'avance pour votre aide,

MAD

Hors ligne

 

#11 Wed 16 July 2014 04:10

Leyan
Participant assidu
Date d'inscription: 14 Oct 2013
Messages: 160

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Oui, c'est possible. Il faut créer une expression avec IF ou CASE ... WHEN. Les couleurs sont définies par une chaine de caractère de la forme 'R,V,B' où R, V et B sont des entiers entre 0 et 255 notant la quantité de rouge, vert et bleu.

Par exemple:

Code:

CASE 
 WHEN id <10 THEN '0,0,255'
 WHEN id >=10 and id<100 THEN '0,255,0'
 ELSE '255,0,0'
END

Hors ligne

 

#12 Wed 16 July 2014 09:30

mad44
Participant occasionnel
Date d'inscription: 5 Jan 2013
Messages: 15

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Merci beaucoup pour votre réponse.
Mais, je le note où ce code?

MAD

Hors ligne

 

#13 Wed 16 July 2014 09:35

mad44
Participant occasionnel
Date d'inscription: 5 Jan 2013
Messages: 15

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

En cherchant un peu plus, j'ai trouvé: il faut cliquer sur l'icône à droite de l'endroit où l'on choisit la couleur de l'étiquette, et choisir "Editer". Entrer la formule et ça fonctionne.
Merci énormément.

MAD

Hors ligne

 

#14 Fri 18 September 2015 16:16

Anaëlle
Participant occasionnel
Date d'inscription: 5 Apr 2011
Messages: 11

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Bonjour,
Je relance le sujet... j'ai la même question si je veux changer la police et le style de l'étiquette en fonction d'attributs.
Ex dans la couche communes de géofla, je veux afficher le nom des communes
en gras et en noir si "STATUT='Préfecture'
en italique avec un tampon blanc si STATUT='Chef-lieu'
en gris souligné si STATUT='Commune simple'.

C'est certainement possible (dans l'éditeur qui fut la solution ci-dessus)... mais comment faire ?
Merci
Bonne fin de semaine,
A.

Hors ligne

 

#15 Fri 18 September 2015 16:36

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

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Bonjour

En fonction de votre version de QGIS, au niveau des propriété de la couche "étiquette" en face de chaque option vous avez un icône d'option supplémentaire qui vous permet de saisir une expression.

dans style

Code:

CASE 
 WHEN "STATUT='Préfecture' THEN 'bold' ELSE 'Normal' END

Dans couleur

Code:

CASE 
 WHEN "STATUT='Préfecture' THEN '0,0,0' ELSE '255,0,0' END

Ainsi de suite pour chaque options.

Je vous conseil d'ouvrir à chaque fois la "description" pour connaître la valeur d'option attendue dans les expressions.



Cordialement

Dernière modification par Benoit91 (Fri 18 September 2015 16:38)


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

Hors ligne

 

#16 Tue 27 October 2015 11:07

Anaëlle
Participant occasionnel
Date d'inscription: 5 Apr 2011
Messages: 11

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Bonjour,
Merci, c'est exactement ce qu'il me fallait. Merci pour les explications claires, accompagnées de l'impression écran en plus !

Je me permets de préciser qu'il faut utiliser les termes français pour les descriptions :

Code:

CASE 
 WHEN "STATUT='Préfecture' THEN 'Gras' ELSE 'Normal' END

C'est top !
Merci
A.

Hors ligne

 

#17 Tue 27 October 2015 12:37

gustavecoste
Participant actif
Lieu: Montpellier
Date d'inscription: 24 Apr 2013
Messages: 118

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

QGIS 2.12 permet maintenant de faire un étiquetage basé sur des règles de la même manière qu'une symbologie catégorisée.
Globalement cela revient au même mais c'est un peu plus user friendly.


Gustave Coste

Hors ligne

 

#18 Wed 15 June 2016 11:59

CamCam21
Juste Inscrit !
Date d'inscription: 8 Jun 2016
Messages: 5

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Bonjour,

Je me permets de relancer le sujet mais je n'ai pas trouvé mon bonheur même en testant les différentes fonctions avec CASE... WHEN.
Pour une même couche, je fais apparaître 3 entités différentes dans mon étiquette (Site, espèce et abondance). J'aimerai que l'abondance soit écrit en plus gros que le site et l'espèce. J'ai tenté le code suivant dans le constructeur de chaine d'expression de la taille mais celui-ci ne fonctionne pas... J'en ai essayé pleins d'autres mais sans résultats. Pouvez vous m'aider svp ?

Code:

CASE 
WHEN  "Site"  =  'Marseille'  THEN '7'
WHEN  "Famille"   =  'X'  THEN '7'
WHEN  "Abondance" THEN '20'
END

Hors ligne

 

#19 Wed 15 June 2016 21:06

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

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Bonsoir,
il manque une comparaison de valeur pour la dernière règle "Abondance":

Code:

CASE 
WHEN  "Site"  =  'Marseille'  THEN '7'
WHEN  "Famille"   =  'X'  THEN '7'
WHEN  "Abondance" = 'une valeur' THEN '20'
END

Hors ligne

 

#20 Thu 16 June 2016 08:55

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3940

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Bonjour,
C'est moi qui ne comprends pas le besoin ou CamCam21 veut plutôt avoir dans une seule étiquette deux tailles de police différentes? Ce que ne fait pas cette formule et que nativement QGIS ne sait pas encore faire à ma connaissance.

Hors ligne

 

#21 Thu 16 June 2016 09:51

Lucien
Participant actif
Date d'inscription: 8 Mar 2016
Messages: 104

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Bonjour,

Le plus simple serait alors de dupliquer la couche, créer sur l'une les étiquettes "Site" et "Famille" de taille 7, sur l'autre l'étiquette "Abondance" et d'ajuster leur emplacement pour qu'elles ne se chevauchent pas

Hors ligne

 

#22 Thu 16 June 2016 10:34

CamCam21
Juste Inscrit !
Date d'inscription: 8 Jun 2016
Messages: 5

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

SANTANNA a écrit:

Bonjour,
C'est moi qui ne comprends pas le besoin ou CamCam21 veut plutôt avoir dans une seule étiquette deux tailles de police différentes? Ce que ne fait pas cette formule et que nativement QGIS ne sait pas encore faire à ma connaissance.


Bonjour,
Effectivement je voudrais 2 tailles de police différentes dans une seule et même étiquette. ça m'embête bien qu'il ne sache pas encore le faire...

Et pour répondre à Lucien, j'ai 68 couches de base ^^ je n'ai pas trop envie de faire une duplication de couches et de surcharger encore plus mon fichier sachant qu'il est déjà bien conséquent smile Mais en tout cas merci de la proposition !

Et Haubourg, si je n'ai pas mis de valeur c'est que j'en ai plusieurs et je voulais toutes les prendre en compte en une seule fois. Mais dans tous les cas j'ai vérifié et cette formule ne fonctionne pas pour la taille...

Hors ligne

 

#23 Fri 29 September 2017 13:59

dorotheeS
Juste Inscrit !
Date d'inscription: 8 Aug 2007
Messages: 3

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Bonjour,
j'ai un problème car avec les solutions données cela ne fonctionne pas.
voici ma formule:

"COMMUNE"  || '
' || CASE
WHEN  "M² DISP" <0 THEN 'bold' ELSE 'Normal' END

voyez vous des choses qui clochent?
Merci

Hors ligne

 

#24 Fri 29 September 2017 17:53

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3940

Re: QGIS 1.8: Etiquettes différentes à l'intérieur d'une même couche

Bonjour

voyez vous des choses qui clochent?


Il me semble bien. Votre formule renverra en sortie du texte du genre 'Paris bold' ou 'Paris Normal' et je ne suis pas sûr de savoir à quoi cela peut bien correspondre comme valeur, et QGIS encore moins.
Plutôt que de m'étaler dans des suppositions, précisez-nous ce que vous essayez de faire et où vous saisissez cette formule et peut-être arriverons-nous à mieux vous aider. Et pour rester dans le fil de discussion peut-être ce commentaire vous sera utile https://georezo.net/forum/viewtopic.php … 24#p274624 (ou celui juste avant)

Hors ligne

 

Pied de page des forums

Powered by FluxBB