La fonction Describe permet de décrire de manière détaillé tous les éléments souhaités (chemin d'accès, type de géométrie, emprise...) d'un objet, par exemple il est possible d'accéder à toutes les informations concernant un objet de type "FeatureClass" : géométrie, spatial index ...) - voir l'aide en ligne arcgis pro
Utilisation de describe pour afficher le type de donnée ainsi que la géométrie si « l'enfant » est un shapefile.⚓
1
import arcpy
2
folder = r'URL du dossier ou gdb' # création d'une variable contenant le nom et le chemin d'accès du workspace
3
arcpy.env.workspace = folder
4
5
# utilise la fonction describe pour analyser tous les éléments du dossier/gdb "folder"
6
desc = arcpy.Describe(folder) # l'élement desc n'est pas affichable directement
7
8
# Décompose chaque élément du dossier sur lequel la fonction describe a été appliquée : permet de récupérer les propriétés de chaque sous-élément
9
for child in desc.children:
10
print (child.name) #affiche le nom de l'élément contenu dans le dossier "folder" quelque soit son format de fichier (table, classe d'entité, shapefile, dwg, rasterdataset, relationship class ...)
11
print (child.dataType) #affiche le type de donnée (table, classe d'entité, shapefile, dwg, rasterdataset, relationship class ...)
12
# Si l'objet est de type FeatureClass (vecteur) alors le script affichera sa géométrie
13
if child.dataType == "FeatureClass" :
14
geometry = child.shapeType #Attribue la géométrie de la FeatureClass à une variable "geometry" à l'aide de la fonction shapeType de Describe.
15
print (f'La Feature Class {child.name} est de géométrie : {geometry}'# Affiche le nom de la feature class et son type de géométrie (point/ligne/polygone...)
16
#print ('La Feature Class {0} est de géométrie : {1}'.format(child.name,geometry)) # équivalent
17