Aujourd’hui encore une autre fonction de PyQgis. Alors nous allons voir comment afficher les valeurs des champs des entités d’une couche.

Commençons par ouvrir la couche « COMMUNE » du dossier “BD_Topo_Administratif” (suivre ce lien pour télécharger les donnés) et la console de Python dans QGis (Ctrl+Alt+P).

On va saisir maintenant ces deux lignes dans la console de Python.

  • coucheV=iface.activeLayer()
  • for entite in coucheV.getFeatures():
    • print(entite[« Nom »])

Information: remplacer « D:/BD_Topo_Administratif » par le chemin vers le dossier BD_Topo_Administratif que vous avez téléchargé.

Explication du code:

  • iface.activeLayer: sélectionner la couche active dans le panneau des couches.
  • for entite in coucheV.getFeatures():
    • For: une boucle qui permet de passer par les éléments d’un ensemble un pas un .
    • getFeatures: une fonction permettant de récupérer les informations sur les entités d’une couche.
    • for entite in coucheV.getFeatures() : si je traduit cette phrase en langage courant: passer les entités de la couche « coucheV » une par une.
  • print(entite[« Nom »]):
    • « print » veut dire « écrire » en anglais.
    • Nom: le nom d’un champ de la couche « COMMUNE »
    • print(entite[« Nom »]): on demande d’écrire la valeur du champ « Nom » pour l’entité.
  • Traduction du code:
    • Si je traduit le code en langage courant: vérifier les entités de la couche « COMMUNE » une par une et écrire la valeur du champ « Nom »

NB: pour cet exemple on a utilisé le mot « entite » pour la boucle « for » mais on aurait pu mettre n’importe quel autre nom.

Le résultat est le suivant:

Pour afficher la valeur de deux champs on saisit:

  • coucheV=iface.activeLayer()
  • for entite in coucheV.getFeatures():
    • print(entite[« Nom »]), entite[« STATUT])

NB: « STAUT » est le nom d’un autre champ de la couche « COMMUNE »

Information:

Pour que la fonction « iface.activeLayer » fonctionne, il faut sélectionner une couche dans la panneau des couches.

J’espère que cet article vous sera utile 😉

Un commentaire sur “Afficher les valeurs de champs d’entités d’une couche vecteur”

  • Bonjour,
    Je trouve vos cours super détaillés et bien expliqués. Bravo pour ce bon boulot.
    Espérant qu’il y aura très prochainement la suite des cours pour PyQgis.

    Salutations,

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *