Exercice 1 : Prise en main

Objectif

Se familiariser avec la console python et l’éditeur de code associé.

Données

Les données proviennent de Natural Earth [1] :

ne_10m_admin_0_countries.shp (Polygones - Pays du monde) ➜ Téléchargement

Procédure

Charger les données

  • Ouvrir 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...

_images/0_qgis_interface.png

Tester les actions suivantes dans la console

  • 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 ?


💡 Solution de l'exercice 1


Footnotes