Добавить кодированное значение к домену (Add Coded Value To Domain) (Управление данными)
Резюме
Добавляет значение в перечень кодированных значений домена.
Использование
-
Управление доменами включает следующие шаги:
- Создать домен с помощью инструмента Создать домен (Create Domain).
- Добавить значения или установить интервал значений для домена с помощью этого инструмента или инструмента Установить значение для интервального домена (Set Value For Range Domain).
- Связать домен с классом пространственных объектов с помощью инструмента Назначить домен полю (Assign Domain To Field).
-
Домен кодированных значений включает и фактическое значение, хранящееся в базе данных (например, 1 для тротуара) и описание того, что значит кодированное значение (например, тротуар).
-
Домен кодированных значений, который задает корректный набор значений для атрибута, может применять к любому типу атрибута (тексту, числу, дате и т.д.). Например, список кодированных значений для текстового атрибута может содержать корректные значения материала для изготовления труб: CL - чугун; DL - железо; ACP - асбест, или перечень кодированных значений может включать числовые значения, отображающие корректные диаметры труб: 75–3/4"; 2–2"; 24–24"; и 30–30".
-
Доменами рабочих областей можно также управлять в ArcCatalog или в окне Каталога. Домены можно создать и изменить на вкладке Домены (Domains) диалогового окна Свойства базы данных (Database Properties).
Синтаксис
Параметр | Объяснение | Тип данных |
in_workspace |
База геоданных, содержащая домен, который будет обновлен. | Workspace |
domain_name |
Имя атрибутивного домена, который будет иметь значение, добавленное к перечню кодированных значений. | String |
code |
Значение, которое будет добавлено к списку кодированных значений указанного домена. | String |
code_description |
Описание того, что представляет кодированное значение. | String |
Пример кода
Пример скрипта Python для выполнения функции Добавить кодированное значение к домену (Add Coded Value To Domain) с запуском из окна Python в ArcGIS.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.AddCodedValueToDomain_management("montgomery.gdb", "material", "1", "PVC")
Пример скрипта Python для рабочего процесса создания атрибутивного домена и добавления в него значений.Функция Добавить кодированное значение к домену (Add Coded Value To Domain).
# Name: MakeDomain.py
# Description: Create an attribute domain to constrain pipe material values
# Author: ESRI
#Import system modules
import arcpy
from arcpy import env
try:
# Set the workspace (to avoid having to type in the full path to the data every time)
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, e:
# If an error occurred, print line number and error message
import traceback, sys
tb = sys.exc_info()[2]
print "Line %i" % tb.tb_lineno
print e.message