Crear dominio (Administración de datos)

Resumen

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

Uso

  • La administración de dominios implica lo siguiente:

    1. Cree el dominio utilizando esta herramienta.
    2. Agregue valores o establezca el rango de valores para el dominio utilizando las herramientas Agregar valor codificado al dominio o 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 el valor predeterminado, políticas de división duplicada 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.

Parámetros

EtiquetaExplicaciónTipo de datos
Espacio de trabajo de entrada

La geodatabase que contendrá el dominio nuevo.

Workspace
Nombre de dominio

El nombre del dominio que se creará.

String
Descripción del dominio
(Opcional)

La descripción del dominio que se creará.

String
Tipo de campo
(Opcional)

Especifica el tipo de dominio de atributo que se creará. Los dominios de atributo son reglas que describen los valores aceptables 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.

  • Corto (entero de 16 bits)El tipo de campo será corto. Los campos cortos admiten números enteros entre -32.768 y 32.767.
  • Largo (entero de 32 bits)El tipo de campo será largo. Los campos nuevos admiten número enteros entre -2.147.483.648 y 2.147.483.647.
  • Entero grande (entero de 64 bits)El tipo de campo será entero grande. Los campos de números enteros grandes admiten números enteros entre -(253) y 253.
  • Flotante (punto flotante de 32 bits)El tipo de campo será flotante. Los campos flotantes admiten números fraccionarios entre -3,4E38 y 1,2E38.
  • Doble (punto flotante de 64 bits)El tipo de campo será doble. Los campos dobles admiten números fraccionarios entre -2,2E308 y 1,8E308.
  • TextoEl tipo de campo será texto. Los campos de texto admiten una cadena de caracteres.
  • FechaEl tipo de campo será fecha. Los campos de fecha admiten fecha y hora.
  • Solo fechaEl tipo de campo será solo de fecha. Los campos de solo fecha admiten valores de fecha sin valores de hora.
  • Solo tiempoEl tipo de campo será solo de tiempo. Los campos de solo hora admiten valores de hora sin valor de fecha.
String
Tipo de dominio
(Opcional)

Especifica el tipo de dominio que se creará.

  • Dominio de valor codificadoSe creará un dominio de tipo codificado que contenga un conjunto válido de valores para un atributo. Esta es la opción predeterminada. 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).
  • Dominio del rangoSe creará un dominio de tipo de rango que contenga un rango de valores válido para un atributo numérico. Por ejemplo, si las tuberías generales de distribución tienen una presión de entre 50 y 75 psi, un dominio de rango especifica estos valores mínimo y máximo.
String
Política de división
(Opcional)

Especifica la política de división que se usará para el 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.

  • Utilice el valor predeterminado del atributoLos atributos de las dos entidades resultantes utilizarán el valor predeterminado del atributo de la clase de entidad o del subtipo dado.
  • Duplicar los valores de los atributosEl atributo de las dos entidades resultantes utilizará una copia del valor de atributo del objeto original.
  • Utilizar la relación geométricaLos atributos de las entidades resultantes serán un ratio 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
Política de fusionado
(Opcional)

Especifica la política de fusionado que se usará para el 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.

  • Utilice el valor predeterminado del atributoEl atributo de la entidad resultante utilizará 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.
  • Suma de los valoresEl atributo de la entidad resultante utilizará 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.
  • Promedio de área ponderadaEl atributo de la entidad resultante será 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

EtiquetaExplicaciónTipo de datos
Espacio de trabajo de entrada actualizado

El espacio de trabajo de entrada actualizado.

Workspace

arcpy.management.CreateDomain(in_workspace, domain_name, {domain_description}, {field_type}, {domain_type}, {split_policy}, {merge_policy})
NombreExplicació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)

Especifica el tipo de dominio de atributo que se creará. Los dominios de atributo son reglas que describen los valores aceptables 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.

  • SHORTEl tipo de campo será corto. Los campos cortos admiten números enteros entre -32.768 y 32.767.
  • LONGEl tipo de campo será largo. Los campos nuevos admiten número enteros entre -2.147.483.648 y 2.147.483.647.
  • BIGINTEGEREl tipo de campo será entero grande. Los campos de números enteros grandes admiten números enteros entre -(253) y 253.
  • FLOATEl tipo de campo será flotante. Los campos flotantes admiten números fraccionarios entre -3,4E38 y 1,2E38.
  • DOUBLEEl tipo de campo será doble. Los campos dobles admiten números fraccionarios entre -2,2E308 y 1,8E308.
  • TEXTEl tipo de campo será texto. Los campos de texto admiten una cadena de caracteres.
  • DATEEl tipo de campo será fecha. Los campos de fecha admiten fecha y hora.
  • DATEONLYEl tipo de campo será solo de fecha. Los campos de solo fecha admiten valores de fecha sin valores de hora.
  • TIMEONLYEl tipo de campo será solo de tiempo. Los campos de solo hora admiten valores de hora sin valor de fecha.
String
domain_type
(Opcional)

Especifica el tipo de dominio que se creará.

  • CODEDSe creará un dominio de tipo codificado que contenga un conjunto válido de valores para un atributo. Esta es la opción predeterminada. 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).
  • RANGESe creará un dominio de tipo de rango que contenga un rango de valores válido para un atributo numérico. Por ejemplo, si las tuberías generales de distribución tienen una presión de entre 50 y 75 psi, un dominio de rango especifica estos valores mínimo y máximo.
String
split_policy
(Opcional)

Especifica la política de división que se usará para el 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 utilizarán el valor predeterminado del atributo de la clase de entidad o del subtipo dado.
  • DUPLICATEEl atributo de las dos entidades resultantes utilizará una copia del valor de atributo del objeto original.
  • GEOMETRY_RATIOLos atributos de las entidades resultantes serán un ratio 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)

Especifica la política de fusionado que se usará para el 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 utilizará 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 utilizará 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 será 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.

Workspace

Muestra de código

Ejemplo 1 de CreateDomain (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función CreateDomain de modo inmediato.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.CreateDomain("montgomery.gdb", "Materials", 
                              "Valid pipe materials", "TEXT", "CODED")
Ejemplo 2 de CreateDomain (script independiente)

Este script independiente utiliza 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.management.CreateDomain("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.management.AddCodedValueToDomain(gdb, domName, code, domDict[code])
    
# Process: Constrain the material value of distribution mains
arcpy.management.AssignDomainToField(inFeatures, inField, domName)

Temas relacionados