La réalisation de projets dans QGis peut nécessiter d’afficher ou de calculer une valeur dans une couche en fonction d’un ou de plusieurs attributs issus d’une autre couche.

Pour cette problématique, l’outil SIG propose une solution qui s’appuie sur deux expressions :

  • get_feature() : Retourner les attributs de la première entité correspondante d’une autre couche à partir d’une correspondance entre un champ et une valeur. Le principe est similaire à celui d’une jointure
  • attributes() : Récupérer la valeur d’un attribut de l’entité courante

L’exemple ci-dessous permet, en combinant ces deux fonctionnalités, d’afficher une étiquette basée sur les attributs de la couche sélectionnée (avifaune) mais également d’une autre couche de référence (espece_avifaune)

Il est possible d’améliorer cette expression :

  • pour gérer les cas où la valeur de l’attribut serait NULL en utilisant l’expression coalesce() qui permet de remplacer par une valeur par défaut si l’attribut est NULL
  • pour récupérer plusieurs champs de la couche de référence (ref_espece_avifaune) en évitant de répéter la combinaison get_feature() et attributes() en utilisant l’expression with_variable()