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

Сводка

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

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

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

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

  • Для баз геоданных, если тип поля определяет буква или число, в каждую запись вводится <null>, если параметр Может содержать пустые значения включен (или выбрано field_is_nullable="NULLABLE" в Python).

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

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

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

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

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

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

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

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

Синтаксис

AddField(in_table, field_name, field_type, {field_precision}, {field_scale}, {field_length}, {field_alias}, {field_is_nullable}, {field_is_required}, {field_domain})
ParameterОбъяснениеТип данных
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 или просмотра его содержимого.
  • RASTERРастровые изображения. Можно хранить все поддерживаемые в ArcGIS форматы наборов растровых данных, но настоятельно рекомендуется для этого поля использовать только маленькие изображения.
  • GUIDГлобальный уникальный идентификатор.
String
field_precision
(Дополнительный)

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

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

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

Количество знаков после запятой, хранящихся в поле. Данный параметр применяется только для полей типа float (с плавающей точкой) или 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

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

NameОбъяснениеТип данных
out_table

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

Таблица

Пример кода

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

Пример скрипта Python для использования инструмента AddField в режиме прямого запуска.

import arcpy
arcpy.env.workspace = "C:/data/airport.gdb"
arcpy.AddField_management("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
 
# Execute AddField twice for two new fields
arcpy.AddField_management(inFeatures, fieldName1, "LONG", fieldPrecision,
                          field_alias=fieldAlias, field_is_nullable="NULLABLE")
arcpy.AddField_management(inFeatures, fieldName2, "TEXT", field_length=fieldLength)

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

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

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