Краткая информация
Добавляет новое поле в таблицу или таблицу класса пространственных объектов, векторный слой и/или растры с атрибутивными таблицами.
Использование
Для шейп-файлов и таблиц 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_management (in_table, field_name, field_type, {field_precision}, {field_scale}, {field_length}, {field_alias}, {field_is_nullable}, {field_is_required}, {field_domain})
Параметр | Объяснение | Тип данных |
in_table | Входная таблица, к которой будет добавлено указанное поле. Поле будет добавлено к существующей входной таблице и не создаст новой выходной таблицы. Поля могут быть добавлены в классы пространственных объектов файловых баз геоданных, шейп-файлы, автономные таблицы, растры с атрибутивными таблицами и в слои. | Table View; Raster Layer; Raster Catalog Layer; Mosaic Layer |
field_name | Имя поля, добавляемого к входной таблице. | String |
field_type | Тип нового поля.
| String |
field_precision (Дополнительный) | Число цифр, хранящихся в поле. Учитываются все цифры, независимо от их расположения относительно разделяющей запятой. Если входная таблица является файловой или персональной базой геоданных, значение разрядности поля будет игнорироваться. | Long |
field_scale (Дополнительный) | Количество знаков после запятой, хранящихся в поле. Данный параметр применяется только для полей типа float (с плавающей точкой) или double (число двойной точности). Если входная таблица является файловой или персональной базой геоданных, значение точности поля будет игнорироваться. | Long |
field_length (Дополнительный) | Длина добавляемого поля. Устанавливает максимально возможное количество знаков для каждой записи в поле. Эта опция доступна только для текстовых полей. | Long |
field_alias (Дополнительный) | Альтернативное имя, добавляемое в качестве псевдонима к имени поля. Используется для расшифровки кратких и трудных для восприятия имен полей. Параметр псевдонима поля применяется только в базах геоданных. | String |
field_is_nullable (Дополнительный) | Определяет, может ли поле содержать значения null. Пустые (NULL) значения отличаются от 0 или пустых полей и поддерживаются только для полей в базе геоданных.
| Boolean |
field_is_required (Дополнительный) | Определяет, будет ли создаваемое поле обязательным для таблицы или нет. Применяется только для полей базы геоданных.
| Boolean |
field_domain (Дополнительный) | Используется для ограничения допустимых значений в любых отдельных атрибутах в таблице, классе пространственных объектов или подтипе в базе геоданных. Вы должны определить имя существующего домена, чтобы он был применен к полю. | String |
Пример кода
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)
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Да
- ArcGIS Desktop Standard: Да
- ArcGIS Desktop Advanced: Да