Resumen
Crea un dominio de atributo en el espacio de trabajo especificado.
Uso
La administración de dominios comprende los siguientes pasos:
- Cree el dominio utilizando esta herramienta.
- Agregue valores o establezca el rango de valores para el dominio utilizando la herramienta Agregar valor codificado al dominio o la herramienta Establecer valor para dominio de rango.
- Asocie el dominio con una clase de entidad utilizando la herramienta Asignar dominio al campo.
Los dominios de valor codificado admiten únicamente políticas de división duplicada y de valor predeterminado y políticas de fusionado de valor predeterminado.
Los dominios de rango admiten todas las políticas de división y de fusionado. Después de la operación de división o fusionado, los valores de atributo de las entidades de salida se calculan basados en los valores numéricos de las entidades de entrada y la política de división o de fusionado especificada.
Los dominios del espacio de trabajo también se pueden administrar en ArcCatalog o en la ventana Catálogo. Los dominios se pueden crear y modificar a través de la pestaña Dominios en el cuadro de diálogo Propiedades de la base de datos.
Sintaxis
CreateDomain_management (in_workspace, domain_name, {domain_description}, {field_type}, {domain_type}, {split_policy}, {merge_policy})
Parámetro | Explicación | Tipo de datos |
in_workspace | La geodatabase que contendrá el dominio nuevo. | Workspace |
domain_name | El nombre del dominio que se creará. | String |
domain_description (Opcional) | La descripción del dominio que se creará. | String |
field_type (Opcional) | El tipo de dominio de atributo que se creará. Los dominios de atributo son reglas que describen los valores legales de un tipo de campo. Especifique un tipo de campo que coincida con el tipo de datos del campo al que se asignará el dominio de atributo.
| String |
domain_type (Opcional) | El tipo de dominio que se creará:
| String |
split_policy (Opcional) | La política de división del dominio creado. El comportamiento de los valores de un atributo cuando una entidad dividida está bajo el control de su política de división.
| String |
merge_policy (Opcional) | La política de fusionado del dominio creado. Cuando se fusionan dos entidades para crear una única entidad, las políticas de fusionado controlan los valores de atributo en la nueva entidad.
| String |
Ejemplo de código
Ejemplo de Crear dominio (ventana de Python)
La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función CreateDomain en el modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.CreateDomain_management("montgomery.gdb", "Materials", "Valid pipe materials", "TEXT", "CODED")
Ejemplo 2 de Crear dominio (secuencia de comandos independiente)
Esta secuencia de comandos independiente utilizó la función CreateDomain como parte de un flujo de trabajo para crear un dominio de atributo, asignarle valores y asignar el dominio a un campo en una clase de entidad.
# 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])
Entornos
Información sobre licencias
- ArcGIS for Desktop Basic: Sí
- ArcGIS for Desktop Standard: Sí
- ArcGIS for Desktop Advanced: Sí