标注 | 说明 | 数据类型 |
输入表 | 输入表或要素类。 | Table View |
输出表 | 包含已更新字段的输出表或要素类。 | Table |
输出方案定义表 | 包含将用于创建输出的字段定义和计算的表。 | Table View |
脚本文件 (可选) | 存储多行 Python 函数的 Python 文件,用于对输出表参数字段执行计算。 | File |
输出字段名称 (可选) | 定义表中的字段名称,其中包含输出表的目标字段名称。 | Field |
源字段名称 (可选) | 定义表中的字段名称,其中包含输入表的源字段名称。 | Field |
输出字段类型 (可选) | 输出表的数据类型由输出模式定义表参数值中的字段定义。 该字段应为文本类型。 输出表的数据类型由 field_definition_table 中的字段定义。 该字段应为文本类型。 支持以下值:
| Field |
输出字段小数或长度 (可选) | 定义表中的字段名称,用于定义输出字段的小数位数或字段长度。 | Field |
输出字段别名 (可选) | 定义表中的字段名称,用于定义输出表字段的别名。 | Field |
输出字段脚本 (可选) | 定义表中的字段名称,用于定义输出字段的计算。 | Field |
摘要
用于根据定义表中定义的方案来转换表或要素类中的字段并创建新的表或要素类。
您可以使用此工具执行以下操作:
- 添加新字段。
- 更新现有字段。
- 重新排序字段。
- 更改字段类型。
- 更改字段属性。
- 分配或更新字段别名。
- 使用 Python,基于现有字段计算字段值。
- 移除字段。
使用情况
输入表可为要素类或表。 该工具将输出具有更新方案的新要素类或表。
输出表的方案变更将由输出方案定义表参数进行定义。
以下是定义表的一个示例:
如果输出模式定义表参数值包括上述字段名称,如上述示例中所示,将自动填充对应的参数值:
- Target field
- Source field
- Type
- Decimals/Length
- Alias
- Script
注:
Script 或 Source field 必须填充。
该工具可通过在定义表中提供脚本字段来使用现有字段计算新字段。
定义表的 Script 字段中的示例值为 !TOTPOP!/!AREA!,该值将计算 Population Density 字段。 必须在字段名称两边添加惊叹号。
该工具可以创建依赖于其他字段计算的其他字段。 例如,系统将使用 Bev_Per_Capita 字段计算 Bev_Index 字段,而前者也是在该工具运行时计算出的。
使用脚本文件参数进行多行 Python 计算。 要使用脚本文件,请使用 Python 函数创建一个文件,并引用定义表中的函数。
以下是名为 Bev_Per_Capita 的目标字段的脚本代码示例:
- 输出方案定义表参数值中名为 Script 的字段,其值为 Bev_Per_Capita(!Bev_Total!, !TOTPOP!)
- 具有以下函数的脚本文件参数值:
def Bev_Per_Capita(Bev_Total, TOTPOP): return Bev_Total / TOTPOP
以下示例显示了运行该工具之前和之后的属性表:
参数
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})
名称 | 说明 | 数据类型 |
in_table | 输入表或要素类。 | Table View |
out_table | 包含已更新字段的输出表或要素类。 | Table |
field_definition_table | 包含将用于创建输出的字段定义和计算的表。 | Table View |
script_file (可选) | 存储多行 Python 函数的 Python 文件,用于对 out_table 参数字段执行计算。 | File |
output_field_name (可选) | 定义表中的字段名称,其中包含输出表的目标字段名称。 | Field |
source_field_name (可选) | 定义表中的字段名称,其中包含输入表的源字段名称。 | Field |
output_field_type (可选) | 输出表的数据类型由输出模式定义表参数值中的字段定义。 该字段应为文本类型。 输出表的数据类型由 field_definition_table 中的字段定义。 该字段应为文本类型。 支持以下值:
| Field |
output_field_decimals_or_length (可选) | 定义表中的字段名称,用于定义输出字段的小数位数或字段长度。 | Field |
output_field_alias (可选) | 定义表中的字段名称,用于定义输出表字段的别名。 | Field |
output_field_script (可选) | 定义表中的字段名称,用于定义输出字段的计算。 | Field |
代码示例
以下 Python 窗口脚本演示了如何在独立脚本中使用 BatchUpdateFields 函数。
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")
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是