Краткая информация
Добавляет новое поле в таблицу или таблицу класса пространственных объектов, векторный слой, каталог растров и/или растры с атрибутивными таблицами.
Использование
Покрытия, автономные таблицы, классы пространственных объектов из ArcSDE и персональной или файловой базы геоданных, файлы слоев, каталоги растров и шейп-файлы – допустимые входные данные для этой команды. Наложения векторных данных VPF и САПР (CAD) не будут работать, т.к. это форматы только для чтения, которые не являются родными для ArcGIS.
Для покрытий, шейп-файлов, таблиц dBase, если тип поля определяет характер, для каждой записи водятся пробелы. Если тип поля определяет числовой элемент, для каждой записи вводится 0.
Добавленное поле всегда будет отображаться в конце таблицы.
Параметр Длина поля (Field Length) используется только для текстовых полей и полей типа Blob.
Для баз геоданных, если тип поля определяет знак, или в каждую запись введены нули, если применяется значение параметра Обнуляемое поле по умолчанию.
Шейп-файл не поддерживает псевдонимы для полей, так что вы не можете добавить псевдонимы поля в шейп-файл.
Возможно только добавить поле, не допускающее значение null, в класс пространственных объектов или таблицу пустой базы геоданных. Этот инструмент не может добавить поле, которое не допускает значение null, если строки уже существуют.
Опция Домен поля (Field Domain) может использовать существующий домен из класса пространственных объектов в персональной, файловой или базе геоданных SDE. Необходимо ввести имя существующего домена. Введение некорректных имен и значений доменов не приведет к тому, что инструмент не будет выполняться, но он будет проигнорирован, и для поля не будет задан домен.
Точность и количество знаков поля описывают максимальный размер и точность данных, которые могут храниться в поле. Точность описывает количество цифр, которые могут храниться в поле, а масштаб описывает количество знаков после запятой для полей с плавающей точкой и двойной точности. Например, если значение поля равняется 54,234, то масштаб = 3, а точность = 5.
Используйте следующие рекомендации для выбора корректного типа поля для заданной точности и масштаба:
- Если вы создаете поле с плавающей точкой, двойной точности или целочисленное и задаете 0 для точности и масштаба, то инструмент попытается создать поле двоичного типа, если основная база данных поддерживает его. Персональная или файловая базы геоданных поддерживают только поля бинарного типа, а точность и масштаб игнорируются.
- Если вы создаете поля с плавающей точкой и двойной точности и задаете точность и масштаб, то если точность больше 6, используйте значение двойной точности; в противном случае, используйте значение с плавающей точкой. Если вы создаете поле двойной точности (double) и указываете точность 6 или менее, будет создано поле типа float. Если вы создаете поле с плавающей точкой и задаете точность больше 6, создается поле двойной точности.
- Если вы задаете масштаб 0 и точность 10 и меньше, вам необходимо создать целочисленные поля. При создании целочисленных полей точность должна быть 10 или меньше, или иначе надо создавать поле типа double.
При создании нового поля в классе пространственных объектов или таблице базы геоданных вы должны указать тип поля, но не точность и количество знаков после запятой. Даже если диалоговое окно позволяет добавлять значение для точности и масштаба, оно будет игнорироваться в процессе выполнения.
Поля, заданные как обязательные, являются постоянными, вы не можете их удалить при последующей обработке. Чтобы иметь возможность удалять их в дальнейшем, установите поле на non-required (по умолчанию).
Поле растрового типа позволяет иметь растровое изображение в качестве атрибута. Оно хранится в пределах или рядом с базой геоданных. Это полезно, когда изображение является лучшим способом описать функцию. Точность, количество знаков после запятой и длина не могут быть установлены для полей растрового типа.
Синтаксис
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 | Входная таблица, к которой будет добавлено указанное поле. Поле будет добавлено к существующей входной таблице и не создаст новой выходной таблицы. Поля могут быть добавлены в классы пространственных объектов ArcSDE, файловой или персональной баз геоданных, покрытия, шейп-файлы, каталоги растров, автономные таблицы, растры с таблицами атрибутов и/или слои. | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
field_name | Имя поля, добавляемого к входной таблице. | String |
field_type | Тип нового поля.
| String |
field_precision (дополнительно) | Общее количество цифр, которое можно хранить в поле. Учитываются все цифры, независимо от их расположения относительно разделяющей запятой. Если входная таблица – файловая или персональная база геоданных, значение точности поля будет игнорироваться. | Long |
field_scale (дополнительно) | Количество знаков после запятой, хранимых в поле. Данный параметр применяется только для полей типа Float или Double. Если входная таблица – файловая или персональная база геоданных, значение масштаба поля будет игнорироваться. | Long |
field_length (дополнительно) | Длина добавляемого поля. Устанавливает максимально возможное количество знаков для каждой записи в поле. Эта опция применяется только к полям типа текстовый или Blob. | Long |
field_alias (дополнительно) | Альтернативное имя, добавляемое в качестве псевдонима к имени поля. Используется для расшифровки кратких и трудных для восприятия имен полей. Возможность добавлять псевдонимы доступна только для полей в классах и таблицах базы геоданных и покрытиях. | String |
field_is_nullable (дополнительно) | Определяет, может ли поле содержать пустые значения. Пустые значения (Null) отличаются от нулевых или пустых полей и поддерживаются только для полей в базе геоданных.
| Boolean |
field_is_required (дополнительно) | Определяет, будет ли создаваемое поле обязательным для таблицы или нет.Применимо только для полей базы геоданных.
| Boolean |
field_domain (дополнительно) | Этот инструмент добавляет поле к таблице любого класса пространственных объектов, векторного слоя и/или каталога растров. Вы должны определить имя существующего домена, чтобы он был применен к полю. | String |
Пример кода
Добавить поле.Пример (окно Python)
На следующем скрипте окна Python демонстрируется, как использовать инструмент Добавить поле (Add Field) с запуском из окна Python в ArcGIS.
import arcpy
from arcpy import env
env.workspace = "C:/data/airport.gdb"
arcpy.AddField_management("schools", "ref_ID", "LONG", 9, "", "", "refcode", "NULLABLE", "REQUIRED")
Добавить поле.Пример 2 (автономный скрипт)
Пример скрипта Python для выполнения функции Добавить поле (Add Field).
# Name: AddField_Example2.py
# Description: Add a pair of new fields to a table
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
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, "", "",
fieldAlias, "NULLABLE")
arcpy.AddField_management(inFeatures, fieldName2, "TEXT", "", "", fieldLength)