17.2.4. Étiquette

Les objets de type Étiquette vous permettent d’ajouter du texte à vos cartes et d’améliorer leur compréhension ; il peut s’agir du titre, de l’auteur, des sources des données ou toutes autres informations… Vous pouvez ajouter une étiquette avec l’outil label Ajouter une étiquette en suivant les instructions de création d’objets que vous pourrez ensuite manipuler comme expliqué dans Interaction avec les objets de la mise en page.

Par défaut, l’objet étiquette propose un texte qui se personnalise via les Propriétés de l’objet. En plus des propriétés communes, cet objet propose les fonctionnalités suivantes (voir figure_layout_label) :

../../../../_images/label_mainproperties.png

Fig. 17.23 Panneau Propriétés d’une étiquette

17.2.4.1. Propriétés principales

Les Propriétés principales permettent de modifier le texte (il peut s’agir d’HTML) ou l’expression qui génère l’étiquette. Les expressions sont encadrées par [% et %] de manière à ce qu’elles soient interprétées.

  • Le texte saisi peut être interprété comme du code HTML si vous cochez la case checkbox Afficher en HTML. Vous pouvez ainsi insérer une URL, une image cliquable qui renvoie à une page web ou tout autre code plus complexe.

  • Vous pouvez également utilisez des expressions : cliquez sur le bouton Insérer une expression…, écrivez la comme vous en avez l’habitude, QGIS ajoutera automatiquement les caractères encadrants nécessaires à son interprétation.

Note

Cliquer sur le bouton Insérer une expression… alors qu’aucune sélection n’est effectuée dans la zone de texte ajoutera une nouvelle expression à la fin du texte existant. Si vous voulez mettre à jour une expression existante, vous devez sélectionner la partie à modifier au préalable.

Vous pouvez combiner un rendu HTML avec des expressions ce qui donnera par exemple le texte comme suit :

[% '<b>Check out the new logo for ' || '<a href="https://www.qgis.org" title="Nice logo" target="_blank">QGIS ' ||@qgis_short_version || '</a>' || ' : <img src="https://qgis.org/en/_downloads/qgis-icon128.png" alt="QGIS icon"/>' %]

qui rendra : Regardez le nouveau logo de QGIS 3.0 : logo

17.2.4.2. Apparence

  • Définissez la Police en cliquant sur le bouton Police… ou une Couleur de police en sélectionnant une couleur via l”outil de sélection de couleur.

  • Vous pouvez spécifier des marges horizontales et verticales différentes, en mm. Il s’agit de la marge à partir des bords de l’objet étiquette. Le texte peut être positionné en dehors de ses limites par exemple lors d’un alignement avec d’autres objets. Dans ce cas, utilisez des valeurs négatives pour les marges.

  • Utiliser les paramètres d’alignement est une autre façon de positionner votre étiquette. Il est possible de le faire de différentes manières :

    • Gauche, Centré, Droite ou Justifié pour l”Alignement horizontal

    • et Haut, Centré, Bas pour l”Alignement vertical.

17.2.4.3. Explorer les expressions dans un objet Étiquette

Voici quelques exemples d’expressions que vous pouvez utiliser pour ajouter des informations intéressantes à vos objets étiquette - rappelez-vous que le code, ou du moins la partie interprétée, doit être encadrée par [% et %] dans les Propriétés principales :

  • Afficher un titre avec la valeur de l’attribut « field1 » de l’entité d’atlas en cours :

    'This is the map for ' || "field1"
    

    ou, écrit dans la section des Propriétés principales :

    This is the map for [% "field1" %]
    
  • Ajouter une pagination pour l’entité d’atlas (par exemple, Page 1/10) :

    concat( 'Page ', @atlas_featurenumber, '/', @atlas_totalfeatures )
    
  • Afficher la coordonnée X inférieure de l’emprise de l’objet carte Map 1 :

    x_min( map_get( item_variables( 'Map 1' ), 'map_extent' ) )
    
  • Renvoyer les noms des couches actuelles de l’objet carte Map 1 et les afficher un par ligne :

    array_to_string(
     array_foreach(
      map_get( item_variables( 'Map 1' ), 'map_layers' ), -- retrieve the layers list
      layer_property( @element, 'name' ) -- retrieve each layer name
     ),
     '\n' -- converts the list to string separated by breaklines
    )