#1 Thu 08 January 2015 16:11
- Elie45
- Participant actif
- Date d'inscription: 7 Nov 2014
- Messages: 57
QGIS: Double Etiquetage sur une couche
Bonjour,
Je possède une couche cadastre pour laquelle dans les attributs il existe deux colonnes : une pour la section et une pour le numéro de la parcelle.
Est-il possible de faire apparaitre deux étiquettes sur la couche pour pouvoir lire sur la carte la section et le numéro simultanément?
Hors ligne
#2 Thu 08 January 2015 16:28
- romainbh
- Participant assidu
- Date d'inscription: 20 Aug 2013
- Messages: 355
Re: QGIS: Double Etiquetage sur une couche
Il est possible d'afficher plusieurs attributs dans une même étiquette, soit à la suite soit avec des retours à la ligne.
par exemple, pour afficher deux champs à la suite :
Code:
"champ_1" || "champ_2"
Avec un espace entre les deux :
Code:
"champ_1" || ' ' || "champ_2"
Avec un retour à la ligne :
Code:
"champ_1" || '\n' || "champ_2"
En fait, toutes les possibilités de la calculatrice de champ peuvent être utilisées
Hors ligne
#3 Fri 09 January 2015 08:23
- jacques féraud
- Participant actif
- Date d'inscription: 13 Sep 2011
- Messages: 76
Re: QGIS: Double Etiquetage sur une couche
Bonjour,
Pourquoi ne pas créer un nouveau champ en concaténant section et numéro ?
Jacques
Hors ligne
#4 Fri 09 January 2015 09:54
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 4119
Re: QGIS: Double Etiquetage sur une couche
Bonjour,
A mon avis, vu qu'il existe des formules relativement simples pour effectuer son étiquetage, il vaut mieux les utiliser que de modifier la structure de ses données (pour cet unique usage). Imaginez ce que deviendrait cette table si dans un autre projet, il fallait afficher la sous-section et le numéro de feuille, puis une autre combinaison dans un autre projet...
Et puis utiliser la formule permet par ex de mettre facilement sur plusieurs lignes, ce qui requerrait plus de code dans le cas d'un champ concaténé.
Hors ligne
#5 Fri 09 January 2015 11:14
- Elie45
- Participant actif
- Date d'inscription: 7 Nov 2014
- Messages: 57
Re: QGIS: Double Etiquetage sur une couche
oui la méthode d'affichage de deux champs à la suite me va très bien. Simple et tout et tout. merci
Hors ligne
#6 Wed 14 December 2016 17:28
- BME
- Juste Inscrit !
- Date d'inscription: 14 Dec 2016
- Messages: 1
Re: QGIS: Double Etiquetage sur une couche
Je relance un vieux sujet.
Cette technique est très bonne, mais rien ne s'affiche dans les cas où un champ est nul.
Comment faire pour afficher une seule étiquette quand un champ est nul ?
Hors ligne
#7 Wed 14 December 2016 19:56
- Marc-André
- Participant assidu
- Lieu: Montréal
- Date d'inscription: 30 Sep 2005
- Messages: 688
Re: QGIS: Double Etiquetage sur une couche
Bonjour.
Vous pouvez essayer ceci:
Code:
(CASE WHEN "champ_1" IS NULL THEN '' ELSE "champ_1" END) || '\n' || (CASE WHEN "champ_2" IS NULL THEN '' ELSE "champ_2" END)
Dernière modification par Marc-André (Wed 14 December 2016 19:57)
Hors ligne
#8 Thu 15 December 2016 10:00
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 4119
Re: QGIS: Double Etiquetage sur une couche
Bonjour,
Ou combinez avec la fonction concat qui gère bien le null (voir quelques exemples d'étiquettes à http://docs.qgis.org/2.14/fr/docs/user_ … pressions)
Hors ligne
#9 Fri 16 December 2016 08:08
Re: QGIS: Double Etiquetage sur une couche
Bonjour,
Pour traiter les valeurs nulles, on a aussi :
Code:
COALESCE("champ_1", '')
qui permet de renvoyer une chaine vide (ou autre chose) si champ_1 est NULL.
Christophe Damour (SIGéal)
Hors ligne
#10 Tue 21 January 2025 10:33
- Alex482
- Participant occasionnel
- Date d'inscription: 2 Feb 2018
- Messages: 20
Re: QGIS: Double Etiquetage sur une couche
Bonjour,
Et comment faire, s'il vous plait, pour que "champ_2" soit en italique ? (Et "champ_1" pas en italique).
Merci beaucoup !
Alex
Hors ligne
#11 Tue 21 January 2025 14:24
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 403
Re: QGIS: Double Etiquetage sur une couche
A partir de QGIS 3.16, dans les propriétés de l'étiquette, vous pouvez cocher « Rendu HTML », afin que les étiquettes puissent être interprétées comme du code HTML. Votre étiquette peut alors être écrite comme suit :
'<b>'||"Champ2"||'</b>' || '<br>' || "Champ1" || '<br>' || "Champ3"
vous utilisez <b></b>pour écrire en gras et <br>pour changer de ligne. Ou champ1 sera écrit en gras donc.
possible d'avoir un rendu sous forme de tableaux.
source https://gis.stackexchange.com/questions … el-in-qgis
Hors ligne
#12 Tue 21 January 2025 16:45
- Alex482
- Participant occasionnel
- Date d'inscription: 2 Feb 2018
- Messages: 20
Re: QGIS: Double Etiquetage sur une couche
Bonjour,
Merci beaucoup pour votre réponse, qui correspond bien à mon besoin.
Toutefois, après avoir bien coché la case "Permettre le formatage HTML", la prévisualisation donne le résultat attendu, mais le canevas de carte n'en tient pas compte (les styles appliqués restent ceux définis hors formatage HTML).
Sauriez-vous pourquoi ?
Merci, Bien cordialement, Alex
Hors ligne