Correction - Exercice 1 : Prise en main

  • Quelle instruction doit être saisie pour savoir combien de champs possède une couche ?

Solution :

# Nombre de champs pour la couche active
layer = iface.activeLayer()
nb_fields = len(layer.fields())
print("La couche {} compte {} champs".format(layer.name(), nb_fields))
  • Par ailleurs, quelle instruction doit être saisie pour savoir de combien de couches se compose le projet en cours ?

Solution :

# Nombre de couches du projet en cours
# (dans les deux cas l'objet retourné est un dictionnaire et
#  on peut utiliser la fonction native len() pour savoir le nombre
#  d'entrées qu'il contient)
nb_layers = len(QgsProject.instance().mapLayers())
print('Le projet contient {} couche(s)'.format(nb_layers))

Exercice1.py

# Exercice 1
layer = iface.activeLayer()
name = layer.name()

nb_features = layer.featureCount()
print("La couche {} compte {} entités"
        .format(name, nb_features))

# nb_fields = layer.fields().count() # <- Fonctionne aussi
nb_fields = len(layer.fields())

print("La couche {0} compte {1} champs"
         .format(name, nb_fields))

nb_layers = len(QgsProject.instance().mapLayers())
print("Le projet contient {} couche(s)".format(nb_layers))