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

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

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

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

  • Для шейп-файлов и таблиц 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. Пустые (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. Пустые (NULL) значения отличаются от 0 или пустых полей и поддерживаются только для полей в базе геоданных.

  • NON_NULLABLEПоле может содержать значения null.
  • 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: Да

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