Asignar dominio al campo (Administración de datos)
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.
- Establezca el rango de valores o agréguele valores para el dominio utilizando la herramienta Agregar_valor_codificado_al_dominio o 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 ficha 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 creando el modelo.
Sintaxis
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 |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función AssignDomainToField en el modo inmediato.
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.AssignDomainToField_management("montgomery.gdb/Landbase/Parcels", "ZONING_S", "ZoningFields", "1: government")
La siguiente secuencia de comandos 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 # 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