Подпись | Описание | Тип данных |
Входная таблица | Входная таблица или класс пространственных объектов. | Table View |
Выходная таблица | Выходная таблица или класс объектов, содержащие обновленные поля. | Table |
Выходная таблица определений схемы | Таблица, содержащая определения полей и вычисления, которые будут использоваться для создания выходных данных. | Table View |
Файл скрипта (Дополнительный) | Файл Python, в котором хранятся несколько линейных функций Python для выполнения вычислений для полей параметра Выходная таблица. | File |
Выходное имя поля (Дополнительный) | Имя поля из таблицы определений, содержащей имена целевых полей для выходной таблицы. | Field |
Имя поля источника (Дополнительный) | Имя поля из таблицы определений, содержащей имена полей источника из входной таблицы. | Field |
Выходной тип поля (Дополнительный) | Поле в значении параметра Выходная таблица определений схемы, определяющего типы данных для выходной таблицы. Предполагаемый тип этого поля - Текст. Поле в field_definition_table, которая определяет типы данных для выходной таблицы. Предполагаемый тип этого поля - Текст. Поддерживаются следующие значения:
| Field |
Десятичные знаки или длина выходного поля (Дополнительный) | Имя поля из таблицы определений, которая определяет количество знаков после запятой или длину поля для выходных полей. | Field |
Псевдоним выходного поля (Дополнительный) | Имя поля из таблицы определений, которая задает имена псевдонимов для полей выходной таблицы. | Field |
Скрипт Выходное поле (Дополнительный) | Имя поля из таблицы определений, которая задает вычисления для выходных полей. | Field |
Краткая информация
Преобразует поля в таблице или классе пространственных объектов на основе схемы, заданной в таблице определений, и создает новую таблицу или класс пространственных объектов.
С помощью этого инструмента можно выполнить следующее:
- Добавить новые поля.
- Обновить существующие поля.
- Изменить порядок полей.
- Изменить типы полей.
- Изменить свойства полей.
- Присвоить или обновить псевдонимы полей.
- Вычислить значения полей в существующем поле, используя Python.
- Удалить поля.
Использование
Входная таблица может быть классом объектов или таблицей. Инструмент создает новый класс пространственных объектов или таблицу с обновленной схемой.
Изменения схемы для выходной таблицы определяются параметром Выходная таблица определений схемы (Output Schema Definition Table).
Ниже приводится пример таблицы определений:
Если значение параметра Выходная таблица определений схемы содержит следующие имена полей, как в примере выше, то соответствующие значения параметров будут заполнены автоматически:
- Target field
- Source field
- Type
- Decimals/Length
- Alias
- Script
Инструмент вычисляет новые поля, используя существующие поля, указывая поле скрипта в таблице определений.
Примером значения в поле Script таблицы определений является !TOTPOP!/!AREA!, которое вычисляет поле Population Density. Имена полей должны быть заключены в восклицательные знаки.
Инструмент может создавать дополнительные поля, которые зависят от вычислений по другим полям. Например, для вычисления поля Bev_Index используется поле Bev_Per_Capita, которое также вычисляется при запуске инструмента.
Используйте параметр Файл скрипта для нескольких линейных вычислений 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")