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

Сводка

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

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

  • Для шейп-файлов и таблиц 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

Задает тип для нового поля.

  • 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, пример 1 (окно 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: Да

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