Describe

Zusammenfassung

Die Funktion Describe gibt ein Describe-Objekt mit mehreren Eigenschaften, z. B. dem Datentyp, Feldern, Indizes usw., zurück. Die Eigenschaften sind dynamisch. Je nach beschriebenem Datentyp können also unterschiedliche Eigenschaften verwendet werden.

Describe-Eigenschaften sind in einer Reihe von Eigenschaftengruppen organisiert. Für ein bestimmtes Dataset werden die Eigenschaften mindestens einer dieser Gruppen abgerufen. 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.

Diskussion

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

Siehe auch Funktion arcpy.da.Describe, mit der dieselben Information als Wörterbuch zurückgegeben werden.

Hinweis:

Es kann vorkommen, dass das von Describe zurückgegebene Objekt nicht alle dokumentierten Eigenschaften umfasst. Beispielsweise weist das Describe-Objekt für einen Layer in einer Karte nicht die festgelegte Eigenschaft layer auf. Diese Eigenschaft ist nur in Beschreibungen von .lyr-Dateien vorhanden.

Soll auf eine Eigenschaft zugegriffen werden, die in einem Describe-Objekt nicht vorhanden ist, wird entweder ein Fehler oder ein leerer Wert (None, 0 bzw. -1 oder leere Zeichenfolge) zurückgegeben. Wenn Sie sich bezüglich einer Eigenschaft unsicher sind, können Sie sie mit der Python-Funktion hasattr() überprüfen.

Syntax

Describe (value, {datatype})
ParameterErläuterungDatentyp
value

The specified data element or geoprocessing object to describe.

String
datatype

The type of data. This is only necessary when naming conflicts exists, for example, if a geodatabase contains a feature dataset (FeatureDataset) and a feature class (FeatureClass) with the same name. In this case, the data type is used to clarify which dataset you want to describe.

(Der Standardwert ist None)

String
Rückgabewert
DatentypErläuterung
Describe

Gibt ein Objekt mit Eigenschaften zu dem beschriebenen Datenelement zurück. Einige der zurückgegebenen Objekteigenschaften enthalten Literal-Werte oder -Objekte.

Codebeispiel

Describe-Eigenschaften – Beispiel (eigenständiges Skript)

Mit dem folgenden eigenständigen Skript werden einige Eigenschaften von Layern und Describe-Objekten aus einem Layer, der über einen Skriptparameter festgelegt wird, angezeigt. Für den Parameter kann eine Layer-Datei oder ein Layer in einer Karte festgelegt werden.

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: {}".format(desc.name))
if hasattr(desc, "layer"):
    print("Layer name: {}".format(desc.layer.name))
    print("Layer data source: {}".format(desc.layer.catalogPath))
    print(".lyr file: {}".format(desc.catalogPath))
else:
    print("Layer name: {}".format(desc.name))
    print("Layer data source: {}".format(desc.catalogPath))

if desc.FIDSet != '':
    print("Number of selected features: {}".format(len(desc.FIDSet.split(";"))))