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:

    1. Cree el dominio utilizando la herramienta Crear dominio.
    2. 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.
    3. 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.

Parámetros

EtiquetaExplicaciónTipo de datos
Tabla de entrada

Nombre de la tabla o clase de entidad que contiene el campo al que se asignará un dominio.

Table View
Nombre de campo

Nombre del campo al que se asignará un dominio.

Field
Nombre de dominio

Nombre de un dominio de geodatabase que se asignará al nombre de campo. Los dominios disponibles se cargarán automáticamente.

String
Subtipo
(Opcional)

El código de subtipo al que se asignará un dominio.

String

Salida derivada

EtiquetaExplicaciónTipo de datos
Tabla de entrada actualizada

La tabla de entrada actualizada.

Vista de tabla

arcpy.management.AssignDomainToField(in_table, field_name, domain_name, {subtype_code})
NombreExplicaciónTipo 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

NombreExplicaciónTipo 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)

Temas relacionados