Добавить поле (Add Field) (Управление данными (Data Management))
Резюме
Добавляет новое поле в таблицу или таблицу класса пространственных объектов, векторный слой, каталог растров и/или растры с атрибутивными таблицами.
Использование
-
Покрытия, автономные таблицы, классы пространственных объектов из ArcSDE и персональной или файловой базы геоданных, файлы слоев, каталоги растров и шейп-файлы - допустимые входные данные для этой команды. Наложения векторных данных VPF и САПР (CAD) не будут работать, т.к. это форматы только для чтения, которые не являются родными для ArcGIS.
-
Для покрытий, шейп-файлов, таблиц dBase, если тип поля определяет характер, для каждой записи водятся пробелы. Если тип поля определяет числовой элемент, для каждой записи вводится 0.
-
Добавленное поле всегда будет отображаться в конце таблицы.
-
Параметр Длина поля (Field Length) применяется только к полям типа текстовое или Blob.
-
Для баз геоданных, если тип поля определяет знак, или в каждую запись введены нули, если применяется значение параметра Обнуляемое поле по умолчанию.
-
Шейп-файл не поддерживает псевдонимы для полей, так что вы не можете добавить псевдонимы поля в шейп-файл.
-
Возможно только добавить поле, не могущее быть нулевым, в класс пространственных объектов или таблицу пустой базы геоданных. Этот инструмент не может добавить поле, которое нельзя обнулить, если строки уже существуют.
-
Параметр Домен поля (Field Domain) может использовать существующий домен из класса пространственных объектов в персональной, файловой или SDE базе геоданных.
-
Точность и количество знаков поля описывают максимальный размер и точность данных, которые могут храниться в поле. Точность описывает количество цифр, которые могут храниться в поле, а масштаб описывает количество знаков после запятой для полей с плавающей точкой и двойной точности. Например, если значение поля равняется 54,234, то масштаб = 3, а точность = 5.
Используйте следующие рекомендации для выбора корректного типа поля для заданной точности и масштаба:
- Если вы создаете поле с плавающей точкой, двойной точности или целочисленное и задаете 0 для точности и масштаба, то инструмент попытается создать поле двоичного типа, если основная база данных поддерживает его. Персональная или файловая базы геоданных поддерживают только поля бинарного типа, а точность и масштаб игнорируются.
- Если вы создаете поля с плавающей точкой и двойной точности и задаете точность и масштаб, то если точность больше 6, используйте значение двойной точности; в противном случае, используйте значение с плавающей точкой. Если вы создаете поле двойной точности (double) и указываете точность 6 или менее, будет создано поле типа float. Если вы создаете поле с плавающей точкой и задаете точность больше 6, создается поле двойной точности.
- Если вы задаете масштаб 0 и точность 10 и меньше, вам необходимо создать целочисленные поля. При создании целочисленных полей точность должна быть 10 или меньше, или иначе надо создавать поле типа double.
-
При создании нового поля в классе пространственных объектов или таблице базы геоданных вы должны указать тип поля, но не точность и количество знаков после запятой. Даже если диалоговое окно позволяет добавлять значение для точности и масштаба, оно будет игнорироваться в процессе выполнения.
-
Имя существующего домена надо указать в параметре Домен поля (Field Domain). Введение некорректных имен и значений доменов не приведет к тому, что инструмент не будет выполняться, но он будет проигнорирован и для поля не будет создан домен.
-
Поля, установленные как REQUIRED являются постоянными, и вы не сможете удалить их в дальнейшей обработке. Чтобы иметь возможность удалять их в дальнейшем, установите поле на NON_REQUIRED (по умолчанию).
-
Поле растрового типа позволяет иметь растровое изображение в качестве атрибута. Оно хранится в пределах или рядом с базой геоданных. Это полезно, когда изображение является лучшим способом описать функцию. Точность, количество знаков после запятой и длина не могут быть установлены для полей растрового типа.
Синтаксис
Параметр | Объяснение | Тип данных |
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 (дополнительно) |
Географический объект, для которого нет связанной атрибутивной информации. Отличается от значения 0 или от отсутствия значения.
| Boolean |
field_is_required (дополнительно) |
Определяет, будет ли создаваемое поле обязательным для таблицы или нет.Применимо только для полей базы геоданных.
| Boolean |
field_domain (дополнительно) |
Этот инструмент добавляет поле к таблице любого класса пространственных объектов, векторного слоя и/или каталога растров. Вы должны определить имя существующего домена, чтобы он был применен к полю. | String |
Пример кода
На следующем скрипте окна 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")
Пример скрипта 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)