Сводка
Добавляет новое поле в автономную таблицу или таблицу класса пространственных объектов или векторного слоя, а также в растры с таблицами атрибутов.
Использование
Для шейп-файлов и таблиц dBase, если тип поля определяет символ, для каждой записи водятся пробелы. Если тип поля определяет числовой элемент, для каждой записи вводится 0.
Длина поля применима только к полям текстового типа. Если длина не указана, по умолчанию – 255.
Для баз геоданных, если тип поля определяет буква или число, в каждую запись вводится <null>, если параметр Может содержать пустые значения включен (или выбрано field_is_nullable="NULLABLE" в Python).
Не поддерживающее значения null поле нельзя добавить в непустые класс объектов и таблицу базы геоданных.
Шейп-файл не поддерживает псевдонимы для полей, так что вы не можете добавить псевдонимы поля в шейп-файл.
Опция Домен поля может использовать существующий домен из класса пространственных объектов в базе геоданных. Необходимо ввести имя существующего домена. Введение некорректных имен и значений доменов не приведет к тому, что инструмент не будет выполняться, но такие имена и значения будут проигнорированы, и для поля домен задан не будет.
Точность и количество знаков поля описывают максимальные точность и размер данных, которые могут храниться в поле. Разрядность описывает количество цифр, которые могут храниться в поле, а количество десятичных знаков описывает количество знаков после запятой для полей с плавающей точкой и двойной точности. Например, если значение поля равняется 54,234, то количество десятичных знаков = 3, а разрядность = 5.
Используйте следующие рекомендации для выбора корректного типа поля для заданной разрядности и точности:
- Если вы создаете поле с плавающей точкой, двойной точности или целочисленное и задаете 0 для разрядности и точности, то инструмент попытается создать поле двоичного типа, если база данных поддерживает его. Файловые базы геоданных поддерживают только поля бинарного типа, а разрядность и точность игнорируются.
- Если вы создаете поля с плавающей точкой и двойной точности и задаете точность и масштаб, то если точность больше 6, используйте значение двойной точности; в противном случае, используйте значение с плавающей точкой. Если вы создаете поле двойной точности (double) и указываете точность 6 или менее, будет создано поле типа float. Если вы создаете поле с плавающей точкой (float) и задаете точность больше 6, создается поле двойной точности.
- Если вы задаете масштаб 0 и точность 10 и меньше, вам необходимо создать целочисленное поле. При создании целочисленных полей точность должна быть 10 или меньше, а иначе надо создавать поле типа double (двойной точности).
При создании нового поля в классе пространственных объектов или таблице базы геоданных вы должны указать тип поля, но не точность и количество знаков после запятой. Даже если диалоговое окно позволяет добавлять значение для точности и масштаба, оно будет игнорироваться в процессе выполнения.
Обязательные поля постоянны, их невозможно удалить. Чтобы иметь возможность удалить поле в будущем, выберите для поля опцию «необязательное» (она выбрана по умолчанию).
Поле растрового типа позволяет иметь растровое изображение в качестве атрибута. Оно хранится внутри базы геоданных или рядом с ней. Это полезно, когда изображение является лучшим способом описания объекта. Разрядность, количество знаков после запятой и длина не могут быть установлены для полей растрового типа.
Синтаксис
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})
Parameter | Объяснение | Тип данных |
in_table | Входная таблица, к которой будет добавлено указанное поле. Поле будет добавлено к существующей входной таблице и не создаст новой выходной таблицы. Поля могут быть добавлены в классы пространственных объектов в базах геоданных, шейп-файлы, покрытия, автономные таблицы, каталоги растров, растры с таблицами атрибутов и в слои. | Mosaic Layer; Raster Layer; Table View |
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 |
Производные выходные данные
Name | Объяснение | Тип данных |
out_table | Обновленная входная таблица. | Таблица |
Пример кода
Пример скрипта окна Python для использования функции AddField в режиме прямого запуска.
import arcpy
arcpy.env.workspace = "C:/data/airport.gdb"
arcpy.AddField_management("schools", "ref_ID", "LONG", 9, "", "", "refcode",
"NULLABLE", "REQUIRED")
В следующем автономном скрипте показано использование функции 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)
Environments
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да