Quitar dominio de un campo (Administración de datos)
Resumen
Quita la asociación de un dominio de atributo de una clase de entidad o un campo de tabla.
Uso
-
Esta herramienta realiza la operación inversa a la función Asignar dominio al campo. Cuando se quita un dominio de un campo, se quita también la asociación entre un campo y un dominio de atributo.
-
Cuando se quita un dominio de un campo, la regla de validación de atributos para ese campo también se quita de la base de datos.
-
Se puede asociar el mismo dominio de atributo a varios campos de la misma tabla, clase de entidad o subtipo, así como también a varias tablas y clases de entidad. Si se quita un dominio de un campo, esto no afectará las asociaciones de otros dominios.
-
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.
-
Las capas de mapas actuales pueden utilizarse para definir la Tabla de entrada.
-
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 Quitar dominio de un campo y continuar creando el modelo.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_table |
Se quitará la tabla de entrada que contiene el dominio de atributo. | Table View |
field_name |
Campo que ya no se asociará a un dominio de atributo. | Field |
subtype_code [subtype_code,...] (Opcional) | Seleccione los códigos de subtipo que ya no estarán asociados con un dominio de atributo. | String |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función RemoveDomainFromField en el modo inmediato.
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.RemoveDomainFromField_management("montgomery.gdb/water/distribmains", "DIAMETER")
Esta secuencia de comandos independiente utiliza la función RemoveDomainFromField como parte de un flujo de trabajo para editar un dominio.
# Name: RemoveDomainsExample.py # Purpose: Update an attribute domain to constrain valid pipe material values # Author: ESRI # Import system modules import arcpy, os from arcpy import env try: # Set the workspace (to avoid having to type in the full path to the data every time) env.workspace = "data" # set local parameters inFeatures = "Montgomery.gdb/Water/DistribMains" inField = "MATERIAL" dWorkspace = "Montgomery.gdb" domName = "Material" codedValue = "ACP: Asbestos concrete" codeField = "TYPE" descField = "DESRIPT" # Process: Remove the constraint from the material field arcpy.RemoveDomainFromField_management(inFeatures, inField) # Edit the domain values # Process: Remove a coded value from the domain arcpy.DeleteCodedValueFromDomain_management(dWorkspace, domName, codedValue) # Process: Create a table from the domain to edit it with ArcMap editing tools arcpy.DomainToTable_management(dWorkspace, domname, dWorkspace + os.sep + domname , codeField, descField) # Process: Delete the domain arcpy.DeleteDomain_management(dWorkspace, domName) # Edit the domain table outside of geoprocessing # and then bring the domain back in with the TableToDomain process 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