Correction - Exercice 1 : Prise en main ======================================= - **Quelle instruction doit être saisie pour savoir combien de champs possède une couche ?** .. container:: spoiler blq 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 ?** .. container:: spoiler blq 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)) .. raw:: html
``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))