Краткая информация
Устанавливает домен для конкретного поля класса объектов или для поля подтипа. Если подтипы не определены, домен будет присвоен указанному полю.
Использование
Управление доменами включает следующие шаги:
- Создать домен с помощью инструмента Создать домен.
- Добавить значения или установить диапазон значений с помощью инструмента Добавить кодированное значение к домену или инструмента Установить значение для интервального домена.
- Связать домен с классом пространственных объектов, используя этот инструмент.
Если атрибутивный домен связан с таблицей или классом пространственных объектов, в базе данных создается правило проверки атрибутов. Это правило проверки атрибутов описывает и ограничивает корректные значения для поля соответствующего типа.
Один атрибутивный домен может быть связан с несколькими полями в одной таблице, классе пространственных объектов или подтипе, а также в нескольких таблицах и классах пространственных объектов.
Для определения параметра Входная таблица можно использовать слои пространственных объектов или представления таблиц.
Доменами рабочих областей можно также управлять в ArcCatalog или в окне Каталога. Домены можно создать и изменить на вкладке Домены (Domains) диалогового окна Свойства базы данных (Database Properties).
В параметре Подтип кнопка Добавить значение используется только в ModelBuilder. В ModelBuilder, если предыдущий инструмент не был запущен или не существует его производных данных, параметр Подтип может не быть заполнен значениями. Кнопка Добавить значение позволяет добавлять нужные значения, таким образом вы можете завершить диалог Назначить домен полю и продолжить построение модели.
Синтаксис
AssignDomainToField_management (in_table, field_name, domain_name, {subtype_code})
Параметр | Объяснение | Тип данных |
in_table | Имя таблицы или класса пространственных объектов, содержащего поле, которому будет назначен домен. | Table View |
field_name | Имя поля, которому будет назначен домен. | Field |
domain_name | Имя домена базы геоданных, который будет назначен выбранному полю. Доступные домены подгружаются автоматически. | String |
subtype_code [subtype_code,...] (дополнительно) | Код подтипа, которому будет назначен домен. | String |
Пример кода
Назначить домен полю. Пример (окно Python)
Пример скрипта Python для выполнения функции AssignDomainToField с запуском из окна Python в ArcGIS.
import arcpy
from arcpy import env
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
try:
# 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)
except Exception as err:
print(err.args[0])