Describe

Zusammenfassung

Die Describe-Funktion gibt ein Describe-Objekt zurück, das Eigenschaften wie Datentyp, Felder, Indizes usw. umfasst. Ihre Eigenschaften sind dynamisch. Dies bedeutet, dass je nach beschriebenem Datentyp unterschiedliche Describe-Eigenschaften zur Verfügung stehen.

Describe-Eigenschaften sind in einzelne Eigenschaftengruppen unterteilt. Jedes einzelne Dataset erhält die Eigenschaften von mindestens einer dieser Gruppen. Beim Beschreiben einer Geodatabase-Feature-Class können Sie beispielsweise auf die Eigenschaften der Eigenschaftengruppen GDB FeatureClass, FeatureClass, Table und Dataset zugreifen. Alle Daten erhalten unabhängig vom Datentyp immer die generischen Eigenschaften des Describe-Objekts.

Beschreibung

Viele Datentypen enthalten Eigenschaften aus anderen Eigenschaftsgruppen. Beim Beschreiben einer Geodatabase-Feature-Class können Sie beispielsweise auf die Eigenschaften der Eigenschaftengruppen GDB FeatureClass, FeatureClass, Table und Dataset zugreifen.

HinweisHinweis:

In einigen Fällen verfügt das von Describe zurückgegebene Objekt nicht über alle für das Objekt dokumentierten Eigenschaften. Beispielsweise verfügt das Describe-Objekt für einen Layer im Inhaltsverzeichnis von ArcMap nicht über den Layer-Eigenschaftensatz. Diese Eigenschaft ist nur bei der Beschreibung einer LYR-Datei vorhanden.

Wenn Sie versuchen, auf eine Eigenschaft zuzugreifen, über die ein Describe-Objekt nicht verfügt, wird entweder ein Fehler ausgegeben oder ein leerer Wert (Kein, 0 oder -1, leere Zeichenfolge) zurückgegeben. Wenn Sie sich bei einer bestimmten Eigenschaft unsicher sind, können Sie diese mit der Python-Funktion hasattr() überprüfen.

Syntax

Describe (value)
ParameterErläuterungDatentyp
value

The specified data element or geoprocessing object to describe.

String
Rückgabewert
DatentypErläuterung
Describe

Gibt ein Objekt mit den Eigenschaften des beschriebenen Datenelements zurück. Einige der zurückgegebenen Objekteigenschaften enthalten Literalwerte oder Objekte.

Codebeispiel

Describe-Eigenschaften – Beispiel (eigenständiges Skript)

Das folgende eigenständige Skript zeigt einige Eigenschaften für den Layer und das Describe-Objekt, die von einem Skriptparameter festgelegt wurden. Der Parameter wird möglicherweise entweder auf eine LYR-Datei oder auf einen Layer in ArcMap gesetzt.

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

Verwandte Themen


7/10/2012