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 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.
Das Werkzeug bietet 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.
Nachfolgend sehen Sie 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
Hinweis:
Script oder Source field muss ausgefüllt werden.
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.
Im Folgenden sehen Sie ein Beispiel für Skriptcode für ein Zielfeld namens Bev_Per_Capita:
- Ein Feld namens Script im Parameterwert 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 sehen Sie ein Beispiel, das eine 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 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")
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja