Resumen
Establece el dominio para un campo particular y, de manera opcional, para un subtipo. Si no se especifica un subtipo, el dominio sólo se asigna al campo especificado.
Uso
La administración de dominios comprende los siguientes pasos:
- Cree el dominio utilizando la herramienta Crear dominio.
- 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.
- Utilice esta herramienta para asociar el dominio a una clase de entidad.
Cuando se asocia un dominio de tributo con una tabla o clase de entidad, se crea una regla de validación de atributo en la base de datos. Esta regla de validación de atributo describe y restringe los valores válidos de un tipo de campo.
Un dominio de atributo se puede asociar a varios campos de la misma tabla, clase de entidad o subtipo, así como también a varias tablas y clases de entidad.
El parámetro Tabla de entrada acepta capas de entidades o vistas de tabla.
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.
El botón Agregar valor del parámetro Subtipo se utiliza sólo en ModelBuilder. En ModelBuilder, donde no se ejecutó la herramienta anterior, o sus datos derivados no existen, es probable que el parámetro Subtipo no se complete con valores. El botón Agregar valor le permite agregar valores esperados para poder completar el cuadro de diálogo Asignar dominio al campo y continuar construyendo el modelo.
Sintaxis
arcpy.management.AssignDomainToField(in_table, field_name, domain_name, {subtype_code})
Parámetro | Explicación | Tipo de datos |
in_table | Nombre de la tabla o clase de entidad que contiene el campo al que se asignará un dominio. | Table View |
field_name | Nombre del campo al que se asignará un dominio. | Field |
domain_name | Nombre de un dominio de geodatabase que se asignará al nombre de campo. Los dominios disponibles se cargarán automáticamente. | String |
subtype_code [subtype_code,...] (Opcional) | El código de subtipo al que se asignará un dominio. | String |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_table | La tabla de entrada actualizada. | Vista de tabla |
Muestra de código
Ejemplo de AssignDomainToField (ventana de Python)
El siguiente script de la ventana de Python demuestra cómo utilizar la función AssignDomainToField en el modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.AssignDomainToField_management("montgomery.gdb/Landbase/Parcels",
"ZONING_S", "ZoningFields", "1: government")
Ejemplo 2 de AssignDomainToField (script independiente)
El siguiente script utiliza la función AssignDomainToField como parte de un flujo de trabajo para crear un dominio de atributo, asignar valores al dominio y asignar el dominio a un campo.
# 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í