Se familiariser avec la console python et l’éditeur de code associé.
Les données proviennent de Natural Earth [1] :
ne_10m_admin_0_countries.shp
(Polygones - Pays du monde) ➜ TéléchargementOuvrir QGIS 3.
Ouvrir la console Python (CTRL + ALT + P ou Extension > Console Python
)
Charger la couche ne_10m_admin_0_countries.shp
.
soit en faisant un glissé-déposé de ce fichier vers l’interface de QGIS,
soit en en utilisant le menu Couche > Ajouter une couche > Ajouter une couche vecteur...
Affichage du nombre d’enregistrements dans une couche :
layer = iface.activeLayer()
print(layer.featureCount())
Afficher le nom de chacun des champs de la couche :
for field in layer.fields():
print(field.name(), field.typeName())
Obtenir les modes de rendu disponibles dans QGIS :
QgsRendererRegistry().renderersList()
Lister les couches du projet et leur type :
for layer in QgsProject.instance().mapLayers().values():
name = layer.name()
geom_type = QgsWkbTypes.displayString(layer.wkbType())
print('{}: {}'.format(name, geom_type))
Ouvrir l’éditeur (Afficher l’éditeur) et insérer le code suivant :
from qgis.utils import iface
layer = iface.activeLayer()
name = layer.name()
nb = layer.featureCount()
print("La couche {} compte {} entités".format(name, nb))
Sélectionner une partie de ce bloc de code dans l’éditeur et appuyer sur CTRL + E pour éxécuter seulement les instructions sélectionnées.
Enregistrer le script avec le nom nb_features.py
et l’exécuter.
On a vu que notre couche avait de nombreux champs. Quelle instruction doit être saisie pour savoir combien de champs possède une couche ?
Par ailleurs, quelle instruction doit être saisie pour savoir de combien de couches se compose le projet en cours ?
Footnotes