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 erlaube, können nicht zu einer 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- und Personal-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})
Parameter | Erklärung | Datentyp |
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, eigenständigen Tabellen, Rastern mit Attributtabellen und Layern hinzugefügt werden. | Table View; Raster Layer; Raster Catalog Layer; Mosaic Layer |
field_name | Der Name des Feldes, das der Eingabetabelle hinzugefügt wird. | String |
field_type | Der Feldtyp des neuen Feldes.
| 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 Personal- oder 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 Personal- oder 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.
| 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.
| 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
Name | Erklärung | Datentyp |
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)
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja