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.
![Hinweis Hinweis](rsrc/note.png)
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
Parameter | Erläuterung | Datentyp |
value |
The specified data element or geoprocessing object to describe. | String |
Datentyp | Erläuterung |
Describe |
Gibt ein Objekt mit den Eigenschaften des beschriebenen Datenelements zurück. Einige der zurückgegebenen Objekteigenschaften enthalten Literalwerte oder Objekte. |
Codebeispiel
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(";")))