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.

Feldeigenschaften

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".

Indexeigenschaften

TippTipp:

Mit "ListFields" und "ListIndexes" können die Ergebnisse anhand von Name und Typ eingeschränkt werden.

Verwandte Themen


7/10/2012