Mise en forme d'une étiquette

L'utilisation de la calculatrice d'expression permet de composer une étiquette comportant :

  • un ou plusieurs champs ;

  • des champs calculés

  • des chaînes de caractères

  • des retours à la ligne permettant l'affichage de l'étiquette sur plusieurs lignes.

Les chaînes de caractères sont écrites entre deux simples quotes : 'chaîne de caractères'.

Le retour à la ligne est symbolisé par '\n' (caractère backslash suivi de n entre simples cotes). A noter qu'il est possible, dans l'onglet "Formatage", de personnaliser le caractère qui sera utilisé à la place de \n ("Retour à la ligne sur le caractère").

La concaténation de chaînes de caractères avec les valeurs des champs est réalisée au moyen de l'opérateur || (double pipe).

Les expressions calculées à partir de plusieurs champs doivent être placées entre parenthèses.

Les noms des champs sont écrits soit simplement soit entre doubles quotes : NOM_DU_CHAMP ou "NOM_DU_CHAMP". L'utilisation de la double cote se justifie particulièrement lorsque le nom du champ contient des espaces.

expression étiquetage multiligne

L'expression de l'exemple ci-dessus :

1
'Nom : ' || "NOM_COMM" || '\n' ||
2
'Population : ' || "POPULATION" || ' habitants' || '\n' ||
3
'Surface : ' || "SUPERFICIE" || ' hectares' || '\n' ||
4
'Densité : ' || ( POPULATION * 100 / SUPERFICIE ) || ' habitants au km²'

conduit à une étiquette de 4 lignes comportant des chaînes de caractères, des valeurs de champs et un champ calculé (la densité exprimée en habitants au km²).

Pour construire cette expression, on a tout intérêt à choisir les différentes fonctions et opérateurs en allant double-cliquer dans la liste du haut et en réservant la saisie au clavier pour les éléments complémentaires (\n, les valeurs numériques, les chaînes de caractères, etc).

nb  : Appuyer sur ALT 253 pour obtenir le ²

La présentation de l'expression ci-dessus sur plusieurs lignes n'est destinée qu'à améliorer sa lisibilité. L'écriture ci-dessous est absolument équivalente :

1
Nom : ' || "NOM_COMM" || '\n' || 'Population : ' || "POPULATION" || ' habitants' || '\n' || 'Surface : ' || "SUPERFICIE" || ' hectares' || '\n' || 'Densité : ' || ( POPULATION * 100 / SUPERFICIE ) || ' habitants au km²'
Résultat étiquetage multilignes

ComplémentUne autre forme d'étiquette multiligne

Nous avons vu comment afficher une étiquette multiligne résultant de la concaténation de textes et d'attributs.

Mais il est également possible d'afficher, sur une étiquette, un seul attribut constitué d'un texte relativement long sur plusieurs lignes : la solution est de créer cet attribut texte sur plusieurs lignes.

Dans l'onglet Champs source des propriétés de la couche, ajouter un nouveau champs de type texte et de longueur 250.

Dans l'onglet Formulaire d'attributs, sélectionner le champ DESCRIPT et utiliser l'outil d'édition "édition de texte" pour la saisie des attributs de cette couche. Cocher la case Multi-ligne pour permettre l'affichage sur plusieurs lignes.

Outil d'édition
saisie attribut multiligne

Le texte de l'attribut peut être saisi sur plusieurs lignes si l'outil d'édition "Édition de texte" a été activé pour cet attribut.

Etiquette d'un attribut multiligne

L'étiquetage se fait ensuite sur ce seul attribut et conduit à une étiquette multiligne.

Attention

Si un des champs concaténés avec l'opérateur || contient la valeur NULL, le résultat de la concaténation est NULL, ce qui aboutit à l'absence d'étiquette pour l'entité concernée.

Dans la formule, on peut tester si la valeur d'un champ est différente de NULL avec la clause CASE (voir étiquetage conditionnel).

Remarque

Il existe une fonction concat() qui permet de contourner cet inconvénient.