Feld hinzufügen (Data Management)

Zusammenfassung

Fügt einer Tabelle oder der Tabelle einer Feature-Class, eines Feature-Layers und/oder eines Rasters mit Attributtabellen ein neues Feld hinzu.

Verwendung

  • Wenn der Feldtyp in Shapefiles und dBase-Tabellen ein Zeichen definiert, werden für jeden Datensatz Leerzeichen eingefügt. Wenn der Feldtyp ein numerisches Element definiert, werden für jeden Datensatz Nullen eingefügt.

  • Der Parameter Feldlänge ist nur für Felder vom Typ Text anwendbar. Ist keine Länge angegeben, gilt der Standardwert von 255.

  • Wenn der Feldtyp in Geodatabases ein Zeichen oder eine Zahl definiert, wird in die einzelnen Datensätze <NULL> eingefügt, wenn der Parameter Feld erlaubt NULL-Werte aktiviert ist (in Python field_is_nullable="NULLABLE").

  • Felder, die keine NULL-Werte erlauben, können nicht zu einer nicht leeren Geodatabase-Feature-Class oder -Tabelle hinzugefügt werden.

  • Shapefiles unterstützen keine Aliasnamen für Felder, daher können Sie einem Shapefile keinen Feld-Alias hinzufügen.

  • Mit dem Parameter Felddomäne können Sie eine vorhandene Domäne aus einer Feature-Class in Geodatabase verwenden. Der Name einer vorhandenen Domäne muss eingegeben werden. Werden ungültige Domänennamen oder Werte eingegeben, wird das Werkzeug auch weiterhin funktionieren, wobei der ungültige Name bzw. Wert ignoriert und keine Domäne für das Feld festgelegt wird.

  • Die Genauigkeit und die Dezimalstellen eines Feldes beschreiben die maximale Größe und Genauigkeit der Daten, die in dem Feld gespeichert werden können. Der Parameter "Signifikante Stellen" gibt die Anzahl der Stellen an, die in einem Feld gespeichert werden können. Der Parameter "Dezimalstellen" beschreibt die Anzahl der Dezimalstellen für Felder des Typs "Float" oder "Double". Wenn der Feldwert beispielsweise 54,234 lautet, dann ist der Wert für "Dezimalstellen (Scale)" 3 und der Wert für "Signifikante Stellen (Precision)" 5.

    Wählen Sie anhand der folgenden Richtlinien den richtigen Feldtyp für einen bestimmten Genauigkeitswert und einen bestimmten Dezimalstellenwert aus:

    • Wenn Sie ein Float-, Double- oder ganzzahliges Feld erstellen und 0 für Genauigkeit und Dezimalstellen festlegen, wird das Werkzeug versuchen, einen binären Feldtyp zu erstellen, wenn die zugrunde liegende Datenbank dies unterstützt. File-Geodatabases unterstützen nur binäre Feldtypen. Genauigkeit und Dezimalstellen werden ignoriert.
    • Wenn Sie Float- und Double-Felder erstellen und eine Genauigkeit sowie Dezimalstellen festlegen, wählen Sie ein bei einer Genauigkeit von größer als 6 ein Double-Feld und ansonsten ein Float-Feld. Wenn Sie ein Double-Feld erstellen und eine Genauigkeit von 6 oder weniger festlegen, wird ein Float-Feld erstellt. Wenn Sie ein Float-Feld erstellen und eine Genauigkeit von größer als 6 festlegen, wird ein Double-Feld erstellt.
    • Wenn Sie für Dezimalstellen einen Wert von 0 und für die Genauigkeit einen Wert von 10 oder weniger angeben, sollten Sie ganzzahlige Felder erstellen. Bei der Erstellung von ganzzahligen Feldern sollte der Wert für die Genauigkeit 10 oder weniger betragen. Andernfalls sollten Sie ein Double-Feld erstellen.
  • Bei der Erstellung eines neuen Feldes in einer Geodatabase-Feature Class oder -Tabelle können Sie den Feldtyp, nicht aber die Genauigkeit und die Dezimalstellen festlegen. Selbst wenn das Dialogfeld das Hinzufügen eines Wertes für die Genauigkeit oder die Dezimalstellen unterstützt, wird dieser Wert bei der Ausführung ignoriert.

  • Erforderliche Felder sind permanent und können nicht gelöscht werden. Um das Löschen zu einem späteren Zeitpunkt zu ermöglichen, legen Sie für das Feld den Status "nicht erforderlich" fest (Standardeinstellung).

  • Ein Feld vom Typ "Raster" kann über ein Raster-Bild als Attribut verfügen. Es wird in oder mit der Geodatabase gespeichert. Das ist hilfreich, wenn ein Feature am besten mit einem Bild beschrieben werden kann. Für Felder vom Typ "Raster" können weder Genauigkeit noch Dezimalstellen oder Länge festgelegt werden.

Syntax

AddField(in_table, field_name, field_type, {field_precision}, {field_scale}, {field_length}, {field_alias}, {field_is_nullable}, {field_is_required}, {field_domain})
ParameterErklärungDatentyp
in_table

Die Eingabetabelle, der das Feld hinzugefügt wird. Das Feld wird der vorhandenen Eingabetabelle hinzugefügt. Es wird keine neue Ausgabetabelle erstellt.

Felder können zu Feature-Classes in Geodatabases, Shapefiles, Coverages, eigenständigen Tabellen, Raster-Katalogen, Rastern mit Attributtabellen und Layern hinzugefügt werden.

Mosaic Layer; Raster Layer; Table View
field_name

Der Name des Feldes, das der Eingabetabelle hinzugefügt wird.

String
field_type

Der Feldtyp des neuen Feldes.

  • 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_precision
(optional)

Die Anzahl der Ziffern, die im Feld gespeichert werden können. Dabei werden alle Ziffern berücksichtigt, unabhängig davon, auf welcher Seite des Dezimalkommas sie sich befinden.

Wenn die Eingabe-Tabelle eine File-Geodatabase ist, wird der Wert für signifikante Stellen des Feldes ignoriert.

Long
field_scale
(optional)

Die Anzahl der Dezimalstellen, die in einem Feld gespeichert werden können. Dieser Parameter wird nur für die Felddatentypen "float" und "double" verwendet.

Wenn die Eingabe-Tabelle eine File-Geodatabase ist, wird der Dezimalstellenwert des Feldes ignoriert.

Long
field_length
(optional)

Die Länge des hinzugefügten Feldes. Dadurch wird die maximal zulässige Anzahl von Zeichen für jeden Datensatz des Feldes festgelegt. Diese Option ist nur für Felder vom Typ Text anwendbar.

Long
field_alias
(optional)

Der alternative Name für den Feldnamen. Dieser dient als aussagekräftigere Beschreibung für kryptische Feldnamen. Der Parameter "Feld-Alias" gilt nur für Geodatabases.

String
field_is_nullable
(optional)

Gibt an, ob NULL-Werte im Feld enthalten sein dürfen. NULL-Werte unterscheiden sich von Nullfeldern oder leeren Feldern. Sie werden nur für Felder in einer Geodatabase unterstützt.

  • 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
field_is_required
(optional)

Gibt an, ob das zu erstellende Feld ein Pflichtfeld für die Tabelle ist, und wird nur für Felder in einer Geodatabase unterstützt.

  • NON_REQUIREDDas Feld ist kein erforderliches Feld. Dies ist die Standardeinstellung.
  • REQUIREDDas Feld ist ein erforderliches Feld. Erforderliche Felder sind permanent und können nicht gelöscht werden.
Boolean
field_domain
(optional)

Hiermit beschränken Sie die in einem bestimmten Attribut für eine Tabelle, eine Feature-Class oder einen Subtype in der Geodatabase zulässigen Werte. Sie müssen den Namen einer vorhandenen Domäne angeben, damit dieser Parameter auf das Feld angewendet wird.

String

Abgeleitete Ausgabe

NameErklärungDatentyp
out_table

Die aktualisierte Eingabetabelle.

Tabelle

Codebeispiel

AddField – Beispiel (Python-Fenster)

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

import arcpy
arcpy.env.workspace = "C:/data/airport.gdb"
arcpy.AddField_management("schools", "ref_ID", "LONG", 9, "", "", "refcode", "NULLABLE", "REQUIRED")
AddField – Beispiel 2 (eigenständiges Skript)

Im folgenden eigenständigen Skript wird veranschaulicht, wie das Werkzeug AddField verwendet wird.

# Name: AddField_Example2.py
# Description: Add a pair of new fields to a table
 
# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data/airport.gdb"
 
# Set local variables
inFeatures = "schools"
fieldName1 = "ref_ID"
fieldPrecision = 9
fieldAlias = "refcode"
fieldName2 = "status"
fieldLength = 10
 
# Execute AddField twice for two new fields
arcpy.AddField_management(inFeatures, fieldName1, "LONG", fieldPrecision,
                          field_alias=fieldAlias, field_is_nullable="NULLABLE")
arcpy.AddField_management(inFeatures, fieldName2, "TEXT", field_length=fieldLength)

Lizenzinformationen

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

Verwandte Themen