Dominios y Subtipos en Geodatabase

Anuncio
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).
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.
Fig. 3 - 4.. Especificación de los parámetros de la Feature Class.
A continuación aceptamos y ya tenemos
tene
nuestra Feature Class lista para
ara aplicar los SUBTIPOS
que creamos oportuno,, en nuestro caso Red Primaria y Red Secundaria.
Para
ra ello vamos a nuestra Feature Class y seleccionamos
seleccionamos con el botón derecho del ratón
Propiedades – Subtipos.
Fig. 5. Propiedades de la Feature Class – RedAbastecimiento.
Abastecimiento.
Una vez estamos en las propiedades seleccionamos la pestaña SUBTIPES (Subtipos) y ahí
vamos a ir especificando cada SUBTIPO.
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 delimitado
de
ningún
tipo de red.
3. 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
podremos modificar en el
desplegable, y si nos fijamos en cada uno de esos subtipos podremoss especificar un Dominio
para poder introducir valores válidos, valga la redundancia en nuestra
nuestra base de datos
geográfica, pero por ahora lo dejaremos así, y más adelante procederemos a su relleno.
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:
1. Abrimos ArcMap en Inicio – Todos los Programas – ArcGIS –ArcMap
ArcMap o desde el mismo
ArcCatalog pulsamos el icono ArcMap o Tools – ArcMap.
2. Pulsamos Add Data
y buscamos en C:\Datos\Abastecimiento\\ nuestra Feature
Class llamada RedAbastecimiento, o la arrastramos desde ArcCatalog.
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.
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.
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:
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.
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
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.
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.
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
Descargar