Felder batchweise aktualisieren (Data Management)

Zusammenfassung

Transformiert Felder in einer Tabelle oder Feature-Class basierend auf einem in der Definitionstabelle definierten Schema und erstellt eine neue Tabelle oder Feature-Class.

Mit diesem Werkzeug haben Sie folgende Möglichkeiten:

  • Hinzufügen neuer Felder
  • Aktualisieren vorhandener Felder
  • Neuanordnen von Feldern
  • Ändern von Feldtypen
  • Ändern von Feldeigenschaften
  • Zuweisen oder Aktualisieren von Feld-Aliasnamen
  • Berechnen von Feldwerten basierend auf vorhandenen Feldern mit Python
  • Entfernen von Feldern

Verwendung

  • Die Eingabetabelle kann eine Feature-Class oder eine Tabelle sein. Das Werkzeug gibt eine neue Feature-Class oder Tabelle mit dem aktualisierten Schema aus.

  • Die Schemaänderungen für die Ausgabetabelle werden durch den Parameter Ausgabe-Schemadefinitionstabelle definiert.

    Folgendes ist ein Beispiel für eine Definitionstabelle:

    Beispiel einer Definitionstabelle

    Wenn der Parameterwert Ausgabe-Schemadefinitionstabelle die folgenden Feldnamen enthält, wie im Beispiel oben, werden die entsprechenden Parameterwerte automatisch ausgefüllt:

    • Target field
    • Source field
    • Type
    • Decimals/Length
    • Alias
    • Script

  • Das Werkzeug berechnet neue Felder unter Verwendung vorhandener Felder, indem ein Skriptfeld in der Definitionstabelle bereitgestellt wird.

    Ein Beispielwert im Feld Script der Definitionstabelle ist !TOTPOP!/!AREA!, womit das Feld Population Density berechnet wird. Feldnamen müssen in Ausrufezeichen eingeschlossen werden.

  • Das Werkzeug kann zusätzliche Felder erstellen, die von anderen Feldberechnungen abhängig sind. Beispielsweise wird das Feld Bev_Index unter Verwendung des Feldes Bev_Per_Capita berechnet, das ebenfalls berechnet wird, wenn das Werkzeug ausgeführt wird.

  • Verwenden Sie den Parameter Skriptdatei für mehrzeilige Python-Berechnungen. Um eine Skriptdatei zu verwenden, erstellen Sie eine Datei mit Python-Funktionen, und referenzieren Sie die Funktionen in der Definitionstabelle.

    Folgendes ist ein Beispiel für Skriptcode für ein Zielfeld mit dem Namen Bev_Per_Capita:

    • Ein Feld namens Script als Parameterwert in Ausgabe-Schemadefinitionstabelle mit dem Wert Bev_Per_Capita(!Bev_Total!, !TOTPOP!)
    • Ein Parameterwert Skriptdatei mit der folgenden Funktion:
      
      def Bev_Per_Capita(Bev_Total, TOTPOP):
          return Bev_Total / TOTPOP

    Im folgenden Beispiel wird die Attributtabelle vor und nach der Ausführung des Werkzeugs darstellt:

    Beispiel für das Werkzeug "Felder batchweise aktualisieren"

Parameter

BeschriftungErläuterungDatentyp
Eingabetabelle

Die Eingabetabelle oder -Feature-Class.

Table View
Ausgabetabelle

Die Ausgabetabelle oder -Feature-Class, die die aktualisierten Felder enthält.

Table
Ausgabe-Schemadefinitionstabelle

Eine Tabelle, die die Felddefinitionen und Berechnungen enthält, die zum Erstellen der Ausgabe verwendet werden.

Table View
Skriptdatei
(optional)

Eine Python-Datei, die mehrzeilige Python-Funktionen speichert, um Berechnungen für die Ausgabetabelle-Parameterfelder durchzuführen.

File
Ausgabefeldname
(optional)

Der Feldname aus der Definitionstabelle, der die Zielfeldnamen für die Ausgabetabelle enthält.

Field
Quellfeldname
(optional)

Der Feldname aus der Definitionstabelle, der die Quellfeldnamen aus der Eingabetabelle enthält.

Field
Ausgabefeldtyp
(optional)

Das Feld im Parameterwert Ausgabe-Schemadefinitionstabelle, das die Datentypen für die Ausgabetabelle definiert. Für das Feld wird der Typ "Text" erwartet.

Das Feld in der field_definition_table, das die Datentypen für die Ausgabetabelle definiert. Für das Feld wird der Typ "Text" erwartet.

Folgende Werte werden unterstützt:

  • BigInteger: 64-Bit-Ganzzahl
  • Blob: Binary Large Object
  • Date: Datum
  • DateOnly: Nur Datum
  • Double: Gleitkommazahl mit doppelter Genauigkeit
  • GlobalID: Global-ID
  • GUID: Globally Unique Identifier
  • Integer (oder Long): 32-Bit-Ganzzahl
  • Raster: Raster
  • Float (oder Single): Gleitkommazahl mit einfacher Genauigkeit
  • Short (oder SmallInteger): 16-Bit-Integer
  • Text (oder String): Zeichenfolge
  • TimeOnly: Nur Zeit
  • TimestampOffset: Zeitstempelversatz
Field
Dezimalstellen oder Länge des Ausgabefeldes
(optional)

Der Feldname aus der Definitionstabelle, der die Anzahl der Dezimalstellen oder die Länge des Feldes für die Ausgabefelder definiert.

Field
Ausgabefeld-Alias
(optional)

Der Feldname aus der Definitionstabelle, der die Aliasnamen für die Felder der Ausgabetabelle definiert.

Field
Ausgabefeldskript
(optional)

Der Feldname aus der Definitionstabelle, der die Berechnungen für die Ausgabefelder definiert.

Field

arcpy.management.BatchUpdateFields(in_table, out_table, field_definition_table, {script_file}, {output_field_name}, {source_field_name}, {output_field_type}, {output_field_decimals_or_length}, {output_field_alias}, {output_field_script})
NameErläuterungDatentyp
in_table

Die Eingabetabelle oder -Feature-Class.

Table View
out_table

Die Ausgabetabelle oder -Feature-Class, die die aktualisierten Felder enthält.

Table
field_definition_table

Eine Tabelle, die die Felddefinitionen und Berechnungen enthält, die zum Erstellen der Ausgabe verwendet werden.

Table View
script_file
(optional)

Eine Python-Datei, die mehrzeilige Python-Funktionen speichert, um Berechnungen für die out_table-Parameterfelder durchzuführen.

File
output_field_name
(optional)

Der Feldname aus der Definitionstabelle, der die Zielfeldnamen für die Ausgabetabelle enthält.

Field
source_field_name
(optional)

Der Feldname aus der Definitionstabelle, der die Quellfeldnamen aus der Eingabetabelle enthält.

Field
output_field_type
(optional)

Das Feld im Parameterwert Ausgabe-Schemadefinitionstabelle, das die Datentypen für die Ausgabetabelle definiert. Für das Feld wird der Typ "Text" erwartet.

Das Feld in der field_definition_table, das die Datentypen für die Ausgabetabelle definiert. Für das Feld wird der Typ "Text" erwartet.

Folgende Werte werden unterstützt:

  • BigInteger: 64-Bit-Ganzzahl
  • Blob: Binary Large Object
  • Date: Datum
  • DateOnly: Nur Datum
  • Double: Gleitkommazahl mit doppelter Genauigkeit
  • GlobalID: Global-ID
  • GUID: Globally Unique Identifier
  • Integer (oder Long): 32-Bit-Ganzzahl
  • Raster: Raster
  • Float (oder Single): Gleitkommazahl mit einfacher Genauigkeit
  • Short (oder SmallInteger): 16-Bit-Integer
  • Text (oder String): Zeichenfolge
  • TimeOnly: Nur Zeit
  • TimestampOffset: Zeitstempelversatz
Field
output_field_decimals_or_length
(optional)

Der Feldname aus der Definitionstabelle, der die Anzahl der Dezimalstellen oder die Länge des Feldes für die Ausgabefelder definiert.

Field
output_field_alias
(optional)

Der Feldname aus der Definitionstabelle, der die Aliasnamen für die Felder der Ausgabetabelle definiert.

Field
output_field_script
(optional)

Der Feldname aus der Definitionstabelle, der die Berechnungen für die Ausgabefelder definiert.

Field

Codebeispiel

BatchUpdateFields: Beispiel (eigenständiges Skript)

Das folgende Skript im Python-Fenster veranschaulicht, wie die Funktion BatchUpdateFields in einem eigenständigen Skript verwendet wird.

import arcpy
arcpy.management.BatchUpdateFields(
    "zip_codes", "MyProject.gdb\zip_codes_BatchUpdateFields",
    "DATA_TRANSFORMATION.csv", r"C:\BatchUpdate\script.py", "TARGET",
    "SOURCE", "DATATYPE", "DECIMALS", "ALIAS", "SCRIPT")

Verwandte Themen