12
Dominios y Subtipos en Geodatabase En el ámbito de los Sistemas de Información Geográfica podemos concretar dos tipos de validación de los datos geográficos y alfanuméricos, por un lado la validación Topológica (en las relaciones entre los objetos espaciales) y por otro la validación temática (en los atributos). En este artículo vamos a concretar un poco como se puede llevar a cabo un tipo de validación temática o de los atributos introducidos en una Geodatabase, mediante Subtipos y Dominios. Vamos a definir un poco qué es un Subtipo y qué es un Dominio. Definiciones: Subtipo: subdivisión de una clase de entidad (Feature Class) en distintos “tipos” válgame la redundancia, con características diferenciadoras y que nos permitirá digitalizar de forma separada. Además podremos incluirle dominios a cualquier campo que cumpla unas determinadas especificaciones para admitir dominios, y que nos permitirán ingresar en dichos campos valores válidos de dichos atributos o características. Los subtipos se implementan creando valores de código y son asociados a campos de tipo Short Integer o Long Integer. Dominio: rango de valores, ya sean alfanuméricos, o numéricos entre los que se mueve un atributo de un determinado campo de una Clase de Entidad (Feature Class). Este tipo de dominio puede ser de tipo RANGO o de tipo VALORES CON CÓDIGO como veremos a continuación. Este tipo de validación temática mediante subtipos o dominios podrá ser usada de forma independiente, o bien combinándolos para un mayor rendimiento de trabajo así como una mayor personalización de nuestra base de datos geográfica, como veremos a continuación. Llegados a este momento nos preguntaremos, ¿y cómo puedo implementar yo en mi proyecto este tipo de validaciones temáticas a mis bases de datos geográficas – geodatabases? Pues vamos a poner varios ejemplos que nos permitirán materializar los conceptos vistos hasta ahora. Pasos previos: 1. Crear una Geodatabase Personal o de Fichero. Para ello abrimos ArcCatalog. a. Inicio – Todos los Programas – ArcGIS – ArcCatalog. b. Una vez abierto pulsamos creamos un directorio de trabajo por ej. C:\Datos y creamos en su interior nuestra Geodatabase pulsando botón derecho del ratón sobre ese directorio New – Personal Geodatabase, creando por tanto un fichero de extensión (*.mdb – Microsoft Database – Access para el caso de una Geodatabase Personal).

Dominios y Subtipos en Geodatabase

Embed Size (px)

Citation preview

Page 1: Dominios y Subtipos en Geodatabase

Dominios y Subtipos en Geodatabase

En el ámbito de los Sistemas de Información Geográfica podemos concretar dos tipos de validación de

los datos geográficos y alfanuméricos, por un lado la validación Topológica (en las relaciones entre los

objetos espaciales) y por otro la validación temática (en los atributos).

En este artículo vamos a concretar un poco como se puede llevar a cabo un tipo de validación temática o

de los atributos introducidos en una Geodatabase, mediante Subtipos y Dominios.

Vamos a definir un poco qué es un Subtipo y qué es un Dominio.

Definiciones:

Subtipo: subdivisión de una clase de entidad (Feature Class) en distintos “tipos” válgame la redundancia,

con características diferenciadoras y que nos permitirá digitalizar de forma separada. Además podremos

incluirle dominios a cualquier campo que cumpla unas determinadas especificaciones para admitir

dominios, y que nos permitirán ingresar en dichos campos valores válidos de dichos atributos o

características. Los subtipos se implementan creando valores de código y son asociados a campos de

tipo Short Integer o Long Integer.

Dominio: rango de valores, ya sean alfanuméricos, o numéricos entre los que se mueve un atributo de

un determinado campo de una Clase de Entidad (Feature Class). Este tipo de dominio puede ser de tipo

RANGO o de tipo VALORES CON CÓDIGO como veremos a continuación.

Este tipo de validación temática mediante subtipos o dominios podrá ser usada de forma

independiente, o bien combinándolos para un mayor rendimiento de trabajo así como una mayor

personalización de nuestra base de datos geográfica, como veremos a continuación.

Llegados a este momento nos preguntaremos, ¿y cómo puedo implementar yo en mi proyecto este tipo

de validaciones temáticas a mis bases de datos geográficas – geodatabases? Pues vamos a poner varios

ejemplos que nos permitirán materializar los conceptos vistos hasta ahora.

Pasos previos:

1. Crear una Geodatabase Personal o de Fichero. Para ello abrimos ArcCatalog.

a. Inicio – Todos los Programas – ArcGIS – ArcCatalog.

b. Una vez abierto pulsamos creamos un directorio de trabajo por ej. C:\Datos y creamos

en su interior nuestra Geodatabase pulsando botón derecho del ratón sobre ese

directorio New – Personal Geodatabase, creando por tanto un fichero de extensión

(*.mdb – Microsoft Database – Access para el caso de una Geodatabase Personal).

Page 2: Dominios y Subtipos en Geodatabase

Fig. 1. Creación de una Geodatabase Personal desde ArcCatalog.

A continuación vamos a realizar un caso supuesto donde tenemos que digitalizar una red de

abastecimiento de agua y donde tenemos los siguientes elementos:

- Tipos de Redes:

o Red Principal

o Red Secundaria

Estos dos tipos de redes nos van a marcar los SUBTIPOS en los que podremos dividir nuestra base de

datos, en este caso, nuestro Feature Class o Clase de Entidades.

Para ello vamos a crear un Feature Class que contendrá la Red de Abastecimiento de Agua.

Para ello vamos a ArcCatalog, a nuestra Geodatabase personal que creamos en el paso previo, y

pulsamos botón derecho del ratón – New Feature Class, y le especificamos los parámetros Nombre y

Alias, el Tipo de Entidad, Sistema de Referencia Espacial en mi caso ETRS89 UTM30 Norte, XYTolerance

(dejo por defecto los valores), y llegados a la ventana de introducción de los campos creamos un campo

que contendrá los subtipos denominado Tipologia, y será de tipo Short Integer (ya que no vamos a

almacenar demasiados subtipos, sino tan sólo dos). Aquí podemos apreciar algunas de las ventanas que

se han usado:

Fig. 2. Creación de una Feature Class en nuestra Geodatabase desde ArcCatalog.

Page 3: Dominios y Subtipos en Geodatabase

Fig. 3 - 4. Especificación de los parámetros de la Feature Class.

A continuación aceptamos y ya tene

que creamos oportuno, en nuestro caso Red Primaria y Red Secundaria.

Para ello vamos a nuestra Feature Class y se

Propiedades – Subtipos.

Fig. 5. Propiedades de la Feature Class

. Especificación de los parámetros de la Feature Class.

A continuación aceptamos y ya tenemos nuestra Feature Class lista para aplicar los SUBTIPOS

, en nuestro caso Red Primaria y Red Secundaria.

ra ello vamos a nuestra Feature Class y seleccionamos con el botón derecho del ratón

Fig. 5. Propiedades de la Feature Class – RedAbastecimiento.

. Especificación de los parámetros de la Feature Class.

ara aplicar los SUBTIPOS

leccionamos con el botón derecho del ratón

Abastecimiento.

Page 4: Dominios y Subtipos en Geodatabase

Una vez estamos en las propiedades seleccionamos la pestaña SUBTIPES (Subtipos) y ahí

vamos a ir especificando cada SUBTIP

Para ello proseguimos el siguiente modo:

1. Seleccionamos en Subtype Field: el campo que antes habilitamos para contener los

subtipos, en este caso el Tipo de Red de Abastecimiento.

2. En Default Subtype aún no tenemos ninguno, dado que no hemos de

tipo de red.

3. Vamos a Subtypes y asignamos el Código (Code) y la Descripción

subtipo, del modo en que aparece en la ilustración:

Fig. 5. Definición de Subtipos en ArcCatalog para una Feature Class.

Como podemos apreciar ya sí tenemos un Subtipo por defecto que podre

desplegable, y si nos fijamos en cada uno de esos

para poder introducir valores válidos, valga la redundancia en nu

geográfica, pero por ahora lo dejaremos así, y más adelante procederemos a su relle

Por ahora sólo tenemos que ir a ArcMap, tras aceptar todos los

Feature Class y agregamos dicha Feature Class a ArcMap. Procederemos del siguiente modo:

1. Abrimos ArcMap en Inicio

ArcCatalog pulsamos el icono ArcMap o Tools

2. Pulsamos Add Data

Class llamada RedAbastecimiento, o la arrastramos desde ArcCatalog.

Una vez estamos en las propiedades seleccionamos la pestaña SUBTIPES (Subtipos) y ahí

vamos a ir especificando cada SUBTIPO.

Para ello proseguimos el siguiente modo:

Seleccionamos en Subtype Field: el campo que antes habilitamos para contener los

subtipos, en este caso el Tipo de Red de Abastecimiento.

En Default Subtype aún no tenemos ninguno, dado que no hemos de

Vamos a Subtypes y asignamos el Código (Code) y la Descripción (Description) de cada

subtipo, del modo en que aparece en la ilustración:

Fig. 5. Definición de Subtipos en ArcCatalog para una Feature Class.

Como podemos apreciar ya sí tenemos un Subtipo por defecto que podremos modificar en el

desplegable, y si nos fijamos en cada uno de esos subtipos podremos especificar un Dominio

para poder introducir valores válidos, valga la redundancia en nuestra base de datos

geográfica, pero por ahora lo dejaremos así, y más adelante procederemos a su relle

Por ahora sólo tenemos que ir a ArcMap, tras aceptar todos los cambios realizados en nuestra

Feature Class y agregamos dicha Feature Class a ArcMap. Procederemos del siguiente modo:

Abrimos ArcMap en Inicio – Todos los Programas – ArcGIS –ArcMap o desde el mismo

ArcCatalog pulsamos el icono ArcMap o Tools – ArcMap.

Pulsamos Add Data y buscamos en C:\Datos\Abastecimiento\

Class llamada RedAbastecimiento, o la arrastramos desde ArcCatalog.

Una vez estamos en las propiedades seleccionamos la pestaña SUBTIPES (Subtipos) y ahí

Seleccionamos en Subtype Field: el campo que antes habilitamos para contener los

En Default Subtype aún no tenemos ninguno, dado que no hemos delimitado ningún

(Description) de cada

Fig. 5. Definición de Subtipos en ArcCatalog para una Feature Class.

mos modificar en el

s especificar un Dominio

estra base de datos

geográfica, pero por ahora lo dejaremos así, y más adelante procederemos a su relleno.

realizados en nuestra

Feature Class y agregamos dicha Feature Class a ArcMap. Procederemos del siguiente modo:

ArcMap o desde el mismo

\ nuestra Feature

Class llamada RedAbastecimiento, o la arrastramos desde ArcCatalog.

Page 5: Dominios y Subtipos en Geodatabase

3. Si no hemos asignado una Referencia Espacial y Proyección nos arrojará un mensaje

diciendo que los datos no disponen de información relativa a la proyección, pero

podemos obviar este mensaje. Veremos que directamente tenemos los subtipos

divididos en dos colores, con lo cual es una primera muestra de que nuestro proceso

ha ido bien.

Fig. 6. Tabla de contenidos que nos muestra nuestros subtipos en la Red de Abastecimiento

desde ArcMap.

4. Una vez tenemos nuestra Feature Class Red de Abastecimiento vamos a comenzar la

edición para comprobar que se ha cumplido nuestro cometido, crear un tipo de

validación por Subtipos. Para ello pulsamos Editor – Start Editing (Comenzar Edición) y

vamos a Target y veremos que se nos muestra dividida nuestra Feature Class mediante

una cruz desplegable pudiendo seleccionar cualquiera de ellos para editar.

Vamos a continuar un poco con nuestra validación. A continuación realizaremos lo mismo pero

para los DOMINIOS.

Como comentábamos anteriormente los dominios se podrían considerar como los atributos

que nosotros vamos a introducir pero que cumplen con unas premisas, y es que van a ser sólo

los valores válidos que habremos predeterminado y que no nos van a permitir introducir

valores erróneos en los campos de nuestra geodatabase. En nuestro caso los valores válidos

por ejemplo podrían ser:1 el diámetro de la red y será de tipo Range y Short Integer.

Para la Red Principal: Diámetro de 50 a 100 centímetros.

Para la Red Secundaria: Diámetro de 25 a 50 centímetros.

Para crear un DOMINIO tenemos distintas alternativas, pero la más sencilla es crearlos desde

la Geodatabase propiamente dicha en ArcCatalog, aunque tenemos otras posibilidades como

son la importación desde tablas (en ArcToolbox – Data Management Tools – Domains). El

proceso es el siguiente:

1 En este ejemplo vamos a incluir un Dominio que bien puede ser diferente al que se generaría en un

proceso real, por lo que el dominio que aquí se incluye se muestra sólo a título informativo.

Page 6: Dominios y Subtipos en Geodatabase

Para incluir los dominios anteriormente citados vamos a proseguir con nuestra geodatabase.

1. Cerramos ArcMap para no provocar conflictos con nuestra Geodatabase.

2. Vamos a ArcCatalog y en nuestra Geodatabase, en la raíz de la misma, vamos a las

propiedades pulsando botón derecho del ratón – Propiedades y ahí a la pestaña

dominios.

Fig. 7. Propiedades de la Geodatabase y la pestaña Domains (Dominios).

3. Una vez estamos en la pestaña Domains (Dominios), vamos a incluir los valores que

nos permitirán validar e introducir los valores válidos de nuestros atributos de

Diámetro, el campo que a continuación vamos a crear en nuestra Feature Class para

que contenga esos valores válidos. Esto lo haremos para ambos sutbipos por lo que

creamos dos dominios distintos.

4. En la pantalla que se muestra en la parte derecha de la figura 7 vemos que aparecen

los siguientes elementos (de los cuales sólo nos hará falta rellenar los que detallo a

continuación):

a. Domain Name (Nombre del Dominio): Por ejemplo Diámetro.

b. Description (Descripción del Dominio): Diámetro de la Red de Abastecimiento

por Subtipos.

c. Field Type (Campo del Subtipo): será en principio Short Integer.

d. Domain Type (Tipo de Dominio): Range.

e. Minimum Value (Valor Mínimo): para la Principal 50, para la Secundaria 25.

Page 7: Dominios y Subtipos en Geodatabase

f. Maximum Value (Valor Máximo): para la Principal 100, para la Secundaria 50.

g. El resto de parámetros se puede dejar tal y como está.

Quedaría del siguiente modo:

Fig. 8. Dominios para cada subtipo referidos al Diámetro de la Red de Abastecimiento.

A continuación aceptamos y vamos a nuestra Feature Class donde creamos un campo

denominado DIÁMETRO y de tipo Short Integer para que sea del mismo tipo que el dominio

antes creado (este proceso puede ser inverso, y crear primero el campo pero siempre deberán

ser del mismo tipo, ya que sólo nos mostrará los dominios permitidos para este tipo de

campos).

Para ello vamos a nuestra Feature Class (RedAbastecimiento) pulsamos botón derecho del

ratón Propiedades y ahí vamos a la pestaña Fields. En esta pestaña crearemos un campo con el

nombre Diámetro y de tipo Short Integer y en la parte inferior veremos que tenemos para

seleccionar el dominio correspondiente, pero en nuestro caso debemos ser cuidadosos,

porque si asignamos en este lugar el dominio estaremos sesgando los resultados que

deseamos obtener y asignando un dominio a toda la Feature Class y no sólo a los subtipos por

separado. Para asignar el dominio a cada subtipo debemos ir a la Pestaña Subtypes (Subtipos)

y asignarlos a cada uno de éstos tal y como se muestra a continuación:

Page 8: Dominios y Subtipos en Geodatabase

Fig. 9. Creación del campo de Diámetro que contendrá los valores válidos de nuestros

dominios para cada subtipo.

Como comentábamos vamos a la pestaña subtipos y le incluimos los dominios a cada uno de

éstos:

Fig. 10. Asignación de los dominios a cada subtipo.

Una vez asignados los dominios vamos a probar nuestra validación en ArcMap digitalizando

alguna entidad y probando los subtipos y sus respectivos dominios.

Page 9: Dominios y Subtipos en Geodatabase

Vamos a ArcMap y agregamos nuestra Feature Class (Red Abastecimiento), del mismo modo

que hicimos anteriormente (si hemos guardado el proyecto deberíamos tener ya nuestra

Feature Class agregada).

Empezamos la Edición y digitalizamos dos entidades para cada subtipo seleccionándolas en el

Target. Veremos que si visualizamos los atributos, el campo del subtipo tendrá un desplegable

y si cambiamos el nombre del subtipo su simbología también lo hará.

Fig. 11. Digitalización de cada subtipo en ArcMap y visualización del atributo Subtipo de Red.

A continuación vamos a introducir los valores de DIÁMETRO que creamos oportunos dentro de

los rangos antes comentados para cada subtipo (por ejemplo 75 para la principal, y para la

segundaria 30), si posteriormente nos vamos a Editor – Validate Features teniendo

seleccionada las entidades, nos dirá que todos los datos son válidos, sin embargo si

introducimos por ejemplo un valor de 150 para la red principal y validamos nos dirá que el

valor no está en el rango especificado, he ahí nuestra validación temática.

Fig. 12. Validación de las entidades.

Como habréis podido comprobar no hemos creado un tipo de validación de CODED VALUE

aunque se podría haber usado por ejemplo con materiales, etc. Pero os pongo un ejemplo para

Page 10: Dominios y Subtipos en Geodatabase

que veáis en el paso de crear DOMINIOS de este tipo desde ArcCatalog y posteriormente como

beneficia en el uso mediante ArcMap estando en edición.

En ArcCatalog para crear un DOMINIO de tipo CODED VALUE, es decir pares CLAVE – VALOR

vamos a nuestra geodatabase y agregamos un dominio tal y como hicimos antes pero

especificando los siguientes parámetros:

a. Domain Name (Nombre del Dominio): Tipo de Material.

b. Description (Descripción del Dominio): Diámetro de la Red de Abastecimiento

por Subtipos.

c. Field Type (Campo del Subtipo): será en principio Short Integer.

d. Domain Type (Tipo de Dominio): Coded Value.

e. En la parte inferior asignamos cada código y su descripción en nuestro caso los

materiales como podrían ser los siguientes (véase ilustración Fig. 13).

Materiales:

Codigo Descripción

1 PVC

2 Hierro

3 Otros Materiales

Fig. 13. Creación del Dominio Tipo de Material en ArcCatalog.

Page 11: Dominios y Subtipos en Geodatabase

Podremos opcionalmente crear un dominio de tipo CODED VALUE para cada subtipo o

simplemente como hemos hecho aquí para toda la Feature Class. Si decidimos crearlo por cada

subtipo, posteriormente crearemos un campo del mismo tipo y lo llamaremos MATERIAL, y ahí

le especificaremos a cada subtipo su dominio correspondiente en la pestaña Subtypes de las

Propiedades del Feature Class.

Fig. 14. Creación del Campo Material y asignación del Dominio del mismo nombre.

Una vez tenemos nuestro campo y su método de validación mediante dominio de tipo Coded

Value vamos a ArcMap y veremos cómo nos aparecerá un desplegable para no introducir

valores erróneos.

Procedemos a abrir el proyecto anterior ya que lo debemos tener cerrado para no importunar

a ArcCatalog en cualquiera de los procesos anteriores.

Empezamos la edición y vamos a seleccionar los valores de tipo de Material para cada tramo

digitalizado.

Page 12: Dominios y Subtipos en Geodatabase

Fig. 15. Selección del código de cada tipo de Material.

Nota Aclaratoria: debemos tener en cuenta que los dominios se almacenan según el código en

el caso de los CODED VALUE por lo que si exportamos a formato Shapefile u otro tipo de

entidades, tendremos que reconvertir a su correspondiente descripción ya que los campos

contendrán el valor del código y no la descripción propiamente dicha.

Bueno espero que os sea útil este artículo y recordar que las marcas aquí mencionadas de

software ArcGIS TM

– ArcCatalog TM

y ArcMap TM y derivados son marcas registradas por sus

dueños © ESRI USA (http://www.esri.com) por lo que deberemos disponer de licencia para su

uso. Este documento podrá ser distribuido sin ningún tipo de limitación.

Podéis encontrar más información en:

http://www.esri.com