Назначить домен полю (Управление данными)

Краткая информация

Устанавливает домен для конкретного поля класса объектов или для поля подтипа. Если подтипы не определены, домен будет присвоен указанному полю.

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

  • Управление доменами включает следующие шаги:

    1. Создать домен с помощью инструмента Создать домен (Create Domain).
    2. Добавить значения или установить диапазон значений с помощью инструмента Добавить кодированное значение к домену или инструмента Установить значение для интервального домена.
    3. Связать домен с классом пространственных объектов, используя этот инструмент.
  • Если атрибутивный домен связан с таблицей или классом пространственных объектов, в базе данных создается правило проверки атрибутов. Это правило проверки атрибутов описывает и ограничивает корректные значения для поля соответствующего типа.

  • Один атрибутивный домен может быть связан с несколькими полями в одной таблице, классе пространственных объектов или подтипе, а также в нескольких таблицах и классах пространственных объектов.

  • Для определения параметра Входная таблица (Input Table)можно использовать слои пространственных объектов или представления таблиц.

Параметры

ПодписьОписаниеТип данных
Входная таблица

Имя таблицы или класса пространственных объектов, содержащего поле, которому будет назначен домен.

Table View
Имя поля

Имя поля, которому будет назначен домен.

Field
Имя домена

Имя домена базы геоданных, который будет назначен выбранному полю. Доступные домены подгружаются автоматически.

String
Подтип
(Дополнительный)

Код подтипа, которому будет назначен домен.

String

Производные выходные данные

ПодписьОписаниеТип данных
Обновленная входная таблица

Обновленная входная таблица.

Представление таблицы

arcpy.management.AssignDomainToField(in_table, field_name, domain_name, {subtype_code})
ИмяОписаниеТип данных
in_table

Имя таблицы или класса пространственных объектов, содержащего поле, которому будет назначен домен.

Table View
field_name

Имя поля, которому будет назначен домен.

Field
domain_name

Имя домена базы геоданных, который будет назначен выбранному полю. Доступные домены подгружаются автоматически.

String
subtype_code
[subtype_code,...]
(Дополнительный)

Код подтипа, которому будет назначен домен.

String

Производные выходные данные

ИмяОписаниеТип данных
out_table

Обновленная входная таблица.

Представление таблицы

Пример кода

AssignDomainToField, пример 1 (окно Python)

Пример скрипта окна Python для использования функции AssignDomainToField в режиме прямого запуска.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.AssignDomainToField_management("montgomery.gdb/Landbase/Parcels", 
                                     "ZONING_S", "ZoningFields", "1: government")
AssignDomainToField, пример 2 (автономный скрипт)

В следующем скрипте применяется функция AssignDomainToField как часть рабочего процесса создания атрибутивного домена, назначения значений в домен и присваивания домена полю

# Name: MakeDomain.py
# Description: Create an attribute domain to constrain pipe material values
 
# Import system modules
import arcpy
# Set the workspace (to avoid having to type in the full path to the data every time)
arcpy.env.workspace = "C:/data"
 
# Set local parameters
domName = "Material4"
gdb = "montgomery.gdb"
inFeatures = "Montgomery.gdb/Water/Distribmains"
inField = "Material"
 
# Process: Create the coded value domain
arcpy.CreateDomain_management("montgomery.gdb", domName, "Valid pipe materials", 
                              "TEXT", "CODED")
    
# Store all the domain values in a dictionary with the domain code as the "key" 
# and the domain description as the "value" (domDict[code])
domDict = {"CI":"Cast iron", "DI": "Ductile iron", "PVC": "PVC", 
           "ACP": "Asbestos concrete", "COP": "Copper"}
# Process: Add valid material types to the domain
# use a for loop to cycle through all the domain codes in the dictionary
for code in domDict:        
    arcpy.AddCodedValueToDomain_management(gdb, domName, code, domDict[code])
    
# Process: Constrain the material value of distribution mains
arcpy.AssignDomainToField_management(inFeatures, inField, domName)

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