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

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

Добавляет новое поле в автономную таблицу или таблицу класса пространственных объектов или векторного слоя, а также в растры с таблицами атрибутов.

Использование

    Внимание:

    Этот инструмент изменяет входные значения. Более подробно о стратегиях предотвращения нежелательных изменений данных см. в разделе Инструменты, которые изменяют или обновляют входные данные.

  • Для шейп-файлов и таблиц dBase, если тип поля определяет символ, для каждой записи водятся пробелы. Если тип поля определяет числовой элемент, для каждой записи вводится 0.

  • Длина поля применима только к полям текстового типа. Если длина не указана, используется значение по умолчанию – 255.

  • Для баз геоданных, если тип поля определяет буква или число, в каждую запись вводится <null>, если параметр Поле поддерживает пустые значения включен.

  • Не поддерживающее значения null поле нельзя добавить в не пустой класс объектов и таблицу базы геоданных.

  • Шейп-файл не поддерживает псевдонимы для полей, так что вы не можете добавить псевдонимы поля в шейп-файл.

  • Вы можете использовать существующий домен из класса пространственных объектов в базе геоданных в качестве значения параметра Домен поля. Необходимо ввести имя существующего домена. Введение некорректных имен и значений доменов не приведет к тому, что инструмент не будет выполняться, но такие имена и значения будут проигнорированы, и для поля домен задан не будет.

  • Точность и количество знаков поля описывают максимальные точность и размер данных, которые могут храниться в поле. Разрядность описывает количество цифр, которые могут храниться в поле, а количество десятичных знаков описывает количество знаков после запятой для полей с плавающей точкой и двойной точности. Например, если значение поля равняется 54,234, то количество десятичных знаков = 3, а разрядность = 5.

    Примечание:

    Разрядность и количество десятичных знаков не поддерживаются в классах объектов или таблицах файловой базы геоданных. Если вы вводите значение разрядности или количества десятичных знаков, оно игнорируется.

    Для других типов баз данных, используйте следующие рекомендации для выбора корректного типа поля для заданной разрядности и точности:

    • Если вы создаете поля с плавающей точкой или двойной точности и задаете разрядность и количество десятичных знаков, то если разрядность больше 6, используйте значение двойной точности; в противном случае, используйте значение с плавающей точкой.
    • Для поля с числом десятичных знаков 0, используйте тип поля long или short integer. Если создается поле long integer, укажите разрядность 10 или менее, иначе будет создано поле типа double.

    Более подробно о типах числовых полей

  • Обязательные поля постоянны, их невозможно удалить. Чтобы иметь возможность удалять их в дальнейшем, сделайте поле не обязательным (по умолчанию).

  • Поле растрового типа позволяет иметь растровое изображение в качестве атрибута. Оно хранится внутри базы геоданных или рядом с ней. Это полезно, когда изображение является лучшим способом описания объекта. Точность, разрядность и длина не могут быть заданы для полей типа растр.

Параметры

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

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

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

Mosaic Layer; Raster Layer; Table View
Имя поля

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

String
Тип поля

Задает тип для нового поля.

  • ТекстТип поля будет Текст. Текстовые поля поддерживают строку символов.
  • С плавающей точкой (32-битное с плавающей точкой)Тип поля будет С плавающей точкой. Поля типа С плавающей точкой поддерживают дробные числа от -3.4E38 до 1.2E38.
  • Двойной точности (64-битное с плавающей точкой)Тип поля будет Двойной точности. Поля типа Двойной точности поддерживают дробные числа от -2.2E308 до 1.8E308.
  • Короткое целое (16-битное целочисленное)Тип поля будет Короткое целое. Поля типа Короткое целое поддерживают целые числа от -32 768 до 32 767.
  • Длинное целое (32-битное целочисленное)Тип поля будет Длинное целое. Поля типа Длинное целое поддерживают целые числа от -2 147 483 648 до 2 147 483 647.
  • ДатаТипом поля будет Дата. Поля даты поддерживают значения даты и времени.
  • BLOB (Большой двоичный объект)Тип поля будет BLOB. Поле BLOB поддерживает данные, хранящиеся в виде длинной последовательности двоичных чисел. Необходимо использовать пользовательский загрузчик или вьюер, или приложение сторонних производителей для загрузки элементов в поле типа BLOB или просмотра его содержимого.
  • Растровое изображениеТипом поля будет Растр. Растровые поля могут хранить растровые данные в базе геоданных или вне ее. Можно хранить все поддерживаемые в ArcGIS форматы наборов растровых данных, но рекомендуется использовать только маленькие изображения.
  • GUID (глобальный уникальный идентификатор)Типом поля будет GUID. В полях GUID хранятся строки в стиле реестра, состоящие из 36 символов, заключенных в фигурные скобки.
String
Разрядность поля
(Дополнительный)

Число цифр, хранящихся в поле. Учитываются все цифры, независимо от их расположения относительно разделяющей запятой.

Этот параметр применим только к полям с плавающей точкой, double, short или long.

Если входная таблица находится в файловой базе геоданных, значение разрядности поля будет игнорироваться.

Long
Точность поля
(Дополнительный)

Количество знаков после запятой, хранящихся в поле.

Этот параметр применим только к полям с плавающей точкой или double.

Если входная таблица находится в файловой базе геоданных, значение точности поля будет игнорироваться.

Long
Длина поля
(Дополнительный)

Длина поля Устанавливает максимально возможное количество знаков для каждой записи в поле.

Этот параметр доступен только для текстовых полей.

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

Альтернативное имя для поля. Это имя используется для описания непонятных имен полей. Данный параметр применяется только к базам геоданных.

String
Поле поддерживает нулевые значения
(Дополнительный)

Определяет, может ли поле содержать пустые значения. Пустые (NULL) значения отличаются от 0 или пустых полей и поддерживаются только для полей в базе геоданных.

  • Отмечено - поле может содержать значения null. Это значение по умолчанию
  • Не отмечено – значения null для поля недопустимы.
Boolean
Обязательное поле
(Дополнительный)

Определяет, будет ли создаваемое поле обязательным для таблицы или нет. Обязательные поля поддерживаются только базами геоданных.

  • Отмечено – поле является обязательным. Обязательные поля постоянны, их невозможно удалить.
  • Не отмечено – это поле не является обязательным. Это значение по умолчанию
Boolean
Домен поля
(Дополнительный)

Ограничивает значения, поддерживаемые любом конкретным атрибутом таблицы, класса пространственных объектов или подтипа в базе геоданных. Вы должны определить имя существующего домена, чтобы он был применен к полю.

String

Производные выходные данные

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

Обновленная входная таблица.

Table

arcpy.management.AddField(in_table, field_name, field_type, {field_precision}, {field_scale}, {field_length}, {field_alias}, {field_is_nullable}, {field_is_required}, {field_domain})
ИмяОписаниеТип данных
in_table

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

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

Mosaic Layer; Raster Layer; Table View
field_name

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

String
field_type

Задает тип для нового поля.

  • TEXTТип поля будет Текст. Текстовые поля поддерживают строку символов.
  • FLOATТип поля будет С плавающей точкой. Поля типа С плавающей точкой поддерживают дробные числа от -3.4E38 до 1.2E38.
  • DOUBLEТип поля будет Двойной точности. Поля типа Двойной точности поддерживают дробные числа от -2.2E308 до 1.8E308.
  • SHORTТип поля будет Короткое целое. Поля типа Короткое целое поддерживают целые числа от -32 768 до 32 767.
  • LONGТип поля будет Длинное целое. Поля типа Длинное целое поддерживают целые числа от -2 147 483 648 до 2 147 483 647.
  • DATEТипом поля будет Дата. Поля даты поддерживают значения даты и времени.
  • BLOBТип поля будет BLOB. Поле BLOB поддерживает данные, хранящиеся в виде длинной последовательности двоичных чисел. Необходимо использовать пользовательский загрузчик или вьюер, или приложение сторонних производителей для загрузки элементов в поле типа BLOB или просмотра его содержимого.
  • RASTERТипом поля будет Растр. Растровые поля могут хранить растровые данные в базе геоданных или вне ее. Можно хранить все поддерживаемые в ArcGIS форматы наборов растровых данных, но рекомендуется использовать только маленькие изображения.
  • GUIDТипом поля будет GUID. В полях GUID хранятся строки в стиле реестра, состоящие из 36 символов, заключенных в фигурные скобки.

Хотя значения свойства type объекта Field в точности не соответствуют ключевым словам, используемым в параметре field_type инструмента Добавить поле, все значения type объекта Field могут использоваться как входные для этого параметра. Разные типы полей сопоставляются следующим образом: Integer с LONG, String с TEXT и SmallInteger с SHORT.

String
field_precision
(Дополнительный)

Число цифр, хранящихся в поле. Учитываются все цифры, независимо от их расположения относительно разделяющей запятой.

Этот параметр применим только к полям с плавающей точкой, double, short или long.

Если входная таблица находится в файловой базе геоданных, значение разрядности поля будет игнорироваться.

Long
field_scale
(Дополнительный)

Количество знаков после запятой, хранящихся в поле.

Этот параметр применим только к полям с плавающей точкой или double.

Если входная таблица находится в файловой базе геоданных, значение точности поля будет игнорироваться.

Long
field_length
(Дополнительный)

Длина поля Устанавливает максимально возможное количество знаков для каждой записи в поле.

Этот параметр доступен только для текстовых полей.

Long
field_alias
(Дополнительный)

Альтернативное имя для поля. Это имя используется для описания непонятных имен полей. Данный параметр применяется только к базам геоданных.

String
field_is_nullable
(Дополнительный)

Определяет, может ли поле содержать пустые значения. Пустые (NULL) значения отличаются от 0 или пустых полей и поддерживаются только для полей в базе геоданных.

  • NULLABLEПоле может содержать значения null. Это значение по умолчанию
  • NON_NULLABLEПоле не может содержать значения null.
Boolean
field_is_required
(Дополнительный)

Определяет, будет ли создаваемое поле обязательным для таблицы или нет. Обязательные поля поддерживаются только базами геоданных.

  • NON_REQUIREDПоле не является обязательным. Это значение по умолчанию
  • REQUIREDПоле является обязательным. Обязательные поля постоянны, их невозможно удалить.
Boolean
field_domain
(Дополнительный)

Ограничивает значения, поддерживаемые любом конкретным атрибутом таблицы, класса пространственных объектов или подтипа в базе геоданных. Вы должны определить имя существующего домена, чтобы он был применен к полю.

String

Производные выходные данные

ИмяОписаниеТип данных
out_table

Обновленная входная таблица.

Table

Пример кода

AddField, пример 1 (окно Python)

В следующем скрипте окна Python показано, как используется функция AddField в режиме прямого запуска.

import arcpy
arcpy.env.workspace = "C:/data/airport.gdb"
arcpy.management.AddField("schools", "ref_ID", "LONG", 9, "", "", "refcode", 
                          "NULLABLE", "REQUIRED")
AddField, пример 2 (автономный скрипт)

В следующем автономном скрипте показано использование функции AddField.

# Name: AddField_Example2.py
# Description: Add a pair of new fields to a table
 
# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data/airport.gdb"
 
# Set local variables
inFeatures = "schools"
fieldName1 = "ref_ID"
fieldPrecision = 9
fieldAlias = "refcode"
fieldName2 = "status"
fieldLength = 10

# Run AddField twice for two new fields
arcpy.management.AddField(inFeatures, fieldName1, "LONG", fieldPrecision,
                          field_alias=fieldAlias, field_is_nullable="NULLABLE")

arcpy.management.AddField(inFeatures, fieldName2, "TEXT", 
                          field_length=fieldLength)

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

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