Zusammenfassung
Fügt einer Tabelle oder der Tabelle einer Feature-Class, einem Feature-Layer, Raster-Katalog und/oder Raster mit Attributtabellen ein neues Feld hinzu.
Verwendung
Gültige Eingaben für diesen Befehl sind Coverages, Standalone-Tabellen, Feature-Classes aus ArcSDE- und Personal- oder File-Geodatabases, Layer-Dateien, Raster-Kataloge und Shapefiles. VPF- und CAD-Feature-Datenüberlagerungen sind nicht gültig, da es sich hierbei um schreibgeschützte, nicht aus ArcGIS stammende Formate handelt.
Wenn der Feldtyp in Coverages, 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.
Das hinzugefügte Feld wird immer am Ende der Tabelle angezeigt.
Der Parameter Feldlänge ist nur für Felder des Typs "Text" oder "Blob" anwendbar.
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 als Standard akzeptiert wird.
Shapefiles unterstützen keine Aliasnamen für Felder, daher können Sie einem Shapefile keinen Feld-Alias hinzufügen.
Sie können nur leeren Geodatabase-Feature-Classes oder -Tabellen Felder hinzufügen, in denen NULL-Werte nicht zulässig sind. Bei diesem Werkzeug können Sie kein Feld hinzufügen, in dem NULL-Werte nicht zulässig sind, wenn die Zeilen bereits vorhanden sind.
Mit dem Parameter Felddomäne können Sie eine vorhandene Domäne aus einer Feature-Class in einer Personal-, File- oder SDE-Geodatabase verwenden. Der Name einer vorhandenen Domäne muss eingegeben werden. Die Eingabe ungültiger Domänennamen oder -werte führt nicht zu einem Fehler. Stattdessen werden Namen oder Werte ignoriert und für das Feld wird keine Domäne eingerichtet.
Die Genauigkeit und die Dezimalstellen eines Feldes beschreiben die maximale Größe und Genauigkeit der Daten, die in dem Feld gespeichert werden können. Die Genauigkeit beschreibt die Anzahl der Ziffern, die in dem Feld gespeichert werden können (signifikante Stellen), während die Dezimalstellen die Anzahl der Dezimalstellen für Float- und Double-Felder beschreiben. Wenn der Feldwert beispielsweise 54,234 lautet, ist die Anzahl der Dezimalstellen = 3 und die Genauigkeit = 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 Ganzzahlfeld 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. Personal- und File-Geodatabases unterstützen nur binäre Feldtypen, Genauigkeit und Maßstab werden ignoriert.
- Wenn Sie Float- und Double-Felder erstellen und eine Genauigkeit sowie Dezimalstellen festlegen, wählen Sie ein Double-Feld bei einer Genauigkeit größer als 6 oder sonst ein Float-Feld. Wenn Sie ein Double-Feld erstellen und eine Genauigkeit größer als 6 festlegen, wird ein Float-Feld erstellt. Wenn Sie ein Float-Feld erstellen und eine Genauigkeit 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 Ganzzahlfelder erstellen. Bei der Erstellung von Ganzzahlfeldern sollte der Wert für die Genauigkeit 10 oder weniger betragen, da ansonsten ein Double-Feld erstellt wird.
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 bleibend. Sie können Sie im Verlauf der späteren Bearbeitung nicht löschen. Wenn Felder zu einem späteren Zeitpunkt gelöscht werden sollen, legen Sie fest, dass sie nicht erforderlich (Standard) sind.
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_management (in_table, field_name, field_type, {field_precision}, {field_scale}, {field_length}, {field_alias}, {field_is_nullable}, {field_is_required}, {field_domain})
Parameter | Erläuterung | 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. Sie können Feature-Classes von ArcSDE-, File- oder Personal-Geodatabases, Coverages, Shapefiles, Raster-Katalogen sowie Standalone-Tabellen, Rastern mit Attributtabellen und/oder Layern Felder hinzufügen. | Mosaic Layer; Raster Catalog 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.
| 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. Handelt es sich bei der Eingabetabelle um eine Personal- oder File-Geodatabase, wird der Genauigkeitswert 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. Handelt es sich bei der Eingabetabelle um eine Personal- oder File-Geodatabase, wird der Wert für die Dezimalstellen 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 in Feldern des Typs "Text" oder "Blob" anwendbar. | Long |
field_alias (optional) | Der alternative Name für den Feldnamen. Dieser dient als aussagekräftigere Beschreibung für kryptische Feldnamen. Der Parameter "Feldalias" gilt nur für Geodatabases und Coverages. | 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) | Legt fest, ob es sich bei dem erstellten Feld um ein erforderliches Feld für die Tabelle handelt. Dieser Parameter 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 |
Codebeispiel
AddField – Beispiel (Python-Fenster)
Im folgenden Skript im Python-Fenster wird veranschaulicht, wie das Werkzeug "AddField" im unmittelbaren Modus verwendet wird.
import arcpy
from arcpy import env
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
from arcpy import env
# Set environment settings
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, "", "",
fieldAlias, "NULLABLE")
arcpy.AddField_management(inFeatures, fieldName2, "TEXT", "", "", fieldLength)
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Ja
- ArcGIS Desktop Standard: Ja
- ArcGIS Desktop Advanced: Ja