Feld hinzufügen (Data Management)

Zusammenfassung

Fügt einer Tabelle oder der Tabelle einer Feature-Class bzw. eines Feature-Layers sowie Rastern mit Attributtabellen ein neues Feld hinzu.

Verwendung

    Vorsicht:

    Mit diesem Werkzeug werden die Eingabedaten geändert. Weitere Informationen und Strategien zur Vermeidung unerwünschter Datenänderungen finden Sie unter Werkzeuge, die Eingabedaten ändern oder aktualisieren.

  • 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. Wenn keine Feldlänge angegeben ist, beträgt diese 255 Zeichen.

  • Wenn der Feldtyp in Geodatabases ein Zeichen oder eine Zahl definiert, wird in die einzelnen Datensätze <NULL> eingefügt, wenn der Parameter Feld unterstützt NULL-Werte aktiviert ist.

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

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

  • Sie können eine vorhandene Domäne aus einer Feature-Class in einer Geodatabase für den Parameterwert Felddomäne verwenden. Der Name einer vorhandenen Domäne muss angegeben werden. Die Angabe eines ungültigen Domänennamens oder Wertes führt nicht zu einem Fehler. Der ungültige Name bzw. Wert wird jedoch ignoriert, und es wird keine Domäne für das Feld festgelegt.

  • Die Genauigkeit und die Dezimalstellen eines Feldes stellen die maximale Genauigkeit und Größe der Daten dar, die in dem Feld gespeichert werden können. Die Genauigkeit gibt die Anzahl der Stellen an, die in einem Feld gespeichert werden können. Bei den Dezimalstellen wird die Anzahl der Dezimalstellen für Felder des Typs "Float" oder "Double" angegeben. Beispiel: Der Wert 54,234 hat 3 Dezimalstellen, und die Genauigkeit beträgt 5.

    Hinweis:

    "Feldgenauigkeit" und "Dezimalstellen" werden in einer File-Geodatabase-Feature-Class oder -Tabelle nicht unterstützt. Wenn Sie einen Genauigkeitswert oder Dezimalstellenwert angeben, wird dieser ignoriert.

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

    • Wenn Sie ein Float- und Double-Feld erstellen und eine Genauigkeit sowie Dezimalstellen festlegen, verwenden Sie bei einer höheren Genauigkeit als 6 ein Double-Feld und andernfalls ein Float-Feld.
    • Verwenden Sie für ein Feld mit 0 Dezimalstellen den Feldtyp "Long Integer" oder "Short Integer". Geben Sie bei der Erstellung eines Feldes vom Typ "Long-Integer" eine Genauigkeit von 10 oder weniger an. Andernfalls wird möglicherweise ein Double-Feld erstellt.

    Weitere Informationen zu numerischen Feldtypen

  • 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 Rasterbild als Attribut verfügen. Es wird in oder mit der Geodatabase gespeichert. Dies 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.

Parameter

BeschriftungErläuterungDatentyp
Eingabetabelle

Die Eingabetabelle, der das angegebene 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
Feldname

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

String
Feldtyp

Gibt den Feldtyp des neuen Feldes an.

  • Short (16-Bit-Integer)Der Feldtyp ist "Short". Felder des Typs "Short" unterstützen ganze Zahlen zwischen -32.768 und 32.767.
  • Long (32-Bit-Integer)Der Feldtyp ist "Long". Felder des Typs "Long" unterstützen ganze Zahlen zwischen -2.147.483.648 und 2.147.483.647.
  • Big Integer (64-Bit-Integer)Der Feldtyp ist "Big Integer". Felder des Typs "Big Integer" unterstützen ganze Zahlen zwischen -(253) und 253.
  • Float (32-Bit-Gleitkomma)Der Feldtyp ist "Float". Felder des Typs "Float" unterstützen Bruchzahlen zwischen -3,4E38 und 1,2E38.
  • Double (64-Bit-Gleitkomma)Der Feldtyp ist "Double". Felder des Typs "Double" unterstützen Bruchzahlen zwischen -2,2E308 und 1,8E308.
  • TextDer Feldtyp ist "Text". Felder des Typs "Text" unterstützen eine Zeichenfolge.
  • DatumDer Feldtyp ist "Datum". Felder des Typs "Datum" unterstützen Datums- und Uhrzeitwerte.
  • Datum (hohe Genauigkeit)Der Feldtyp ist ein Datum mit hoher Genauigkeit. Datumsfelder mit hoher Genauigkeit unterstützen Datums- und Uhrzeitwerte mit Millisekunden.
  • Nur DatumDer Feldtyp ist "Nur Datum". Felder des Typs "Nur Datum" unterstützen Datumswerte ohne Uhrzeitwerte.
  • Nur ZeitDer Feldtyp ist "Nur Zeit". Felder des Typs "Nur Zeit" unterstützen Uhrzeitwerte ohne Datumswert.
  • ZeitstempelversatzDer Feldtyp ist "Zeitstempelversatz". Felder des Typs "Zeitstempelversatz" unterstützen ein Datum, eine Uhrzeit und einen Versatz vom UTC-Wert.
  • BLOB (Binärdaten)Der Feldtyp ist "BLOB". Felder des Typs "BLOB" unterstützen Daten, die als lange Abfolge von binären Zahlen gespeichert sind. 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.
  • GUID (Globally Unique Identifier)Der Feldtyp ist "GUID". In GUID-Feldern werden Zeichenfolgen im Format von Registrierungszeichenfolgen gespeichert, die aus 36 Zeichen in geschweiften Klammern bestehen.
  • RasterDer Feldtyp ist "Raster". Mit Raster-Feldern können Raster-Daten in oder zusammen mit der Geodatabase gespeichert werden. 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.
String
Signifikante Stellen (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.

Dieser Parameter gilt nur für numerische Feldtypen.

Wenn die Eingabe-Tabelle in einer File-Geodatabase enthalten ist, wird der Wert für die Feldgenauigkeit ignoriert.

Long
Dezimalstellen (Scale)
(optional)

Die Anzahl der Dezimalstellen, die in einem Feld gespeichert werden können.

Dieser Parameter ist nur für Felder vom Typ "Float" oder "Double" anwendbar.

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

Long
Feldlänge
(optional)

Die Länge des Feldes. Dadurch wird die maximal zulässige Anzahl von Zeichen für jeden Datensatz des Feldes festgelegt. Wenn keine Feldlänge angegeben ist, beträgt diese 255 Zeichen.

Dieser Parameter ist nur für Felder vom Typ "Text" anwendbar.

Long
Feldaliasname
(optional)

Der alternative Name für das Feld. Dieser Name dient als Beschreibung für kryptische Feldnamen. Dieser Parameter gilt nur für Geodatabases.

String
Feld unterstützt NULL-Werte
(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.

  • Aktiviert: Das NULL-Werte kann NULL-Werte enthalten. Dies ist die Standardeinstellung.
  • Deaktiviert: Das Feld darf keine NULL-Werte enthalten.
Boolean
Feld ist erforderlich
(optional)

Gibt an, ob es sich bei dem erstellten Feld um ein erforderliches Feld für die Tabelle handelt. Erforderliche Felder werden nur in einer Geodatabase unterstützt.

  • Aktiviert: Das Feld ist ein erforderliches Feld. Erforderliche Felder sind permanent und können nicht gelöscht werden.
  • Deaktiviert: Das Feld ist kein erforderliches Feld. Dies ist die Standardeinstellung.
Boolean
Felddomäne
(optional)

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

String

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisierte Eingabetabelle

Die aktualisierte Eingabetabelle.

Table

arcpy.management.AddField(in_table, field_name, field_type, {field_precision}, {field_scale}, {field_length}, {field_alias}, {field_is_nullable}, {field_is_required}, {field_domain})
NameErläuterungDatentyp
in_table

Die Eingabetabelle, der das angegebene 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

Gibt den Feldtyp des neuen Feldes an.

  • SHORTDer Feldtyp ist "Short". Felder des Typs "Short" unterstützen ganze Zahlen zwischen -32.768 und 32.767.
  • LONGDer Feldtyp ist "Long". Felder des Typs "Long" unterstützen ganze Zahlen zwischen -2.147.483.648 und 2.147.483.647.
  • BIGINTEGERDer Feldtyp ist "Big Integer". Felder des Typs "Big Integer" unterstützen ganze Zahlen zwischen -(253) und 253.
  • FLOATDer Feldtyp ist "Float". Felder des Typs "Float" unterstützen Bruchzahlen zwischen -3,4E38 und 1,2E38.
  • DOUBLEDer Feldtyp ist "Double". Felder des Typs "Double" unterstützen Bruchzahlen zwischen -2,2E308 und 1,8E308.
  • TEXTDer Feldtyp ist "Text". Felder des Typs "Text" unterstützen eine Zeichenfolge.
  • DATEDer Feldtyp ist "Datum". Felder des Typs "Datum" unterstützen Datums- und Uhrzeitwerte.
  • DATEHIGHPRECISIONDer Feldtyp ist ein Datum mit hoher Genauigkeit. Datumsfelder mit hoher Genauigkeit unterstützen Datums- und Uhrzeitwerte mit Millisekunden.
  • DATEONLYDer Feldtyp ist "Nur Datum". Felder des Typs "Nur Datum" unterstützen Datumswerte ohne Uhrzeitwerte.
  • TIMEONLYDer Feldtyp ist "Nur Zeit". Felder des Typs "Nur Zeit" unterstützen Uhrzeitwerte ohne Datumswert.
  • TIMESTAMPOFFSETDer Feldtyp ist "Zeitstempelversatz". Felder des Typs "Zeitstempelversatz" unterstützen ein Datum, eine Uhrzeit und einen Versatz vom UTC-Wert.
  • BLOBDer Feldtyp ist "BLOB". Felder des Typs "BLOB" unterstützen Daten, die als lange Abfolge von binären Zahlen gespeichert sind. 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.
  • GUIDDer Feldtyp ist "GUID". In GUID-Feldern werden Zeichenfolgen im Format von Registrierungszeichenfolgen gespeichert, die aus 36 Zeichen in geschweiften Klammern bestehen.
  • RASTERDer Feldtyp ist "Raster". Mit Raster-Feldern können Raster-Daten in oder zusammen mit der Geodatabase gespeichert werden. 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.

Obwohl die Werte der Eigenschaft type des Objekts Field mit den Schlüsselwörtern im Parameter field_type des Werkzeugs Feld hinzufügen nicht exakt übereinstimmen, können alle type-Werte des Objekts Field als Eingabe für den Parameter verwendet werden. Die verschiedenen Feldtypen werden folgendermaßen zugeordnet: Integer zu LONG, String zu TEXT und SmallInteger zu SHORT.

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.

Dieser Parameter gilt nur für numerische Feldtypen.

Wenn die Eingabe-Tabelle in einer File-Geodatabase enthalten ist, wird der Wert für die Feldgenauigkeit ignoriert.

Long
field_scale
(optional)

Die Anzahl der Dezimalstellen, die in einem Feld gespeichert werden können.

Dieser Parameter ist nur für Felder vom Typ "Float" oder "Double" anwendbar.

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

Long
field_length
(optional)

Die Länge des Feldes. Dadurch wird die maximal zulässige Anzahl von Zeichen für jeden Datensatz des Feldes festgelegt. Wenn keine Feldlänge angegeben ist, beträgt diese 255 Zeichen.

Dieser Parameter ist nur für Felder vom Typ "Text" anwendbar.

Long
field_alias
(optional)

Der alternative Name für das Feld. Dieser Name dient als Beschreibung für kryptische Feldnamen. Dieser Parameter 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.

  • NULLABLEDas Feld kann NULL-Werte enthalten. Dies ist die Standardeinstellung.
  • NON_NULLABLEDas Feld darf keine NULL-Werte enthalten.
Boolean
field_is_required
(optional)

Gibt an, ob es sich bei dem erstellten Feld um ein erforderliches Feld für die Tabelle handelt. Erforderliche Felder werden nur 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 werden die in einem bestimmten Attribut für eine Tabelle, eine Feature-Class oder einen Subtype in der Geodatabase zulässigen Werte beschränkt. Sie müssen den Namen einer vorhandenen Domäne angeben, damit dieser Parameter auf das Feld angewendet wird.

String

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_table

Die aktualisierte Eingabetabelle.

Table

Codebeispiel

AddField: Beispiel 1 (Python-Fenster)

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

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

Das folgende eigenständige Skript veranschaulicht, wie die Funktion 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

# Run AddField twice for two new fields
arcpy.management.AddField(inFeatures, fieldName1, "LONG", fieldPrecision,
                          field_alias=fieldAlias, field_is_nullable="NULLABLE")

arcpy.management.AddField(inFeatures, fieldName2, "TEXT", 
                          field_length=fieldLength)

Verwandte Themen