5 expressions QGIS pour créer des étiquettes plus claires et plus efficaces — Le Guide Eurêkarto
19 août 2026, 12:00
8 min
54
Comment afficher des étiquettes plus complètes dans QGIS sans modifier sa table attributaire ?
Sur une carte, un simple nom de ville ne suffit pas toujours. Il peut être utile d’afficher un nom alternatif lorsqu’une valeur manque, d’ajouter la population sur une deuxième ligne, de faire ressortir les capitales ou encore de préciser le pays auquel appartient chaque ville. Toutes ces opérations peuvent être réalisées directement dans le moteur d’expressions de QGIS.
Dans cette astuce, nous vous présentons cinq expressions faciles à réutiliser pour enrichir vos étiquettes et mieux hiérarchiser l’information. Les exemples reposent sur la couche Populated Places de Natural Earth, mais la méthode fonctionne avec n’importe quelle couche vectorielle disposant de champs équivalents.
Avant de commencer, ouvrez les Propriétés de la couche concernée, puis rendez-vous dans l’onglet Étiquettes. Choisissez l’option Étiquettes simples, puis cliquez sur le bouton d’expression situé à droite du champ Valeur.
Vous pouvez alors écrire ou coller une expression dans l’éditeur. L’aperçu affiché sous la zone de saisie permet de vérifier immédiatement le résultat sur une entité de la couche.
Dans les expressions QGIS, il faut bien distinguer deux types d’éléments :
- les noms de champs sont placés entre guillemets doubles, par exemple ' "NAME_FR" ' ; - les textes ajoutés manuellement sont placés entre apostrophes, par exemple ' 'Capitale : ' '.
Cette différence est essentielle. Si les guillemets ne sont pas utilisés correctement, QGIS risque d’interpréter un nom de champ comme un simple texte, ou inversement.
Utiliser un nom alternatif lorsqu’un champ est vide
Une base de données peut proposer plusieurs champs pour désigner un même lieu : nom principal, nom français, nom local ou variante historique. Or le champ que l’on souhaite privilégier n’est pas toujours renseigné pour toutes les entités.
Pour éviter d’obtenir des étiquettes vides, on peut demander à QGIS d’utiliser un second champ lorsque le premier ne contient aucune valeur.
coalesce(nullif("NAMEPAR", ''), "NAME_FR")
Cette expression combine deux fonctions :
- nullif("NAMEPAR", '') transforme une chaîne vide en valeur nulle ; - coalesce() renvoie la première valeur non nulle de la liste.
QGIS affiche donc le contenu de "NAMEPAR" lorsqu’il existe. Si ce champ est vide, le logiciel utilise automatiquement "NAME_FR". On obtient ainsi une couverture plus homogène, sans devoir remplir manuellement les cellules manquantes dans la table attributaire.
Cette méthode est particulièrement utile avec des données multilingues ou provenant de sources dont le niveau de complétude varie selon les territoires.
Une étiquette peut associer plusieurs informations. Pour représenter des villes, il est par exemple intéressant d’afficher le nom sur une première ligne, puis la population sur une seconde.
La fonction 'concat()' assemble les différents éléments de l’étiquette. Ici :
- "NAME_FR" affiche le nom de la ville ; - 'char(10)' insère un retour à la ligne ; - 'format_number("POP_MAX", 0)' affiche la population sans décimale et avec un séparateur de milliers ; - ' hab.' ajoute l’unité à la fin du nombre.
On obtient par exemple :
Boa Vista 235 150 hab.
La fonction 'format_number()' est importante : un nombre comme '235150' est plus difficile à lire qu’un nombre correctement espacé. Le séparateur utilisé dépend des paramètres linguistiques de QGIS. Pour imposer le format français, vous pouvez préciser la langue :
format_number("POP_MAX", 0, 'fr')
Le retour à la ligne évite également de créer une étiquette trop longue. Sur une carte dense, cette présentation compacte facilite le placement automatique et améliore la lecture.
Pour faire ressortir une catégorie de lieux ou simplement uniformiser la typographie, QGIS peut convertir automatiquement le contenu d’un champ en lettres capitales.
upper("NAME_FR")
La fonction 'upper()' transforme le texte sans modifier les données d’origine. 'Caracas' devient ainsi 'CARACAS', tandis que la valeur stockée dans la table attributaire reste inchangée.
Cette distinction est utile : l’expression agit uniquement sur l’affichage. Vous pouvez donc tester plusieurs partis pris graphiques sans créer un nouveau champ ni altérer votre jeu de données.
Les capitales doivent toutefois être utilisées avec mesure. Un texte entièrement en majuscules occupe davantage d’espace et peut rapidement dominer la carte. Il fonctionne bien pour créer un niveau de lecture supérieur, mais moins bien lorsque toutes les étiquettes doivent rester discrètes.
Lorsque plusieurs villes portent le même nom, ou lorsqu’une carte couvre plusieurs États, ajouter le code du pays permet de lever rapidement les ambiguïtés.
"NAME_FR" || ' (' || "ADM0_A3" || ')'
L’opérateur '||' sert à concaténer plusieurs morceaux de texte. L’expression assemble le nom français, une espace et une parenthèse ouvrante, le code du pays, puis une parenthèse fermante.
Le résultat prend la forme suivante :
Maracaibo (VEN) Barranquilla (COL) Panama (PAN)
Cette écriture est concise et facile à réutiliser. Elle peut être adaptée avec un code à deux lettres, un nom de pays complet ou tout autre champ administratif disponible dans vos données.
Attention cependant : avec l’opérateur '||', une valeur nulle peut rendre l’ensemble du résultat nul selon la version et le contexte utilisés. Si le code pays n’est pas toujours renseigné, une expression conditionnelle ou 'concat()' offrira un comportement plus robuste.
Toutes les villes n’ont pas la même importance cartographique. Pour signaler les capitales sans créer une nouvelle colonne, on peut ajouter un préfixe uniquement lorsque l’entité remplit une condition.
CASE WHEN "ADM0CAP" = 1 THEN 'Capitale : ' || "NAME_FR" ELSE "NAME_FR" END
Cette expression teste la valeur du champ "ADM0CAP" :
- si la valeur est égale à '1', QGIS ajoute le texte 'Capitale : ' devant le nom ; - dans les autres cas, seul le nom de la ville est affiché.
Ainsi, 'Caracas' devient 'Capitale : Caracas', tandis que 'Maracaibo' reste simplement 'Maracaibo'.
La structure 'CASE WHEN … THEN … ELSE … END' est l’une des plus utiles dans QGIS. Elle permet de modifier le contenu d’une étiquette selon une catégorie, une valeur, un seuil ou la présence d’une information.
On pourrait par exemple l’adapter pour distinguer des préfectures, signaler les villes dépassant un certain nombre d’habitants ou afficher un texte spécifique pour les objets sélectionnés.
Bien adapter les expressions à ses propres données
Les champs utilisés dans ces exemples, "NAMEPAR", "NAME_FR", "POP_MAX", "ADM0_A3" et "ADM0CAP", proviennent de la couche Populated Places de Natural Earth. Vos propres données utiliseront probablement d’autres noms de colonnes.
Avant de copier une expression, ouvrez la table attributaire et repérez les champs qui contiennent :
- le nom du lieu ; - un éventuel nom alternatif ; - la population ; - le code du pays ; - le statut administratif.
Remplacez ensuite les noms de champs dans l’expression en conservant les guillemets doubles.
Pensez également à vérifier le type des données. Une population doit idéalement être enregistrée comme un nombre, tandis qu’un nom ou un code pays doit être enregistré comme du texte. Enfin, testez toujours l’expression sur plusieurs entités : une formule peut fonctionner sur les lignes complètes, mais produire un résultat inattendu lorsqu’un champ est vide ou nul.
Ces expressions agissent uniquement sur l’affichage des étiquettes. Elles ne modifient pas la table attributaire, ce qui permet de les tester, de les combiner et de revenir en arrière facilement.
Conclusion
Les expressions donnent aux étiquettes QGIS une grande souplesse. En quelques lignes, il devient possible de remplacer une valeur manquante, d’assembler plusieurs informations, de créer un retour à la ligne, d’uniformiser la casse ou encore de distinguer certaines entités selon leur statut.
Ces cinq exemples constituent une excellente base pour aller plus loin. Une fois leur logique comprise, vous pourrez les adapter à vos propres champs et les combiner pour produire des cartes plus précises, plus lisibles et mieux hiérarchisées.
Une bonne étiquette ne se contente pas de nommer un lieu : elle transmet la bonne information, au bon niveau de lecture, sans surcharger la carte.
FAQ : utiliser les expressions dans QGIS
Ouvrez les propriétés de la couche, allez dans Étiquettes, choisissez Étiquettes simples, puis cliquez sur le bouton d’expression à droite de la valeur d’étiquetage. Vous pouvez saisir ou coller la formule dans l’éditeur qui s’ouvre.
Les guillemets doubles désignent généralement un champ de la couche, comme "NAME_FR". Les apostrophes délimitent un texte écrit directement dans l’expression, comme ' hab.' ou 'Capitale : '.
La fonction 'char(10)' insère un saut de ligne. Il suffit de l’ajouter entre deux éléments au sein d’une fonction 'concat()' ou d’une autre expression de concaténation.
Vous pouvez utiliser 'coalesce()' pour demander à QGIS de choisir la première valeur non nulle. Si le champ contient une chaîne vide plutôt qu’une vraie valeur nulle, 'nullif()' permet d’abord de convertir cette chaîne vide en 'NULL'
Utilisez la fonction 'concat()' ou l’opérateur '||' pour assembler des champs et du texte. 'concat()' est souvent préférable lorsque certaines valeurs peuvent être nulles.
Non. Lorsqu’elles sont utilisées dans les paramètres d’étiquetage, elles changent uniquement le texte affiché sur la carte. Les valeurs enregistrées dans la couche restent intactes.
Oui. Il est par exemple possible d’utiliser un nom alternatif, d’ajouter un code pays et de placer la population sur une deuxième ligne dans une seule expression. Il faut simplement veiller à garder une formule lisible et à tester le résultat lorsque certaines valeurs sont absentes.
Besoin d'aller plus loin sur QGIS ?
Ces cinq expressions constituent une excellente base pour filtrer et mettre en forme vos données. Mais le moteur d’expressions de QGIS permet d’aller beaucoup plus loin : automatiser une symbologie, hiérarchiser des étiquettes, effectuer des calculs, manipuler des géométries ou adapter le rendu d’une carte à son échelle.
Chez Eurêkarto, la formation Débuter avec QGIS vous accompagne pas à pas pour :
prendre en main l’interface et comprendre la logique d’un SIG ;
importer et organiser des données géographiques ;
utiliser la table attributaire et sélectionner des entités ;
construire une symbologie claire et efficace ;
créer et hiérarchiser des étiquettes ;
produire une mise en page cartographique complète ;
gagner en autonomie grâce à une méthode directement appliquée à la cartographie.
Si vous maîtrisez déjà les fondamentaux et souhaitez approfondir les analyses, les automatisations et les traitements, allez plus loins avec notre formation intermédiaire sur QGIS
Les expressions QGIS permettent de créer des étiquettes dynamiques sans modifier les données sources. Avec 'coalesce()' et 'nullif()', on affiche un nom alternatif lorsqu’une valeur manque. 'concat()', 'char(10)' et 'format_number()' permettent d’associer un nom et une population sur deux lignes. 'upper()' convertit un texte en capitales, tandis que '||' assemble un nom et un code pays. Enfin, une condition 'CASE WHEN' permet de distinguer les capitales des autres villes.
Résumé
Vous rêvez de créer des cartes qui impressionnent ?
Téléchargez notre guide exclusif comprenant 15 secrets de cartographes pour réaliser des cartes qui mêlent technique et esthétique. Découvrez des astuces concrètes pour rendre vos cartes plus claires, plus belles et plus précises.
Cours en ligne Adobe Illustrator pour la cartographie
Entrez dans le monde de la cartographie en apprenant à utiliser le célèbre logiciel Adobe Illustrator. En seulement quelques heures, vous aurez acquis les bases théoriques de la cartographie et pourrez réaliser en toute autonomie des cartes lisibles et esthétiques!