Etiqueta | Explicación | Tipo de datos |
Tabla de entrada | Tabla de entrada o clase de entidad. | Table View |
Tabla de Salida | Tabla de salida o clase de entidad que contiene los campos actualizados. | Table |
Tabla de definición del esquema de salida | Tabla que contiene las definiciones de campo y los cálculos que se utilizarán para crear la salida. | Table View |
Archivo de secuencia de comandos (Opcional) | Archivo Python que almacena varias funciones Python de línea para realizar cálculos para los campos del parámetro Tabla de salida. | File |
Nombre de campo de salida (Opcional) | Nombre de campo de la tabla de definiciones que contiene los nombres de campo de destino para la tabla de salida. | Field |
Nombre de campo de origen (Opcional) | Nombre de campo de la tabla de definiciones que contiene los nombres de campo de origen de la tabla de entrada. | Field |
Tipo de campo de salida (Opcional) | Campo del valor del parámetro Tabla de definición del esquema de salida que define los tipos de datos para la tabla de salida. Se espera que el campo sea de tipo texto. Campo de la field_definition_table que define los tipos de dato para la tabla de salida. Se espera que el campo sea de tipo texto. Se admiten los siguientes valores:
| Field |
Decimales o longitud del campo de salida (Opcional) | Nombre del campo de la tabla de definiciones que establece el número de decimales o la longitud de los campos de salida. | Field |
Alias del campo de salida (Opcional) | Nombre de campo de la tabla de definiciones que define los nombres de alias para los campos de la tabla de salida. | Field |
Secuencia de comandos de campo de salida (Opcional) | Nombre de campo de la tabla de definiciones que define los cálcuos para los campos de salida. | Field |
Resumen
Transforma campos de una tabla o clase de entidad en función del esquema definido en la tabla de definición y crea una nueva tabla o clase de entidad.
Con esta herramienta podrá hacer lo siguiente:
- Agregar nuevos campos.
- Actualizar campos existentes.
- Reordenar campos.
- Cambiar tipos de campo.
- Cambiar propiedades de archivo.
- Asignar o actualizar alias de campo.
- Calcular valores de campo en función de campos existentes mediante Python.
- Quitar campos.
Uso
La tabla de entrada puede ser una clase o tabla de entidades. Esta herramienta genera una nueva clase o tabla de entidades con el esquema actualizado.
Los cambios de esquema para la tabla de salida se definen mediante el parámetro Tabla de definición del esquema de salida.
A continuación se muestra un ejemplo de tabla de definiciones:
Si el valor del parámetro Tabla de definición del esquema de salida incluye los siguientes nombres de campo, como en el ejemplo anterior, los valores de los parámetros correspondientes se rellenarán automáticamente:
- Target field
- Source field
- Type
- Decimals/Length
- Alias
- Script
La herramienta calcula nuevos campos utilizando campos existentes proporcionando un campo de script en la tabla de definiciones.
Un valor de ejemplo en el campo Script de la tabla de definiciones es !TOTPOP!/!AREA!, que calcula el campo Population Density. Los nombres de campo se deben especificar entre signos de exclamación.
La herramienta puede crear campos adicionales que dependen de los cálculos de otros campos. Por ejemplo, el campo Bev_Index se calcula utilizando el campo Bev_Per_Capita, que también se calcula al ejecutar la herramienta.
Utilice el parámetro Archivo de secuencia de comandos para realizar varios cálculos Python de línea. Para utilizar un archivo de secuencia de comandos, cree un archivo con funciones Python y haga referencia a las funciones en la tabla de definiciones.
A continuación se muestra un ejemplo de un código de secuencia de comandos para un campo de destino denominado Bev_Per_Capita:
- Campo denominado Script en valor del parámetro Tabla de definición del esquema de salida con el valor Bev_Per_Capita(!Bev_Total!, !TOTPOP!)
- Valor del parámetro Archivo de secuencia de comandos con la siguiente función:
def Bev_Per_Capita(Bev_Total, TOTPOP): return Bev_Total / TOTPOP
A continuación se muestra un ejemplo de la tabla de atributos antes y después de ejecutar la herramienta:
Parámetros
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})
Nombre | Explicación | Tipo de datos |
in_table | Tabla de entrada o clase de entidad. | Table View |
out_table | Tabla de salida o clase de entidad que contiene los campos actualizados. | Table |
field_definition_table | Tabla que contiene las definiciones de campo y los cálculos que se utilizarán para crear la salida. | Table View |
script_file (Opcional) | Archivo Python que almacena varias funciones Python para realizar cálculos para los campos del parámetro out_table. | File |
output_field_name (Opcional) | Nombre de campo de la tabla de definiciones que contiene los nombres de campo de destino para la tabla de salida. | Field |
source_field_name (Opcional) | Nombre de campo de la tabla de definiciones que contiene los nombres de campo de origen de la tabla de entrada. | Field |
output_field_type (Opcional) | Campo del valor del parámetro Tabla de definición del esquema de salida que define los tipos de datos para la tabla de salida. Se espera que el campo sea de tipo texto. Campo de la field_definition_table que define los tipos de dato para la tabla de salida. Se espera que el campo sea de tipo texto. Se admiten los siguientes valores:
| Field |
output_field_decimals_or_length (Opcional) | Nombre del campo de la tabla de definiciones que establece el número de decimales o la longitud de los campos de salida. | Field |
output_field_alias (Opcional) | Nombre de campo de la tabla de definiciones que define los nombres de alias para los campos de la tabla de salida. | Field |
output_field_script (Opcional) | Nombre de campo de la tabla de definiciones que define los cálcuos para los campos de salida. | Field |
Muestra de código
La secuencia de comandos de la ventana Python siguiente muestra cómo utilizar la función BatchUpdateFields en una secuencia de comandos independiente.
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")