Verwenden von Feldern und Indizes
Beschriebene Feature-Classes und Tabellen verfügen über eine Feldeigenschaft, die eine Python-Liste mit Feldobjekten zurückgibt, und über eine Indexeigenschaft, die eine Python-Liste mit Indexobjekten zurückgibt. Jedes Feld- oder Indexobjekt verfügt über eine Reihe von Eigenschaften, die zum Untersuchen des Objekts verwendet werden können. Alternativ dazu können Sie diese Listen auch mit den Funktionen ListFields und ListIndexes erstellen. Im folgenden Beispiel wird veranschaulicht, wie Sie eine Liste mit Feldern erstellen und deren Inhalt in einer Schleife durchlaufen, um nach einem bestimmten Feld zu suchen.
import arcpy
fc = "D:/St_Johns/data.gdb/roads"
# Describe a feature class
#
desc = arcpy.Describe(fc)
# Get a list of field objects from the describe object
#
fields = desc.fields
for field in fields:
# Check the field name, perform a calculation when finding the field 'Flag'
#
if field.name == "Flag":
# Set the value for the field and exit loop
#
arcpy.CalculateField_management(fc, "Flag", "1")
break
Die Eigenschaften der Feld- und Indexobjekte sind im Folgenden aufgelistet:
Eigenschaft |
Erklärung |
---|---|
Name |
Der Name des Feldes. |
AliasName |
Der Aliasname des Feldes. |
Domain |
Der Name der zugeordneten Domäne. |
Editable |
"True", wenn das Feld bearbeitet werden kann. |
IsNullable |
"True", wenn NULL-Werte für das Feld zulässig sind. |
Required |
"True", wenn es sich um ein Muss-Feld handelt. |
Length |
Die Länge des Feldes. |
Type |
SmallInteger, Integer, Single, Double, String, Date, OID, Geometry, BLOB. |
Skalieren |
Die Anzahl Dezimalstellen des Feldes. |
Precision |
Die Genauigkeit des Feldes. |
Eigenschaft |
Erklärung |
---|---|
Name |
Der Name des Indexes. |
IsAscending |
"True", wenn der Index in aufsteigender Reihenfolge sortiert ist. |
IsUnique |
"True", wenn der Index eindeutig ist. |
Felder |
Eine Python-Liste mit Feldobjekten. Dies entspricht der Verwendung der Feldeigenschaft von "Describe". |
Mit "ListFields" und "ListIndexes" können die Ergebnisse anhand von Name und Typ eingeschränkt werden.