Пакетно обновить поля (Управление данными)

Краткая информация

Преобразует поля в таблице или классе пространственных объектов на основе схемы, заданной в таблице определений, и создает новую таблицу или класс пространственных объектов.

С помощью этого инструмента можно выполнить следующее:

  • Добавить новые поля.
  • Обновить существующие поля.
  • Изменить порядок полей.
  • Изменить типы полей.
  • Изменить свойства полей.
  • Присвоить или обновить псевдонимы полей.
  • Вычислить значения полей в существующем поле, используя 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

    Ниже приведен пример, демонстрирующий таблицу атрибутов до и после запуска инструмента:

    Пример инструмента Пакетно обновить поля

Параметры

ПодписьОписаниеТип данных
Входная таблица

Входная таблица или класс пространственных объектов.

Table View
Выходная таблица

Выходная таблица или класс объектов, содержащие обновленные поля.

Table
Выходная таблица определений схемы

Таблица, содержащая определения полей и вычисления, которые будут использоваться для создания выходных данных.

Table View
Файл скрипта
(Дополнительный)

Файл Python, в котором хранятся несколько линейных функций Python для выполнения вычислений для полей параметра Выходная таблица.

File
Выходное имя поля
(Дополнительный)

Имя поля из таблицы определений, содержащей имена целевых полей для выходной таблицы.

Field
Имя поля источника
(Дополнительный)

Имя поля из таблицы определений, содержащей имена полей источника из входной таблицы.

Field
Выходной тип поля
(Дополнительный)

Поле в значении параметра Выходная таблица определений схемы, определяющего типы данных для выходной таблицы. Предполагаемый тип этого поля - Текст.

Поле в field_definition_table, которая определяет типы данных для выходной таблицы. Предполагаемый тип этого поля - Текст.

Поддерживаются следующие значения:

  • BigInteger - 64-разрядное целочисленное
  • Blob - Большой двоичный объект
  • Date - Дата
  • DateOnly - Только дата
  • Double - Число с плавающей точкой двойной точности
  • GlobalID - Global ID
  • GUID - Глобальный уникальный идентификатор
  • Integer (или Long) - 32-разрядное целочисленное
  • Raster - Растр
  • Float (или Single) - Число с плавающей точкой одинарной точности)
  • Short (или SmallInteger) - 16-разрядное целочисленное
  • Text (или String) - Текстовая строка
  • TimeOnly - Только время
  • TimestampOffset - Сдвиг метки времени
Field
Десятичные знаки или длина выходного поля
(Дополнительный)

Имя поля из таблицы определений, которая определяет количество знаков после запятой или длину поля для выходных полей.

Field
Псевдоним выходного поля
(Дополнительный)

Имя поля из таблицы определений, которая задает имена псевдонимов для полей выходной таблицы.

Field
Скрипт Выходное поле
(Дополнительный)

Имя поля из таблицы определений, которая задает вычисления для выходных полей.

Field

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, которая определяет типы данных для выходной таблицы. Предполагаемый тип этого поля - Текст.

Поддерживаются следующие значения:

  • BigInteger - 64-разрядное целочисленное
  • Blob - Большой двоичный объект
  • Date - Дата
  • DateOnly - Только дата
  • Double - Число с плавающей точкой двойной точности
  • GlobalID - Global ID
  • GUID - Глобальный уникальный идентификатор
  • Integer (или Long) - 32-разрядное целочисленное
  • Raster - Растр
  • Float (или Single) - Число с плавающей точкой одинарной точности)
  • Short (или SmallInteger) - 16-разрядное целочисленное
  • Text (или String) - Текстовая строка
  • TimeOnly - Только время
  • TimestampOffset - Сдвиг метки времени
Field
output_field_decimals_or_length
(Дополнительный)

Имя поля из таблицы определений, которая определяет количество знаков после запятой или длину поля для выходных полей.

Field
output_field_alias
(Дополнительный)

Имя поля из таблицы определений, которая задает имена псевдонимов для полей выходной таблицы.

Field
output_field_script
(Дополнительный)

Имя поля из таблицы определений, которая задает вычисления для выходных полей.

Field

Пример кода

Пример BatchUpdateFields (автономный скрипт)

Следующий скрипт 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")

Связанные разделы