30 de diciembre del 2002 Vol.3 No.4

Manejo y Recuperación de Temáticas Espaciales a través de un SIG de Escritorio

Mtro. Torres Ruiz Miguel J.
Dr.Levachkine Pavlovich Serguei.

 

Palabras Clave: temática espacial, recuperación espacial, SIG de escritorio, maquillaje de datos, selección espacial.

Resumen
Instituto Politécnico Nacional. Para mejorar el rendimiento en las Aplicaciones SIG enfocadas a la recuperación y análisis de datos espaciales a través de una temática específica, se ha diseñado una herramienta SIG de Escritorio basada en un componente de software (Map Objects). Esta aplicación utiliza una estructura de indexación dinámica para datos espaciales, la cual no se encuentra implantada en aplicaciones SIG comerciales. Con esta estructura, podemos obtener un mejor rendimiento relacionado a la velocidad con respecto a la búsqueda de datos espaciales. El sistema cuenta con un repositorio geográfico, el cual fue diseñado para almacenar este tipo de información. A esta aplicación se le han implantado importantes métodos para la recuperación y realización de análisis visual y espacial, tomando las facilidades otorgadas por la reutilización de código y las técnicas especiales de la Geocomputación.

[English]

Artículo

Introducción

El ambiente en el cual opera la administración de la información en la actualidad, está cambiando rápida y constantemente. Hoy en día los Sistemas de Información Geográfica (SIG) son más complejos y la tendencia se enfoca al desarrollo de aplicaciones de propósito específico, en distintos campos en los que se aplica esta tecnología. Esto implica que el manejo y el análisis eficiente de la información, es una de las tareas más importantes en estos tiempos. Se trabaja con sistemas comerciales que pocas veces resuelven y/o satisfacen las necesidades de los usuarios.

Es por ello que la tendencia actual de los SIG, es utilizar plataformas de desarrollo que satisfagan las necesidades propias de cada usuario y muestren ahorros considerables en cuanto a tiempo y dinero. Esto se realiza con desarrollos propios, reutilizándose software o herramientas basadas en componentes que presenten funcionalidades distintas a los SIG comerciales, que puedan ser implantadas en éstos para llevar a cabo tareas específicas, de acuerdo a la teoría que presenta Kuhns (1998).El presente trabajo muestra una prueba de ello, ya que en base al componente Map Objects se desarrolló una herramienta capaz de manejar y analizar información espacial.

Esta aplicación cuenta además con una estructura de organización y administración eficiente, de datos espaciales almacenados en un repositorio geográfico.
Con esta estructura se pueden recuperar datos espaciales muy particulares, de acuerdo a una temática propia. El mecanismo a que se hace referencia es llamado: indexación espacial (árbol-R), como lo mencionan Gaede y Günther (1998) en sus trabajos.Este tipo de herramientas operan sobre una arquitectura basada en componentes, tanto para el manejo de los datos almacenados en la base de datos geográfica, como para las características intrínsecas espaciales que distinguen a los SIG, tal como lo describe Worboys (1994).

La utilización de componentes en los SIG facilita el desarrollo de funciones complejas, que antes sólo podían desarrollar los grandes competidores en esta disciplina; sin embargo, éstos presentaban aplicaciones generales en sus desarrollos, que no solucionaban las necesidades propias del problema, sólo el manejo descriptivo y espacial de la información. El uso de estos elementos facilita la integración de distintas herramientas SIG, como lo presenta Torres (2001).Con la problemática planteada anteriormente, surge un concepto innovador, que es llamado: SIG de Escritorio, el cual se puede definir como una herramienta geográfica (espacial) de propósito específico, que está diseñada para satisfacer necesidades propias de un ambiente determinado.

Estas aplicaciones pueden contar con métodos de selección y recuperación espacial; accesos dinámicos al repositorio de datos espaciales y, a su vez, pueden contener bibliotecas para la realización de análisis espaciales o geográficos, tal como lo ilustran Rigaux, Scholl, Voisard (2001) y Torres (2001).Este tipo de aplicaciones son construidas en diferentes ambientes de desarrollo integrado, utilizando diferentes técnicas de modelado espacial.

A su vez, estos desarrollos son complementados con componentes de software, para brindar una mayor flexibilidad y compatibilidad con otro tipo de sistemas. Para construir herramientas de este tipo, se deben considerar estándares internacionales, como los proporcionados por el Open GIS Consortium, de acuerdo al trabajo publicado por Masser y Blackmore (1991). Estos estándares son utilizados porque existe toda una arquitectura de desarrollo ya diseñada, con técnicas muy particulares de modelación y tratamiento de los datos espaciales.

Este tipo de técnicas se enfoca a la problemática siguiente: representación adecuada de datos espaciales, a través de una semántica intrínseca; la implantación eficiente de sistemas de coordenadas, y el diseño de nuevas estructuras de almacenamiento para los datos espaciales (relación entre formas espaciales y atributos), como lo cita Torres (2001) y Skyttner (2001).Un punto clave a considerar, es el diseño e implantación de una estructura dinámica de acceso, la cual permita realizar operaciones de inserción, recuperación y borrado de datos espaciales. Esta estructura debe tener la capacidad de mantener una persistencia y una adecuada organización/administración de la información almacenada, como lo presenta Masser y Blackmore (1991).En este trabajo se presenta el diseño y la implantación de un SIG de Escritorio de propósito específico, enfatizando los elementos más importantes que caracterizan a la aplicación.

En la sección 2 se detalla la arquitectura de la herramienta a un alto nivel. La sección 3 ofrece una explicación muy completa de la arquitectura de capas, para la representación de datos espaciales que ha sido utilizada. Posteriormente, en la sección 4 se presentan los métodos de selección y búsqueda espacial que fueron implantados en el sistema. En la sección 5 se explica el mecanismo de personalización o maquillaje, que puede realizarse sobre los datos espaciales en la aplicación. En la sección 6 se describe el mecanismo de indexación espacial utilizado para la recuperación, inserción y borrado de datos espaciales temáticos, así como los algoritmos diseñados para este propósito. Algunos resultados obtenidos con el sistema se muestran en la sección 7. Se finaliza con la sección 8, que describe las conclusiones del trabajo.

Arquitectura del SIG de Escritorio

La herramienta SIG de Escritorio de propósito específico, ha sido desarrollada utilizando una API (Map Objects) y métodos de geoprocesamiento propios. En esta aplicación fueron implantados distintos controles con funciones particulares, que satisfacen las necesidades de recuperación de datos espaciales, los cuales se encuentran almacenados en una base de datos geográfica. El sistema cuenta, además, con funciones precisas de análisis espacial, manejo de gráficos y apertura de formatos vectoriales y raster. Todas estas funciones auxilian a los usuarios que trabajan con esta tecnología, esto, en la realización de análisis más confiables, permitiéndoles la consulta de información espacial propia y por temática, en forma rápida y precisa, como lo citan Tomlin (1999) y Torres (2001).

Las aplicaciones SIG de propósito específico, deben contar con un repositorio geográfico propio, con la finalidad de manejar la informaciópn espacial con sus propios procedimientos. A continuación, en la Figura 1, se muestra el diagrama que representa la arquitectura del SIG de Escritorio, en base a los trabajos de Openshaw, Brundson, Charlton (1991) y Torres (2001):En la figura 1 se puede observar la arquitectura de alto nivel propuesta para la implantación del sistema. En primer lugar se cuenta con una base de datos geográfica, la cual se encarga de manejar los datos espaciales y descriptivos de cada una de las capas de información generadas (mapas digitales).


Figura 1

En ésta se realiza un acceso múltiple, para recuperar los datos almacenados que son solicitados por el usuario. A su vez, esta recuperación es realizada a través de un árbol-R, el cual se encarga de recuperar la información espacial de la base de datos. Por otra parte, todas las clasificaciones acordes al tipo de información generada, se establecen en esta misma estructura, la cual coordina y organiza los datos espaciales en el lugar correspondiente que le antecede en la base de datos, en este caso utilizando una ordenación a través de Estado y Temática.

Por otra parte, los datos espaciales son manejados a través de métodos de la API de Map Objects, los cuales fueron implantados de acuerdo a las necesidades en Visual C++. Con respecto a la interfaz gráfica de usuario (GUI), ésta fue desarrollada en este mismo ambiente integrado de desarrollo, para aprovechar la ventaja que ofrece el mismo en cuanto a componentes para el desarrollo de interfaces, además de que la API de Map Objects puede integrarse directamente en el lenguaje, de acuerdo a la literatura de MacDonald (1999).

En términos generales, el sistema es considerado como una herramienta SIG de Escritorio, la cual trabaja sobre una plataforma de Windows a 32 bits. El sistema está dividido en bloques de referencia para los programas desarrollados. Estos se dividen en dos secciones: por una parte, la sección correspondiente a la interfaz gráfica, que cuenta con cuatro subsecciones básicas: herramientas para datos espaciales, personalización de datos espaciales, zona de despliegue de datos espaciales y menús de funciones de datos espaciales, y, por otra parte, la sección de los algoritmos o módulos que componen a la herramienta, los cuales son la búsqueda por temática, el maquillaje o personalización de las capas, las operaciones de selección espacial, la apertura de formatos, el manejo de datos espaciales y el acceso a la base de datos. En la figura 2 se muestran los bloques de componentes de la herramienta, como lo cita Torres (2001), Hadzilacos y Tryfona (1996).


Figura 2

En la figura 2 se pueden observar los bloques o unidades de código que conforman las partes de la herramienta SIG de Escritorio, dividiéndose éstas, básicamente, en dos secciones: la sección correspondiente a la interfaz gráfica, que cuenta con cuatro subsecciones básicas: herramientas para datos espaciales, personalización de datos espaciales, zona de despliegue de datos espaciales y menús de funciones de datos espaciales. Por otro lado se encuentra la sección correspondiente a los algoritmos o módulos que componen a la herramienta, los cuales son la búsqueda por temática, el maquillaje o personalización de las capas, las operaciones de selección espacial, la apertura de formatos, el manejo de datos espaciales y el acceso a la base de datos.

Arquitectura de capas para la Representación de Datos Espaciales

En el sistema que ha sido desarrollado se diseñó e implantó una Arquitectura de capas para la representación de datos espaciales, almacenando cada forma geométrica en una capa independiente. Este almacenamiento se realiza de acuerdo al tipo de elemento topológico que constituye a cada una de ellas. Con esto se divide cada tipo de información en una capa única para su representación, conservando cada una de ellas sus propios atributos espaciales y descriptivos, los cuales en cualquier momento pueden ser manipulados para la realización de algún tipo de análisis.

Con este método se obtiene funcionalidad para migrar información a otros sistemas y compartir/transformar estos datos de acuerdo a la plataforma adecuada. Con este mecanismo se obtiene una mayor rapidez en cuanto al despliegue y la edición de la información espacial. Además se reducen recursos en cuanto a las capacidades del equipo de cómputo utilizado.

En la figura 3 se muestra un diagrama que muestra el funcionamiento de esta arquitectura, en donde el diseño ha sido modificado por lo propuesto por Lamberts y Günther (1994).En la figura 3 se puede observar que los objetos espaciales que se encuentran concentrados en una capa, son divididos por temáticas.
A su vez, cada capa correspondiente a una temática contiene tres subcapas, las cuales corresponden a las formas geométricas de los objetos espaciales en su primer contenido. En el segundo se almacenan los atributos que corresponden a esas formas, es decir, los elementos que califican a los objetos espaciales, como pueden ser sus características intrínsecas, de acuerdo a las relaciones espaciales que poseen éstos, basándose en su contenido topológico. Por último se presenta una subcapa que contiene los índices registrados de cada objeto, con su atributo espacial y/o descriptivo, presentándose una relación uno a uno y permitiendo el enlace de estos elementos en las capas.


Figura 3

Interacción entre los elementos del formato multi-capaEl formato shapefile (multi-capa) se encarga de enlazar la información a través de índices. Estos índices se encuentran almacenados en un medio diferente a las formas geométricas y a los atributos del shapefile. El archivo de índices tiene como función almacenar las referencias al archivo principal, es decir, el desplazamiento necesario desde el inicio del registro, en el archivo principal, y el tamaño del mismo.

El archivo principal (.SHP) cuenta con un encabezado, el cual permite conocer diversas características del dato espacial, tal como: tipo de figura, longitud de archivo y rectángulo de la geometría. Cada registro subsiguiente contiene un encabezado, en donde se encuentra la información del registro y seguido a éste, el contenido del registro. El archivo de índices y el archivo principal presentan una estrecha relación, ya que cada registro del archivo de índices apunta a un registro del archivo principal (relación 1 a 1). En la figura 4 se representa la relación existente entre el archivo principal y el archivo de índices.

Como se puede observar en la figura 4, el archivo de índices debe apuntar a la posición de inicio del registro del shapefile, ya que se necesita encontrar el desplazamiento y el contenido del registro. Finalmente el archivo .DBF es el encargado de almacenar los atributos descriptivos de cada forma geométrica. En este archivo hay un registro por cada objeto espacial existente en el shapefile. Este formato presenta toda la información atributiva del dato espacial en forma de tabla.


Figura 4

Métodos de Selección y Búsqueda Espacial

Las operaciones espaciales son utilizadas para realizar cierto tipo de operaciones sobre las formas geométricas o datos espaciales que son presentados. Este tipo de operaciones se realizan de una manera gráfica y afectan directamente los datos atributivos o descriptivos que corresponden a los objetos espaciales seleccionados. En un sentido más estricto, una operación espacial está definida como una función con argumentos espaciales. Esto significa que toma objetos espaciales como operadores y devuelve otros objetos espaciales o valores escalares como resultado. La importancia de las operaciones espaciales para lenguajes de consulta espacial, han sido reconocidas por muchos desarrolladores. Hoy en día, cuando hablamos acerca de operaciones espaciales, consideramos a éstas en dos dimensiones espaciales y asumimos un tratamiento de alto nivel para estos objetos, tal como lo citan Kamel y Faloutsos (1993). En el sistema se encuentran incorporados métodos de selección y búsqueda espacial, los cuales son utilizados para realizar cierto tipo de operaciones sobre las formas geométricas o datos espaciales que son presentados.

Todas las funciones espaciales que han sido diseñadas en el sistema, están relacionadas únicamente con la selección de objetos espaciales, de acuerdo a su forma. Estas se identifican primordialmente con la recuperación y la búsqueda de datos espaciales. A continuación, en la figura 5, se muestra un diagrama a bloques que representa los métodos de selección espacial y el esquema general de funcionamiento de cada método, los cuales son presentados por Sellis y Roussopoulos (1987).En la figura 5 se muestran cuatro procedimientos básicos en la selección y búsqueda de objetos espaciales. Estas funciones son indispensables para la ejecución de esta operación. Los métodos de búsqueda que se han implantado en la herramienta, corresponden directamente a funciones que han sido implantadas en la API de Map Objects.


Figura 5

Estas son enviadas como argumentos, directamente en la función de SearchShape. En términos generales, esta operación espacial funciona de la siguiente manera: todos los métodos de selección y recuperación espacial operan sobre un objeto del tipo MapLayer. El resultado que devuelven estas funciones se hace a través de un Recordset; es decir, una colección de datos espaciales y descriptivos que se encuentran asociados a través de un Geodataset. Los métodos de búsqueda que se encuentran implementados, corresponden a una constante en la API, por ejemplo: moExtentOverlap, moCommonPoint, moLineCross, etcétera. En resumen, la selección de objetos espaciales se realiza de una manera gráfica. Se discriminan objetos espaciales que no cumplan con las condiciones preestablecidas por cada uno de los métodos que han sido diseñados e implantados en la herramienta SIG. Por ejemplo, RECUPERAR las fracturas que se encuentran CONTENIDAS en las áreas de Torreón y Fresnillo.

El resultado obtenido de la selección es almacenado en una nueva capa espacial y es colocada dentro del repositorio geográfico. La nueva capa espacial que ha sido creada, cuenta tanto con formas geométricas espaciales, como con los atributos espaciales y descriptivos que corresponden o califican a los objetos geográficos. Por lo tanto, la selección de objetos espaciales se realiza de una manera gráfica. Se discriminan objetos espaciales que no cumplen con las condiciones lógicas y semánticas de cada uno de los métodos que han sido diseñados e implantados en la herramienta SIG.

Maquillaje de Datos Espaciales

Una de las funciones primordiales que debe proporcionar una Aplicación SIG de Escritorio, es contar con un mecanismo eficiente para realizar la personalización o el maquillaje de datos espaciales, esto con el objetivo de realizar ciertos tipos de análisis sobre la información, de acuerdo al tipo de métodos que existen en este campo. Esta función es utilizada para presentar información más accesible al usuario, para que de esta manera se puedan interpretar los mapas cartográficos con mejores resultados y estos tengan una alta calidad y legibilidad en cuanto a los objetos que se presentan.

En la figura 6 se presenta un diagrama que muestra el esquema de conectividad que presenta cada una de las herramientas de maquillaje, de acuerdo a la metodología propuesta por Cressie (1999).Se puede observar en la figura 6 que las herramientas que se utilizan para el maquillaje de mapas, cuentan con tres métodos básicos (load(), init() y apply()) para su funcionamiento. Con éstos se hacen las modificaciones pertinentes a la información, de acuerdo a ciertas características intrínsecas que poseen los datos, o bien, de acuerdo al acceso a la información descriptiva (atributos), con la que cuente la capa espacial. Los métodos de maquillaje espacial son tomados directamente de los valores predefinidos de la API Map Objects. Estos métodos de personalización de capas espaciales, son los siguientes:


Figura 6

Mecanismo de Indexación Espacial En el amplio contexto del manejo de datos espaciales, se requiere de un mecanismo de indexación1 que auxilie en la recuperación de esta información, de manera acorde a su localización espacial, como lo presentan Guttman (1984), Torres (2001), Gaede y Günther (1998). Esto conlleva a deducir que los métodos de indexación tradicionales no son adecuados para localizar datos en múltiples dimensiones espaciales. Es por ello que se necesita una estructura de indexación dinámica, conocida como árbol-R (R-tree), en donde los objetos espaciales con frecuencia cubren áreas en espacios multidimensionales y no son representados por localizaciones puntuales.

Por ejemplo, objetos en mapas, como: ciudades, campos de cultivo, etcétera, ocupan regiones en dos dimensiones. Una operación común sobre los datos espaciales, es una búsqueda de todos los objetos en un área. Un ejemplo de ello sería encontrar todas las ciudades que tengan tierras de cultivo dentro de un radio de 20 km, desde un punto en particular.

Este tipo de búsquedas espaciales ocurren frecuentemente en aplicaciones geográficas. Esto implica que es importante ser capaz de recuperar objetos eficientemente, de acuerdo a su posición espacial, como lo presentado por Guttman (1984).Un árbol-R es un árbol de altura balanceada, similar a un árbol-B, con registros índice en sus nodos hoja, conteniendo apuntadores a sus objetos de datos. Los nodos corresponden a paginación de disco. Si el índice está residente en este dispositivo y la estructura está diseñada para una búsqueda espacial, se requiere visitar sólo un pequeño número de nodos. Por lo tanto, el índice es completamente dinámico. Para las operaciones de inserción y borrado, puede ser intermezclado con búsquedas y no por reorganización periódica, la cual no es requerida.

Una base de datos espacial consiste en una colección de tuplas representadas por objetos espaciales, en donde cada tupla tiene un identificador único. Este identificador puede ser utilizado para recuperar esa tupla. Los nodos hoja en un árbol-R contienen registros índice en las entradas, de la forma siguiente: (I, tupla-identificador). La figura 7 ilustra la estructura de un árbol-R y la figura 8 muestra el contenedor y las relaciones de sobreposición que pueden existir entre sus rectángulos, de acuerdo a lo presentado por Brinkhoff, Kriegel y Seeger (1993).Recuperación de Temáticas Espaciales con el Árbol-REl algoritmo de búsqueda por temática espacial, consiste en descender el árbol desde la raíz de una forma similar a un árbol-B.2 De cualquier manera, más de un subárbol bajo un nodo visitado, puede necesitar ser buscado.


Figura 7

Por lo tanto, esto no garantiza un buen rendimiento, sin embargo, con esto se garantiza la eliminación irrelevante de regiones indexadas espacialmente y se examinan sólo los datos que se encuentran cerca del área de búsqueda. A continuación se mostrará el algoritmo de búsqueda empleado para la recuperación de datos espaciales. En esta parte denotaremos la parte del rectángulo de una entrada de índice E por E1 y la tupla-identificador que contiene la temática almacenada en la base de datos o apuntador-hijo por EP. Por ejemplo, dado un árbol-R, cuyo nodo raíz es T, encontrar todos los registros índice que corresponden a las temáticas con las que cuenta la base de datos, cuyos rectángulos se sobreponen a un rectángulo de búsqueda S.

El algoritmo de recuperación de datos espaciales es el siguiente:1. Buscar subárboles. Si T no es una hoja, checar cada entrada E para determinar si E1 se sobrepone a S. Para todas las entradas de sobreposición, invocar la búsqueda sobre el árbol cuyo nodo raíz es apuntado por EP.2. Buscar nodo hoja. Si T es una hoja, checar todas las entradas de E para determinar si E1 se sobrepone a S, y checar si E es un registro elegible.

Inserción de Temáticas con el Árbol-R

Para insertar temáticas como registros índice para nuevas tuplas de datos, se realiza un proceso similar a la inserción en un Árbol-B, en el cual las nuevas temáticas registros índice son agregadas a las hojas. Los nodos que se sobrecargan son cortados y propagados hacia arriba del árbol. El algoritmo de inserción de una nueva entrada de índice de temática E dentro del árbol-R, es el siguiente:1. Encontrar una posición para el nuevo registro. Invocar a "Elegir-hoja" para seleccionar un nodo hoja L, en el cual se posicionará E.2. Agregar un nuevo registro al nodo hoja. Si L tiene lugar para otra entrada, colocar a E; de lo contrario invocar a "Cortar-Nodo" para obtener L y LL, conteniendo a E y todas las entradas viejas de L.3. Propagar cambios ascendentes. Invocar a "Ajustar-Árbol" sobre L, además pasar a LL si un corte fue realizado.4. Hacer crecer el árbol. Si el nodo cortado se propaga, ocasiona que la raíz a cortar genere una nueva raíz, cuyos hijos son el resultado de dos nodos.

Algoritmo para "Elegir-hoja"

Se debe seleccionar un nodo hoja, el cual se posicione a una entrada nueva del índice E.1. Inicializar. Establecer a N para que sea el nodo raíz.2. Checar la hoja. Si N es una hoja, regresar a N.3. Elegir el subárbol. Si N no es una hoja, permitir a E ser la entrada en N, cuyo rectángulo FI necesita al menos ampliarse para incluir a E1. Resolver los lazos, eligiendo la entrada con el área del rectángulo más pequeño.4. Descender hasta una hoja. Establecer N para ser el nodo hijo apuntado por FP y repetir desde el paso 2.

Algoritmo para "Ajustar-Árbol"

Ascender desde un nodo hoja L a la raíz, ajustando la cobertura de los rectángulos y propagando los nodos que sean necesarios.1. Inicializar. Establecer a N=L, Si L fue cortada previamente, establecer NN para que sea el resultado del segundo nodo.2. Checar que se haya realizado la operación. Si N es la raíz, detener la operación.3. Ajustar el cubrimiento del rectángulo en la entrada padre. Permitir a P ser el nodo padre de N y permitir a EN sea N's entradas en P. Ajustar ENI para que éste encierre todas las entradas del rectángulo en N.4. Propagar los nodos cortados hacia arriba. Si N tiene un compañero NN, resultado de un corte, crear una nueva entrada ENN con ENNP. Apuntar a NN y ENNI, encerrando todos los rectángulos en NN.

Agregar ENN a P si hay espacio para almacenarlo; de lo contrario, invocar a "Cortar-Nodo" para producir P y PP, que contengan a ENN y todas las entradas P anteriores.5. Moverse al siguiente nivel. Establecer N=P y establecer NN=PP si un corte ocurrió. Repetir desde el paso 2.Eliminación de Temáticas con el Árbol-R
Para eliminar un registro índice, correspondiente a una temática E de un árbol-R, se debe proceder de la siguiente manera:1. Encontrar un nodo que contenga un registro. Invocar a "Encontrar-hoja" para localizar el nodo hoja L que contenga E. Detenerse si el registro no fue encontrado.2. Borrar registro. Eliminar E desde L.3. Propagar cambios. Invocar "Condensar-Árbol" pasando por L.4. Acortar árbol. Si el nodo raíz tiene sólo un hijo, después de que el árbol ha sido ajustado, hacer al nodo hijo como el nuevo nodo raíz.

Algoritmo para "Encontrar-Hoja"

Dado un árbol-R cuyo nodo raíz es T, encontrar el nodo hoja que contiene la entrada índice E.1. Buscar subárboles. Si T no es una hoja, checar cada entrada F en T para determinar si FI se sobrepone a E1. Para cada entrada invocar "Encontrar-Hoja" sobre el árbol, cuya raíz es apuntada por FP hasta que E sea encontrada o todas las entradas hayan sido checadas.2. Buscar el nodo hoja para registros. Si T es una hoja, checar cada entrada para ver si ésta marca a E, y si E es encontrada regresar a T.

Algoritmo para "Condensar-Árbol"

Dado un nodo hoja L, desde el cual una entrada ha sido borrada, eliminar el nodo si éste tiene también pocas entradas, y trasladar sus entradas a otro nodo libre. Propagar el nodo eliminado hacia arriba. Ajustar todos los rectángulos cubiertos sobre la ruta a la raíz, haciendo éstas más pequeñas si es posible:1. Inicializar. Establecer N=L, establecer Q al conjunto de nodos eliminados que se encuentran vacíos.2. Encontrar la entrada padre. Si N es la raíz, ir al paso 6. De lo contrario permitir a P que sea el padre de N y permitir a EN ser las N's entradas en P.3. Eliminar los nodos. Si N tiene m entradas, borrar EN desde P y agregar N al conjunto Q.4. Ajustar el rectángulo cubierto. Si N no ha sido eliminado, ajustar ENI al contenido de todas las entradas de N.5. Moverse un nivel en el árbol. Establecer N=P. Si no son iguales, repetir desde el paso 2.6. Reinsertar las entradas huérfanas. Reinsertar todas las entradas de los nodos en el conjunto Q. Las entradas eliminadas de los nodos hoja, son reinsertadas en las hojas del árbol (como en la inserción). Sin embargo, las entradas de nivel más alto deben ser posicionadas en la parte superior del árbol, para que las hojas de los subárboles dependientes tengan el mismo nivel que las hojas del árbol principal.

Árbol-R en la Aplicación SIG de Escritorio

Para la recuperación y/o búsqueda de datos espaciales, se diseñó e implantó un Mecanismo de Indexación Dinámica Espacial Multidimensional para la aplicación SIG de Escritorio. Este mecanismo consiste de un árbol-R que genera tuplas de información espacial, con identificadores únicos para la temática y para cada dato espacial que corresponda a cada temática. Este identificador puede ser almacenado en un nodo hoja que represente un segmento de paginación en memoria.

Con este mecanismo se puede hacer un filtrado de la información espacial, de acuerdo al estado y a la temática en particular que sea seleccionada, esto con la finalidad de discriminar la información espacial que no corresponda al área de trabajo que ha sido marcada. Con este mecanismo se diseñaron e implantaron algoritmos para la eliminación, recuperación y/o búsqueda, así como la inserción de datos espaciales de acuerdo a una temática específica.

Con la implantación de esta estructura de indexación espacial, se obtienen grandes ventajas en cuanto al manejo de recursos, es decir, en la administración y el uso de la memoria, además de que se realizan operaciones de borrado, inserción y recuperación de datos espaciales multidimensionales, a diferencia de otros mecanismos de indexación que únicamente trabajan para dos dimensiones.
Podemos concluir que este mecanismo es único en su tipo en la Aplicación SIG de Escritorio que ha sido desarrollada, ya que las aplicaciones comerciales no cuentan con este método de recuperación y mucho menos aún, resuelven la problemática de búsqueda de datos espaciales a través de una temática específica. La estructura del árbol-R presenta una jerarquía acorde al número de estados que conforman el país, representándose éstos a través de nodos en la estructura. Para cada estado se cuenta con tuplas únicas que corresponden a la temática de cada localidad.


Figura 8

Toda la información espacial se encuentra almacenada en una base de datos geográfica. A través de este mecanismo se realizan todas las operaciones que tienen que ver con la administración, la organización y el manejo de los datos, ya que el mecanismo de indexación espacial es el encargado de realizar estas operaciones sobre los datos espaciales. Esta estructura puede dividirse en el nivel físico, a través de la implantación del árbol-R, y a nivel de diseño, como la estructura de capas para la representación de datos espaciales. Con esta indexación multidimensional, se realiza la recuperación o extracción de los datos espaciales que forman parte de una región en particular, generando rectángulos que corresponden a uno de los índices del árbol. Esta operación se utiliza para discriminar ciertos objetos espaciales que pertenezcan a una región, pero que a su vez pertenecen a otra. De acuerdo a la selección por zona o región que haya sido elegida (un estado en particular), se filtran los datos espaciales que corresponden a esta zona (las capas espaciales que cubren el área seleccionada). Lo anterior puede observarse en la figura 9.ResultadosAlgunos resultados obtenidos por el SIG de Escritorio se muestran a continuación:


Figura 9

En la figura 10 se muestra una operación de identificación de objetos espaciales. Este mecanismo recupera la información atributiva de una capa de datos espacial, mostrando las características propias que califican a una forma espacial contenida en una capa de datos. A su vez, también se muestra una operación de acercamiento visual a los datos espaciales, esto con la finalidad de conocer con mayor detalle los objetos espaciales (geográficos) de un área en particular. (Las operaciones de análisis visual y espacial sobre los SIG, son fundamentales para la toma de decisiones).


Figura 10

En la figura 11 se utilizan dos operaciones de selección espacial implantadas en la aplicación (elementos que comparten un punto o cruzan el borde, y elementos contenidos en una forma). Estas operaciones de selección espacial se realizan en forma gráfica y utilizan una forma geométrica (punto, línea o polígono) para marcar los objetos de interés en el análisis.


Figura 11

Los resultados de la selección son marcados de un color diferente al resto de los objetos espaciales de la capa de datos y el resultado que se obtiene está basado en el conjunto de reglas o criterios que estipula cada método de selección o recuperación espacial. Estos objetos geográficos recuperados pueden ser almacenados en una nueva capa o estructura de datos espacial, conservando los valores espaciales y atributivos que los caracterizan.

En la figura 12 se muestra el método de selección de elementos intersectados en el interior de una forma, el cual se encarga de recuperar todos los elementos que se encuentren contenidos dentro de la forma geométrica con la que se desarrolle la selección. De esta forma se obtiene tanto la información espacial como la atributiva de estos elementos. En esta misma figura se puede observar que se recuperan únicamente los ríos que pertenecen al municipio de Mapimi, y se discriminan todos aquellos objetos que no cumplen con esta condición.


Figura 12

En la figura 13 se muestran dos ejemplos de personalización o maquillaje de datos espaciales a través de dos métodos (valores únicos y forma de clases). Estos métodos de personalización son utilizados para generar mapas temáticos y presentar al usuario la información espacial de una manera más accesible y fácil de interpretar. Con la personalización se obtienen mejores resultados cartográficos, con una alta calidad y legibilidad en cuanto a los objetos espaciales mostrados. Se puede observar en la parte superior de la figura 11, que todos los municipios del estado de Durango son presentados a través de un valor único, tomando este valor de algún atributo espacial o descriptivo de la capa de información. En la parte inferior de la misma figura, se puede observar el maquillaje a través de clases. Este personalizado se realiza a través de los atributos numéricos que contenga la capa de datos. Con estos atributos se generan rangos de valores, acordes al resultado de una interpolación. Estos valores pueden ser el perímetro, área, etcétera, de alguna capa de datos espacial, dependiendo de su estructura topológica.


Figura 13

En la figura 14 se observa la operación de recuperación de datos espaciales por temática única. Esta operación está basada en la estructura del árbol-R, la cual se encarga de realizar todas las operaciones de recuperación, inserción y borrado de los datos espaciales que se encuentren en el repositorio geográfico. En esta figura podemos observar que, primeramente, se cuenta con todos los estados de la República Mexicana. Posteriormente, al elegir un estado, se muestran las temáticas con las que se cuenta y que hacen el cubrimiento del área seleccionada. Por último, se elige la capa de datos espacial que se desea recuperar, para colocarla en el Map Control de la aplicación.


Figura 14

Conclusiones

En el presente trabajo se cuenta con una Aplicación SIG de Escritorio que es independiente a cualquier herramienta comercial, ya que no necesita de ningún dispositivo o aplicación para poner en práctica su funcionamiento. Por lo tanto, podemos decir que se cuenta con una "Aplicación completamente Independiente". El sistema cuenta con mecanismos para el análisis visual y espacial de la información, así como un mecanismo para la recuperación y/o consulta, eliminación e inserción de datos espaciales a través de una temática en particular.Esta herramienta cuenta con la capacidad de lectura y escritura de formatos SIG, así como también CAD y algunos ráster. Estas funciones de intercambio de datos fueron implantadas para proporcionar una flexibilidad en cuanto al manejo y el tratamiento de la información espacial, que puede ser representada a través de estos formatos

.El sistema cuenta con una herramienta para la personalización de los datos espaciales o maquillaje de capas. Este método es utilizado para generar nuevos datos espaciales, de acuerdo a ciertos mecanismos de personalización. Con esta función se generan nuevas capas de información espacial, haciendo uso de los atributos descriptivos de los datos espaciales, o bien, de los atributos geométricos que forman parte de la base de datos del sistema. Algunos métodos de selección espacial fueron implantados en la aplicación, esto con el objetivo de recuperar información espacial de acuerdo a la forma geométrica de los objetos, es decir, realizando una selección espacial (de forma gráfica) de acuerdo a la forma geométrica específica, y recuperando los objetos en base a la geometría que presentan.

Por último, se diseñó e implantó un mecanismo de indexación dinámica espacial multidimensional. Con este mecanismo se realizan las operaciones de recuperación, inserción y borrado de datos espaciales, correspondientes a una temática en particular. Con la inclusión de este método, se cuenta con información espacial jerarquizada para la recuperación y/o consulta, ya que los datos se agrupan de acuerdo a un estado perteneciente a la República Mexicana y a una temática en particular, proporcionando todas las capas espaciales que corresponden a la temática seleccionada y que cubren cierta porción de la zona elegida. Las áreas que no son de interés son discriminadas, es decir, se realiza un cubrimiento espacial del Estado marcado y se indica el número total de capas correspondientes al tema con el que se cuenta para cubrir ese Estado y que pueda ser recuperado.

Agradecimientos

Los autores del presente trabajo queremos dar las gracias al Instituto Politécnico Nacional y a la Coordinación General de Estudios de Posgrado e Investigación, por el apoyo brindado para el desarrollo de esta investigación. La información del apartado 6 no es indispensable para comprender la idea fundamental del artículo. Esta sección describe algoritmos complejos para indexar datos espaciales, algunos lectores pueden omitirla de acuerdo a sus áreas de interés y experiencia propia. Un árbol-B es una estructura de datos unidimensional y balanceada, en donde cada nodo contiene al menos n/2 índices.

Brinkhoff, P. K., Bernhard S. (1993) Efficient Processing of Spatial Joins Using R-Trees, in Proceedings of the ACM SIGMOD, Conference on Management Data, Amsterdam, June, pp. 237-246.

Cressie, N. (1999) Statistics for Spatial Data. John Wiley and Sons, 216 p.

MacDonald, A. (1999) Building Applications with Map Objects. Environmental Systems Research Institute. ESRI Inc., 264 p.

Sellis, T., Faloutsos, C., Roussopoulos, N. (1987) Analysis of object-oriented spatial access methods, in Proceedings of the ACM SIGMOD, International Conference on Management of Data, Boston, pp. 426-439.

Gaede, V., Günther, O. (1998) Multidimensional Access Methods. Journal of ACM Computing Surveys, 30 (2): 170-225.

Lamberts, J., Günther, O. (1994) Object-oriented. Techniques for the Management of Geographic and Environmental Data. The Computer Journal, 37 (1): 16-25.

Guttman, A. (1984) R-Trees: A Dynamic Index Structure for Spatial Searching, in Proceedings of the ACM SIGMOD, International Conference on Management of Data, Denver, June, pp. 47-57.

Hadzilacos, T., Tryfona, N. (1996) Logical Data Modelling for Geographic Applications. International Journal of Geographical Information Systems, 10 (2): 179-200.

Kamel, I., Faloutsos, C. (1993) On Packing R-trees, in Proc. 2nd Int. Conf. on Information and Knowledge Management, Arlington, April, pp. 490-499.

Kuhns, R. (1998) Strategies for Designing and Building Reusable GIS Application Components, in ESRI User Conference Proceedings, San Diego, July, pp. 98-107.

Maguire, D. J. (1991) Geographical Information Systems: Principles and Applications. John Wiley and Sons, 279 p.

Masser, I., Blackmore, M. (1991) Handling Geographical Information: Methodology and Potential Applications. Essex: Longman Scientific & Technical, 298p.

Openshaw, S., Brundson, C., Charlton, M. (1991) A Spatial Analysis Toolkit for GIS, in Proceeding Second European Conference on Geographical Information Systems, Utrecht, March, pp. 101-112.

Rigaux, P., Scholl, M., Voisard, A. (2001) Spatial Databases with Application to GIS. San Francisco: Morgan Kaufmann, 410 p.

Skyttner, L. (2001) General Systems Theory Ideas and Applications. John Wiley and Sons, 367 p.

Tomlin, C. D. (1999) Geographic Information Systems and Cartographic Modeling. Prentice Hall, 321 p

.Torres, M. (2001) Herramienta SIG de Escritorio para la Recuperación, Manejo y Análisis de Datos Espaciales. México: CIC-IPN, 275 p.

(M.S. Thesis in Spanish).Worboys, M. (1994) Innovations in GIS, in Selected papers from the First National Conference on GIS Research UK, United Kingdom, March, pp. 125-142.


[ Ejemplar Actual ]



Dirección General de Servicios de Cómputo Académico-UNAM
Ciudad Universitaria, M
éxico D.F.