Feld ändern (Data Management)

Zusammenfassung

Benennt Felder und Feldaliasnamen um, oder ändert die Feldeigenschaften.

Verwendung

  • Mit diesem Werkzeug können Sie Felder oder Feld-Aliasnamen in einer beliebigen Geodatabase-Tabelle oder Feature-Class umbenennen.

  • Wenn Sie In-Memory-Feature-Classes oder -Tabellen verwenden oder die Felder ObjectID, Shape und andere erforderliche Felder, wie etwa die in Netzwerkanalyse-Layern, umbenennen, kann dies zu beschädigten Daten oder unerwartetem Verhalten führen.

Syntax

arcpy.management.AlterField(in_table, field, {new_field_name}, {new_field_alias}, {field_type}, {field_length}, {field_is_nullable}, {clear_field_alias})
ParameterErklärungDatentyp
in_table

Die Eingabetabelle oder -Feature-Class mit dem Feld, das geändert werden soll.

Table View; Raster Layer; Mosaic Layer
field

Der Feldname, der geändert werden soll. Wenn es sich bei dem Feld um ein erforderliches Feld handelt (isRequired=true), können nur die Feldaliasnamen geändert werden.

Field
new_field_name
(optional)

Der neue Name für das Feld.

String
new_field_alias
(optional)

Der neue Feldaliasname für das Feld.

String
field_type
(optional)

Gibt den neuen Feldtyp für das Feld an. Diese Eigenschaft gilt nur für eine leere Eingabetabelle (ohne Datensätze).

  • TEXTJede beliebige Zeichenfolge.
  • FLOAT Bruchzahlen zwischen -3,4E38 und 1,2E38.
  • DOUBLE Bruchzahlen zwischen -2,2E308 und 1,8E308.
  • SHORT Ganze Zahlen zwischen -32-768 und 32-767.
  • LONG Ganze Zahlen zwischen -2-147-483-648 und 2-147-483-647.
  • DATEDatum und/oder Uhrzeit.
  • BLOBLange Abfolge von binären Zahlen. Sie benötigen ein spezielles Programm zum Laden und Anschauen oder eine Anwendung eines Drittanbieters, um Objekte in ein BLOB-Feld zu laden bzw. den Inhalt in einem BLOB-Feld anzuzeigen.
  • RASTERRaster-Bilder. Es können zwar alle von der ArcGIS-Software unterstützten Raster-Dataset-Formate gespeichert werden, es wird jedoch empfohlen, nur kleine Bilder zu verwenden.
  • GUIDGlobally Unique Identifier.
String
field_length
(optional)

Die neue Länge des Feldes. Dadurch wird die maximal zulässige Anzahl von Zeichen für jeden Datensatz des Feldes festgelegt. Diese Option gilt nur für Felder des Typs TEXT oder BLOB. Wenn die Tabelle leer ist, kann die Feldlänge erhöht oder verringert werden. Wenn die Tabelle nicht leer ist, kann die Feldlänge lediglich ausgehend vom aktuellen Wert erhöht werden.

Long
field_is_nullable
(optional)

Gibt an, ob NULL-Werte im Feld enthalten sein dürfen. Nullwerte werden nur für Felder in einer Geodatabase unterstützt. Diese Option gilt nur für eine leere Eingabetabelle (ohne Datensätze).

  • NON_NULLABLENULL-Werte sind für das Feld nicht zulässig.
  • NULLABLENULL-Werte sind für das Feld zulässig. Dies ist die Standardeinstellung.
Boolean
clear_field_alias
(optional)

Gibt an, ob der Alias für das Eingabefeld gelöscht wird. Dieser Parameter für Feldaliasnamen muss leer sein, um den Aliasnamen des Feldes zu löschen.

  • CLEAR_ALIASDer Feldaliasname wird gelöscht (auf Null gesetzt).
  • DO_NOT_CLEARDer Feldaliasname wird nicht gelöscht. Dies ist die Standardeinstellung.
Boolean

Abgeleitete Ausgabe

NameErklärungDatentyp
out_table

Die aktualisierte Eingabetabelle.

Tabellensicht; Raster-Layer; Mosaik-Layer

Codebeispiel

AlterField – Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie das Werkzeug AlterField im unmittelbaren Modus verwendet wird.

arcpy.AlterField_management(r'C:\Data\Garbo.gdb\Khyber', 'Elev', 'ELEVATION', 'Elevation in Metres')
AlterField – Beispiel 2 (eigenständiges Skript)

Das folgende Skript für das Python-Fenster veranschaulicht, wie Sie das Werkzeug AlterField in einem eigenständigen Python-Skript verwenden.

#Import geoprocessing
import arcpy

#Set workspace
arcpy.env.workspace = r'C:\Data\Garbo.gdb'

#Loop through feature classes looking for a field named 'elev'
fcList = arcpy.ListFeatureClasses() #get a list of feature classes
for fc in fcList:  #loop through feature classes
    fieldList = arcpy.ListFields(fc)  #get a list of fields for each feature class
    for field in fieldList: #loop through each field
        if field.name.lower() == 'elev':  #look for the name elev
            arcpy.AlterField_management(fc, field.name, 'ELEVATION', 'Elevation in Metres')
AlterField – Beispiel 3 (eigenständiges Skript)

Im folgenden Skript für das Python-Fenster wird veranschaulicht, wie das Werkzeug AlterField für eine leere Feature-Class in einem eigenständigen Python-Skript verwendet wird.

#Import geoprocessing
import arcpy

#Set local variables
fc = "C:/Data/Garbo.gdb/trails" #Note:empty feature class
field = "condition_rating" #short int, non nullable field
new_name = "notes"
new_alias = "Comments on Trail Condition"
new_type = "TEXT"
new_length = "60"
new_is_nullable = "NULLABLE"
clear_alias = "FALSE"

#Alter the properties of a non nullable, short data type field to become a text field
arcpy.AlterField_management(fc, field, new_name, new_alias, new_type, new_length, new_is_nullable, clear_alias)

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen