Beschriftung | Erläuterung | Datentyp |
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:
| 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 |
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:
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:
Parameter
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})
Name | Erläuterung | Datentyp |
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:
| 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
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")