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

Сводка

Создает атрибутивный домен в указанной рабочей области.

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

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

    1. Создать домен с помощью этого инструмента.
    2. Добавить значения или установить диапазон значений с помощью инструмента Добавить кодированное значение к домену (Add Coded Value to Domain) или инструмента Установить значение для интервального домена (Set Value For Range Domain).
    3. Связать домен с классом пространственных объектов с помощью инструмента Назначить домен полю (Assign Domain To Field).
  • Домены кодированных значений поддерживают только значения по умолчанию и повторяющиеся правила разбиения и значения по умолчанию правил объединения.

  • Интервальные домены поддерживают все правила разбиения и объединения. После операций разбиения или слияния атрибутивные значения выходных объектов вычисляются на основе числовых полей входных объектов и указанного правила слияния или разбиения.

Синтаксис

CreateDomain(in_workspace, domain_name, {domain_description}, {field_type}, {domain_type}, {split_policy}, {merge_policy})
ParameterОбъяснениеТип данных
in_workspace

База геоданных, которая будет содержать атрибутивный домен.

Workspace
domain_name

Имя создаваемого домена.

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

Описание создаваемого домена.

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Дата и/или время.
String
domain_type
(Дополнительный)

Тип создаваемого домена:

  • CODEDУстанавливает допустимый набор значений для атрибута. Например, домен кодированных значений может определить допустимые материалы, из которых изготовлены трубы: CL — чугун; DL — железо; ACP — асбест. Это значение используется по умолчанию.
  • RANGEУказывает допустимый диапазон значений для числовых атрибутов. Например, в магистральных водопроводах давление должно быть в диапазоне от 50 до 75 psi, и интервальный диапазон можно применить, чтобы установить минимальное и максимальное значения.
String
split_policy
(Дополнительный)

Правила разбиения для созданного домена. Поведение значений атрибутов, если разбитый пространственный объект контролируется правилами разбиения.

  • DEFAULTАтрибуты двух итоговых пространственных объектов представляют собой значение по умолчанию, заданное для данного класса пространственных объектов или подтипа.
  • DUPLICATEАтрибут двух итоговых пространственных объектов представляет собой копию значения атрибута исходного объекта.
  • GEOMETRY_RATIOАтрибуты итоговых пространственных объектов представляют собой пропорцию значения исходного объекта. Пропорция вычисляется на основании разбиения исходного объекта. Если исходный объект разделяется на геометрически равные части, значение атрибута каждого из результирующих объектов будет равно половине значения исходного объекта. Правило Геометрическая пропорция применяется только к интервальным доменам.
String
merge_policy
(Дополнительный)

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

  • DEFAULTАтрибут итогового пространственного объекта использует значение по умолчанию, заданное для данного класса пространственных объектов или подтипа. К нечисловым полям и доменам кодированных значений применяются только это правило слияния.
  • SUM_VALUESАтрибут итогового пространственного объекта представляет собой сумму значений атрибута исходного объекта. Правило применяется только для интервальных доменов.
  • AREA_WEIGHTEDАтрибут итогового пространственного объекта представляет собой взвешенное среднее значений атрибутов исходных пространственных объектов. Это вычисление основано на геометрических характеристиках исходных пространственных объектов. Это правило применяются только к интервальным доменам.
String

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

NameОбъяснениеТип данных
out_workspace

Обновленная входная рабочая область.

Рабочая область

Пример кода

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

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

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.CreateDomain_management("montgomery.gdb", "Materials", 
                              "Valid pipe materials", "TEXT", "CODED")
CreateDomain, пример 2 (автономный скрипт)

Автономный скрипт, с котором функция CreateDomain используется в рабочем процессе создания атрибутивного домена, добавления в него значений и назначение домена полю класса объектов.

# 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)

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

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