Felder ändern (mehrere) (Data Management)

Zusammenfassung

Ändert die Feldeigenschaften mehrerer Felder in einer Feature-Class oder Tabelle.

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.

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

  • Mit diesem Werkzeug können Sie den Feldaliasnamen eines Feldes, der in einer bei der Geodatabase registrierten Tabelle oder Sicht enthalten ist, ändern.

  • Wenn es sich bei einem Eingabefeld um ein erforderliches Feld handelt, können nur die Feldaliasnamen geändert werden.

Parameter

BeschriftungErläuterungDatentyp
Eingabetabelle

Die Eingabe-Geodatabase-Tabelle oder -Feature-Class mit dem Feld, das geändert wird.

Table View; Raster Layer; Mosaic Layer
Feldeigenschaften
(optional)

Die Felder der Eingabetabelle mit den Eigenschaften, die geändert werden.

  • Feldname: Der Name des Feldes, das geändert wird. Wenn es sich bei dem Feld um ein erforderliches Feld handelt, werden nur die Feldaliasnamen geändert.
  • Neuer Feldname (optional): Der neue Name für das Feld.
  • Neuer Feld-Alias (optional): Der neue Feldaliasname für das Feld.
  • Neuer Feldtyp (optional): Gibt den neuen Feldtyp für das Feld an. Diese Spalte findet nur bei einer leeren Eingabetabelle (ohne Datensätze) Anwendung.
  • Neue Feldlänge (optional): Die neue Länge des Feldes (Typ "Long"). 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 (Binärdaten). 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.
  • Neues Feld erlaubt NULL-Werte (optional): Gibt an, ob NULL-Werte im Feld enthalten sein dürfen. NULL-Werte werden nur für Felder in einer Geodatabase unterstützt. Diese Option gilt nur für eine leere Tabelle (ohne Datensätze). Ist die Option aktiviert, kann das Feld NULL-Werte enthalten. Dies ist die Standardeinstellung. Ist die Option deaktiviert, darf das Feld keine NULL-Werte enthalten.
  • Alias löschen (optional): Gibt an, ob der Alias für das Eingabefeld gelöscht wird. Der Parameterwert für Neuer Feld-Alias muss leer sein, damit der Aliasname des Feldes gelöscht wird. Ist die Option aktiviert, wird der Feldaliasname gelöscht (auf NULL festgelegt). Ist die Option deaktiviert, wird der Feldaliasname nicht gelöscht. Dies ist die Standardeinstellung.

Die folgenden Feldtypen stehen zur Verfügung:

  • 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.
  • Text: Der Feldtyp ist "Text". Felder des Typs "Text" unterstützen eine Zeichenfolge.
  • Date: Der Feldtyp ist "Date". Felder des Typs "Date" unterstützen Datums- und Uhrzeitwerte.
  • Datum (hohe Genauigkeit): Der Feldtyp ist ein Datum mit hoher Genauigkeit. Datumsfelder mit hoher Genauigkeit unterstützen Datums- und Zeitwerte mit Millisekundenzeit.
  • Nur Datum: Der Feldtyp ist "Nur Datum". Felder des Typs "Nur Datum" unterstützen Datumswerte ohne Uhrzeitwerte.
  • Nur Zeit: Der Feldtyp ist "Nur Zeit". Felder des Typs "Nur Zeit" unterstützen Uhrzeitwerte ohne Datumswert.
  • Zeitstempelversatz: Der 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". BLOB-Felder 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 aus 36 Zeichen gespeichert (ähnlich denen in der Registrierung), die in geschweifte Klammern eingeschlossen sind.
  • Raster-Bilddaten: Der Feldtyp ist "Raster". In Raster-Feldern können Raster-Daten innerhalb 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.
Value Table

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisierte Eingabetabelle

Die aktualisierte Eingabetabelle.

Table View; Raster Layer; Mosaic Layer

arcpy.management.AlterFields(in_table, {field_description})
NameErläuterungDatentyp
in_table

Die Eingabe-Geodatabase-Tabelle oder -Feature-Class mit dem Feld, das geändert wird.

Table View; Raster Layer; Mosaic Layer
field_description
[[Field Name, {New Field Name}, {New Field Alias}, {New Field Type}, {New Field Length}, {New Field IsNullable}, {Clear Alias}],...]
(optional)

Die Felder der Eingabetabelle mit den Eigenschaften, die geändert werden.

  • Field Name: Der Name des zu ändernden Feldes. Wenn es sich bei dem Feld um ein erforderliches Feld handelt, werden nur die Feldaliasnamen geändert.
  • New Field Name (optional): Der neue Name für das Feld.
  • New Field Alias (optional): Der neue Feldaliasname für das Feld.
  • New Field Type (optional): Gibt den neuen Feldtyp für das Feld an. Diese Option gilt nur für eine leere Eingabetabelle (ohne Datensätze).
  • New 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.
  • New Field IsNullable (optional): Gibt an, ob NULL-Werte im Feld enthalten sein dürfen. NULL-Werte werden nur für Felder in einer Geodatabase unterstützt. Diese Option gilt nur für eine leere Tabelle (ohne Datensätze). Bei der Festlegung auf True kann das Feld NULL-Werte enthalten. Dies ist die Standardeinstellung. Bei der Festlegung auf False darf das Feld keine NULL-Werte enthalten.
  • Clear Alias (optional): Gibt an, ob der Alias für das Eingabefeld gelöscht wird. Der Parameterwert für New Field Alias muss leer sein, damit der Aliasname des Feldes gelöscht wird. Bei der Festlegung auf True wird der Feldaliasname gelöscht (auf NULL festgelegt). Bei der Festlegung auf False wird der Feldaliasname nicht gelöscht. Dies ist die Standardeinstellung.

Die folgenden Feldtypen stehen zur Verfügung:

  • SHORT‎: Der Feldtyp ist "Short". Felder des Typs "Short" unterstützen ganze Zahlen zwischen -32.768 und 32.767.
  • LONG: Der Feldtyp ist "Long". Felder des Typs "Long" unterstützen ganze Zahlen zwischen -2.147.483.648 und 2.147.483.647.
  • BIGINTEGER: Der Feldtyp ist "Big Integer". Felder des Typs "Big Integer" unterstützen ganze Zahlen zwischen -(253) und 253.
  • FLOAT: Der Feldtyp ist "Float". Felder des Typs "Float" unterstützen Bruchzahlen zwischen -3,4E38 und 1,2E38.
  • DOUBLE: Der Feldtyp ist "Double". Felder des Typs "Double" unterstützen Bruchzahlen zwischen -2,2E308 und 1,8E308.
  • TEXT: Der Feldtyp ist "Text". Felder des Typs "Text" unterstützen eine Zeichenfolge.
  • DATE: Der Feldtyp ist "Date". Felder des Typs "Date" unterstützen Datums- und Uhrzeitwerte.
  • DATEHIGHPRECISION: Der Feldtyp ist ein Datum mit hoher Genauigkeit. Datumsfelder mit hoher Genauigkeit unterstützen Datums- und Zeitwerte mit Millisekundenzeit.
  • DATEONLY: Der Feldtyp ist "Nur Datum". Felder des Typs "Nur Datum" unterstützen Datumswerte ohne Uhrzeitwerte.
  • TIMEONLY: Der Feldtyp ist "Nur Zeit". Felder des Typs "Nur Zeit" unterstützen Uhrzeitwerte ohne Datumswert.
  • TIMESTAMPOFFSET: Der Feldtyp ist "Zeitstempelversatz". Felder des Typs "Zeitstempelversatz" unterstützen ein Datum, eine Uhrzeit und einen Versatz vom UTC-Wert.
  • BLOB: Der Feldtyp ist "BLOB". BLOB-Felder 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: Der Feldtyp ist "GUID". In GUID-Feldern werden Zeichenfolgen aus 36 Zeichen gespeichert (ähnlich denen in der Registrierung), die in geschweifte Klammern eingeschlossen sind.
  • RASTER: Der Feldtyp ist "Raster". In Raster-Feldern können Raster-Daten innerhalb 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.

Value Table

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_table

Die aktualisierte Eingabetabelle.

Table View; Raster Layer; Mosaic Layer

Codebeispiel

AlterFields: Beispiel 1 (eigenständiges Skript)

Das folgende eigenständige Skript veranschaulicht, wie mit der Funktion AlterFields die Feldaliasnamen von Feldern in einer Feature-Class geändert werden.

import arcpy

test_class = arcpy.management.CreateFeatureclass(out_gdb, "new_fc", geometry_type='POLYGON')
field_description = [
    ['SHORT_FIELD', 'SHORT', 'SHORT_FIELD_Alias', '#', '#', '#'],
    ['LONG_FIELD', 'LONG', 'LONG_FIELD_Alias', '#', '#', '#'],
    ['BIGINTEGER_FIELD', 'BIGINTEGER', 'BIGINTEGER_FIELD_Alias', '#', '#', '#'], 
    ['FLOAT_FIELD', 'FLOAT', 'FLOAT_FIELD_Alias', '#', '#', '#'],
    ['DOUBLE_FIELD', 'DOUBLE', 'DOUBLE_FIELD_Alias', '#', '#', '#'],
    ['TEXT_FIELD', 'TEXT', 'TEXT_FIELD_Alias', '#', '#', '#'],
    ['DATE_FIELD', 'DATE', 'DATE_FIELD_Alias', '#', '#', '#'],
    ['DATEONLY_FIELD', 'DATEONLY', 'DATEONLY_FIELD_Alias', '#', '#', '#'],
    ['TIMEONLY_FIELD', 'TIMEONLY', 'TIMEONLY_FIELD_Alias', '#', '#', '#'],
    ['TIMESTAMPOFFSET_FIELD', 'TIMESTAMPOFFSET', 'TIMESTAMPOFFSET_FIELD_Alias', '#', '#', '#']
]
arcpy.management.AddFields(test_class, field_description, None)

alter_field_description = [
    ['SHORT_FIELD', 'SHORT_FIELD_altered', '#', '#', '#', '#'],
    ['LONG_FIELD', 'LONG_FIELD_altered', '#', '#', '#', '#'],
    ['BIGINTEGER_FIELD', 'BIGINTEGER_FIELD_altered', '#', '#', '#', '#'],
    ['FLOAT_FIELD', 'FLOAT_FIELD_altered', '#', '#', '#', '#'],
    ['DOUBLE_FIELD', 'DOUBLE_FIELD_altered', '#', '#', '#', '#'],
    ['TEXT_FIELD', 'TEXT_FIELD_altered', '#', '#', '#', '#'],
    ['DATE_FIELD', 'DATE_FIELD_altered', '#', '#', '#', '#'],
    ['DATEONLY_FIELD', 'DATEONLY_FIELD_altered', '#', '#', '#', '#'],
    ['TIMEONLY_FIELD', 'TIMEONLY_FIELD_altered', '#', '#', '#', '#'],
    ['TIMESTAMPOFFSET_FIELD', 'TIMESTAMPOFFSET_FIELD_altered', '#', '#', '#', '#']
]
arcpy.management.AlterFields(in_table=test_class, field_description=alter_field_description)
AlterFields: Beispiel 2 (eigenständiges Skript)

Das folgende eigenständige Skript veranschaulicht, wie mit der Funktion AlterFields für Felder in einer leeren Tabelle die Feldeigenschaft für NULL-Werte geändert wird.

import arcpy

test_class = arcpy.management.CreateTable(out_gdb, "new_table")
field_description = [
    ['SHORT_FIELD', 'SHORT', 'SHORT_FIELD_Alias', '#', '#', '#'],
    ['LONG_FIELD', 'LONG', 'LONG_FIELD_Alias', '#', '#', '#'],
    ['BIGINTEGER_FIELD', 'BIGINTEGER', 'BIGINTEGER_FIELD_Alias', '#', '#', '#'],
    ['FLOAT_FIELD', 'FLOAT', 'FLOAT_FIELD_Alias', '#', '#', '#'],
    ['DOUBLE_FIELD', 'DOUBLE', 'DOUBLE_FIELD_Alias', '#', '#', '#'],
    ['TEXT_FIELD', 'TEXT', 'TEXT_FIELD_Alias', '#', '#', '#'],
    ['DATE_FIELD', 'DATE', 'DATE_FIELD_Alias', '#', '#', '#'],
    ['DATEONLY_FIELD', 'DATEONLY', 'DATEONLY_FIELD_Alias', '#', '#', '#'],
    ['TIMEONLY_FIELD', 'TIMEONLY', 'TIMEONLY_FIELD_Alias', '#', '#', '#'],
    ['TIMESTAMPOFFSET_FIELD', 'TIMESTAMPOFFSET', 'TIMESTAMPOFFSET_FIELD_Alias', '#', '#', '#']
]

arcpy.management.AddFields(test_class, field_description, None)

# Change the nullable property to true
alter_field_description = [
    ['SHORT_FIELD', '#', '#', '#','#', 'true', '#'],
    ['LONG_FIELD', '#', '#', '#','#', 'true', '#'],
    ['BIGINTEGER_FIELD', '#', '#', '#','#', 'true', '#'],
    ['FLOAT_FIELD', '#', '#', '#','#', 'true', '#'],
    ['DOUBLE_FIELD', '#', '#', '#','#', 'true', '#'],
    ['TEXT_FIELD', '#', '#', '#','#', 'true', '#'],
    ['DATE_FIELD', '#', '#', '#','#', 'true', '#'],
    ['DATEONLY_FIELD', '#', '#', '#','#', 'true', '#'],
    ['TIMEONLY_FIELD', '#', '#', '#','#', 'true', '#'],
    ['TIMESTAMPOFFSET_FIELD', '#', '#', '#','#', 'true', '#']
]

arcpy.management.AlterFields(in_table=test_class, field_description=alter_field_description)

Lizenzinformationen

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

Verwandte Themen