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.

RemarqueRemarque :

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

Describe (value)
ParamètreExplicationType de données
value

The specified data element or geoprocessing object to describe.

String
Valeur renvoyée
Type de donnéesExplication
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

Exemple de propriétés de la fonction Describe (script autonome)

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(";")))

Rubriques connexes


7/10/2012