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 una operación de división o fusionado, los valores de atributo de las entidades de salida se calculan de acuerdo con los valores numéricos de las entidades de entrada y la política de división o de fusionado especificada.
Sintaxis
arcpy.management.CreateDomain(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 |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_workspace | El espacio de trabajo de entrada actualizado. | Espacio de trabajo |
Muestra de código
El siguiente script 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")
Este script 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
# 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)
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí