Crear dominio (Administración de datos)

Resumen

Crea un dominio de atributo en el espacio de trabajo especificado.

Uso

  • La administración de dominios comprende los siguientes pasos:

    1. Cree el dominio utilizando esta herramienta.
    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. 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ámetroExplicaciónTipo 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.

  • TEXTCualquier cadena de caracteres.
  • FLOAT Números fraccionarios entre -3,4E38 y 1,2E38.
  • DOUBLE Números fraccionarios entre -2,2E308 y 1,8E308.
  • SHORT Números enteros entre -32.768 y 32.767.
  • LONG Números enteros entre -2.147.483.648 y 2.147.483.647.
  • DATEFecha u hora.
String
domain_type
(Opcional)

El tipo de dominio que se creará:

  • CODEDEspecifica un conjunto válido de valores para un atributo. Por ejemplo, un dominio de valor codificado puede especificar los valores válidos para los materiales de las tuberías, como CL: tubería de hierro fundido, DL: tubería de hierro dúctil o ACP: tubería de cemento de amianto. Este es el valor predeterminado.
  • RANGEEspecifica un rango válido de valores para un atributo numérico. Por ejemplo, si las redes de distribución de agua tienen una presión de entre 50 y 75 psi, entonces un dominio de rango especificará estos valores mínimos y máximos.
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.

  • DEFAULTLos atributos de las dos entidades resultantes aceptan el valor predeterminado del atributo de la clase de entidad o del subtipo dado.
  • DUPLICATEEl atributo de las dos entidades resultantes acepta una copia del valor de atributo del objeto original.
  • GEOMETRY_RATIOLos atributos de las entidades resultantes son una relación del valor de la entidad original. La relación está basada en la proporción en la que se divide la geometría original. Si la geometría se divide en partes iguales, el atributo de cada entidad nueva recibe la mitad del valor del atributo del objeto original. La política de relación geométrica sólo se aplica a los dominios de rango.
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.

  • DEFAULTEl atributo de la entidad resultante acepta el valor predeterminado del atributo de la clase de entidad o del subtipo dado. Esta es la única política de fusionado que se aplica a los campos no numéricos y a los dominios de valor codificado.
  • SUM_VALUESEl atributo de la entidad resultante acepta la suma de los valores del atributo de la entidad original. La política de valores de suma sólo se aplica a los dominios de rango.
  • AREA_WEIGHTEDEl atributo de la entidad resultante es el promedio ponderado de los valores de atributo de las entidades originales. Este promedio está basado en la geometría de la entidad original. La política de área ponderada sólo se aplica a los dominios de rango.
String

Salida derivada

NombreExplicaciónTipo de datos
out_workspace

El espacio de trabajo de entrada actualizado.

Espacio de trabajo

Muestra de código

Ejemplo 1 de CreateDomain (ventana de Python)

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")
Ejemplo 2 de CreateDomain (script independiente)

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)

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados