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

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

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

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

    Внимание:

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

  • Для шейп-файлов и таблиц 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
Тип поля

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Определяет, может ли поле содержать значения null. Пустые (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

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

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

Хотя значения свойств 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
(Дополнительный)

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

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

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

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

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

Определяет, может ли поле содержать значения null. Пустые (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)