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 😉
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,