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

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

Добавляет значение в перечень кодированных значений домена.

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

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

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

  • Домен кодированных значений, который задает корректный набор значений для атрибута, может применять к любому типу атрибута (тексту, числу, дате и т.д.). Например, список кодированных значений для текстового атрибута может содержать корректные значения материала для изготовления труб: CL – чугун; DL – железо; ACP – асбест, или перечень кодированных значений может включать числовые значения, отображающие корректные диаметры труб: 75–3/4"; 2–2"; 24–24"; и 30–30".

Параметры

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

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

Workspace
Имя домена

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

String
Значение кода

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

String
Описание кода

Описание того, что представляет кодированное значение.

String

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

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

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

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

arcpy.management.AddCodedValueToDomain(in_workspace, domain_name, code, code_description)
ИмяОписаниеТип данных
in_workspace

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

Workspace
domain_name

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

String
code

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

String
code_description

Описание того, что представляет кодированное значение.

String

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

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

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

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

Пример кода

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

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

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.AddCodedValueToDomain_management("montgomery.gdb", "material", "1", "PVC")
AddCodedValueToDomain, пример 2 (автономный скрипт)

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

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

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