Describe
Récapitulatif
La fonction Describe renvoie un objet Describe avec plusieurs propriétés, telles qu'un type de données, des champs, des index, etc. Ses propriétés sont dynamiques, ce qui signifie que selon le type de données décrit, différentes propriétés de description peuvent être utilisées.
Les propriétés Describe sont organisées en une série de groupes de propriétés. Tout jeu de données particulier acquiert les propriétés d'au moins un de ces groupes. Par exemple, lors de la description d'une classe d'entités de géodatabase, vous pouvez accéder aux propriétés des groupes de propriétés GDB FeatureClass, FeatureClass, Table et Dataset. Toutes les données, quel que soit leur type, acquièrent toujours les propriétés génériques de l'objet Describe.
Discussion
De nombreux types de données comprennent des propriétés provenant d'autres groupes de propriétés. Par exemple, lors de la description d'une classe d'entités de géodatabase, vous pouvez accéder aux propriétés des groupes de propriétés GDB FeatureClass, FeatureClass, Table et Dataset.
Dans certains cas, l'objet renvoyé par Describe n'a pas toutes les propriétés documentées pour lui. Par exemple, l'objet Describe pour une couche dans la table des matières d'ArcMap n'a pas de jeu de propriétés de couche. Cette propriété existe uniquement si vous décrivez un fichier .lyr.
Si vous tentez d'accéder à une propriété qu'un objet Describe n'a pas, il renvoie une erreur ou une valeur vide (None, 0 ou -1, chaîne vide). Si vous n'êtes pas sûr d'une propriété en particulier, vous pouvez faire appel à la fonction hasattr() de Python pour la vérifier.
Syntaxe
Paramètre | Explication | Type de données |
value |
The specified data element or geoprocessing object to describe. | String |
Type de données | Explication |
Describe |
Renvoie un objet avec les propriétés qui détaillent l'élément de données décrit. Certaines des propriétés de l'objet renvoyé vont contenir des valeurs littérales ou des objets. |
Exemple de code
Le script autonome suivant présente quelques propriétés de couche et de l'objet Describe provenant d'un jeu de couches par un paramètre de script. Il est possible de définir le paramètre comme étant un fichier .lyr ou une couche dans ArcMap.
import arcpy # Get the layer as a parameter and describe it. # # The layer could be a layer in ArcMap (like "some_layer") # Or, it could be a .lyr file (like "C:/data/some.lyr") # layerString = arcpy.GetParameterAsText(0) desc = arcpy.Describe(layerString) # Print selected layer and describe object properties # print "Name:", desc.name if hasattr(desc, "layer"): print "Layer name:", desc.layer.name print "Layer data source:", desc.layer.catalogPath print ".lyr file:", desc.catalogPath else: print "Layer name:", desc.name print "Layer data source:", desc.catalogPath if desc.fidSet != '': print "Number of selected features:", str(len(desc.fidSet.split(";")))