Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1.- Introduccin
Los sistemas de informacin se han convertido en herramientas tiles de la ingeniera y de las ciencias bsicas. Son tres las caractersticas que han propiciado que los sistemas de informacin geogrfica (SIG) se estn desarrollando en forma considerable y estas caractersticas son: el resolver problemas de manera eficiente, rpida y oportuna. Los SIG son un tipo especializado de sistemas que se distinguen por su capacidad de manejar informacin espacialmente referenciable y que permiten adems su representacin grfica [Velez 96]. Se dice que son herramientas, porque ayudan a la formacin de elementos de juicio para la toma de decisiones luego que se han aprovechado sus funciones de captura, almacenamiento, refinamiento, anlisis y visualizacin de la informacin. La forma de organizar la informacin en un SIG espacial es importante. La informacin puede ser muy variada ya que tomamos en cuenta caractersticas del mundo real. Podemos tener informacin tanto de cuerpos y figuras regulares que son bien representados por la geometra
tradicional tanto de informacin que no podr ser representada de manera trivial. Esto se debe a que la mayora de los datos espaciales que representan informacin real no es regular. El uso de nuevas geometras permitir un manejo ms adecuado de la informacin espacial [Lpez 98]. Las bases de datos se utilizan normalmente para guardar una variedad de informacin dependiendo del dominio de la aplicacin elegida. Los datos necesitan a menudo ser peridicamente actualizados en cuanto a la informacin con la que cuenta (valores), como de los cambios en el dominio de la aplicacin. Los mecanismos de almacenamiento de datos actuales en una base de datos utilizan modelos formales que garantizan la consistencia, la seguridad, reducen la redundancia y permiten su uso concurrente. Debido a estas exigencias una base de datos modela datos de una manera distinta a su representacin real. Tal es el caso del modelo relacional. Como es bien conocido, si los datos que se manejan son complejos y estructurados se necesitan crear mecanismos de armado y desarmado de datos para que
aplicaciones de explotacin y bases de datos puedan interactuar [Cattell 91]. El advenimiento del paradigma de programacin orientado a objeto y la aparicin de estructuras de datos no atmicos, sugieren nuevos mtodos para organizar informacin en una base de datos. Los sistemas de base de datos objeto (ODBMS) deben de soportar aplicaciones complejas tales como: diseo automatizado (CAD) y software automatizado (CASE), y sistemas multimedia tales como SIG, manejo de imgenes, voz y video. Nuestro trabajo describe en este contexto el manejo de datos geogrficos en una base de datos orientada a objetos, utilizando el enfoque objeto/relacional. Nuestro trabajo utiliza como base una interfaz para datos geogrficos desarrollada en nuestro grupo de trabajo [Briones 98] donde los aspectos bsicos de un SIG ya han sido considerados. Por otro lado, pretende ser una base experimental para aspectos adicionales como consultas, interoperabilidad y comparticin de datos geogrficos.
propias pero otras generales. Hay que tomar en cuenta que se estn realizando muchos estudios para lograr un estndar en el modelado de los datos geogrficos. Algunos ejemplos pueden encontrarse en [Posada 99]. Hasta el da de hoy no se ha llegado a un acuerdo, pero es bueno notar que los trabajos tienen ideas similares. Los trabajos descritos coinciden en el hecho de que es importante considerar los conceptos del enfoque orientado a objetos. Algunos han hecho ms nfasis en el aspecto de la herencia. Las caractersticas que los trabajos descritos consideraron ms relevantes fueron las consideramos en nuestro trabajo. En el contexto del esfuerzo que se lleva a cabo para este tipo de modelado, los investigadores han coincidido tambin en el uso de un estndar para los datos geogrficos. Los estndares que han presentado ms inters proponen el uso de geometras basadas en puntos, lneas y polgonos. La tabla 1 presenta los trabajos que fueron analizados junto con las caractersticas que poseen cada uno. As como las caractersticas que tom nuestro trabajo.
Generalizacin
Propagacin
Clasificacin
M odelo
O bjec t-O riented M odeling for[EgISn h o fe r 9 8 ] Ge Roc k & Roll [Fernandes 99] Com puter Cartography for G IS : an O bjec tO riented view on the Dis play Trans form ation [A ndrew 92] M odelado DatosO rientado O bjetopara un de a S is tem asde Inform ac inG eogrfic o(S IG O O ) [P os ada 99]
La tabla muestra las caractersticas similares son: Agregacin, Asociacin, Herencia, Generalizacin y Clasificacin
En el modelo presentado por [Egenhofer 98] es importante estudiar como modela el manejo de la Asociacin y la Herencia.
3. Metodologa
La metodologa que se utiliz para el diseo del modelo en el sistema es el Modelo y Diseo Orientado a Objeto (OMT) [Rambaugh 96 et. al],
Desplegado
Agregacin
Asociacin
Herencia
debido a que maneja los conceptos orientados a objeto. Esto nos permite manejar a nivel diseo, implementacin y almacenamiento un enfoque orientado a objetos. El hecho de manejar un enfoque homogneo en 3 niveles de construccin de la aplicacin permite reflejar en la base de datos objetos geogrficos del mundo real y al mismo tiempo conservar las ventajas que ya existen en los modelos de bases de datos actuales. Las caractersticas ms relevantes del modelo orientado a objetos son las siguientes: Clasificacn: es la organizacin de mtodos y datos de la misma estructura, adems de su comportamiento. En ste caso se puede ver que una capa se encuentra compuesto por tipos como son punto, lneas, polilneas y polgonos estos a su vez manejan atributos y mtodos. Generalizacin: es la capacidad que permite que un objeto especializado pueda ser substituido por un elemento de su super-clase. En este caso la sub-clase comparte la estructura y el comportamiento de la super-clase. Asociacin: Es un enlace que existe entre una clase y otra. Este enlace permite hacer una referencia hacia otras clases. Agregacin: es una propiedad que permite que se manejan objetos compuestos, los cuales a su vez son otros objetos. Es una relacin parte-de donde al unirse forman el ensamblaje completo. Estos objetos tienen su propia funcionalidad. Herencia: Define a las clases en trminos de super-clases. Todas estas propiedades y conceptos nos permitieron experimentar como el enfoque objeto/relacional permite el manejo de datos y objetos geogrficos.
Describiremos a continuacin brevemente algunos aspectos del relacional que nos parecen interesantes para despus describir el enfoque objeto/relacional. Este enfoque fue el que utilizamos en el desarrollo de nuestro trabajo.
4. Modelos de Datos
La representacin de datos geogrficos puede llevarse a cabo de manera natural en el contexto del enfoque orientado a objetos. Sin embargo, el manejo de base de datos se realiza actualmente en el contexto del enfoque relacional, dadas las ventajas que ste ofrece. A partir del desarrollo de la metodologa orientada a objetos, dos enfoques se han sido impulsados: el enfoque puramente objeto el enfoque objeto/relacional
modelo de datos relacional incorporando procedimientos, objetos, versiones y otras nuevas capacidades. El desarrollo de modelo objeto/relacional deriva del hecho que las ventajas del relacional se conservan y pueden integrarse aspectos de diseo que agregan claridad a la representacin de los datos. Para evitar que mltiples extensiones del relacional se generen se encuentra en proceso de definicin un estndar en el contexto de SQL [Manola 97 et. al]. Para que un SIG pueda ser manejado en el contexto del enfoque objeto/relacional, son creados tipos de acuerdo a los objetos geogrficos que desean manejarse. Una jerarqua de tipos es creada, donde a partir de los tipos bsicos, son construidos tipos ms sofisticados. Todos los tipos creados son entonces implementados por clases que permiten su manejo y lo hacen compatible con la jerarqua que se utilice en un lenguaje de programacin orientado a objetos.
5. Objetos Geogrficos
Los objetos geomtricos de base son: Puntos Lneas Polilneas Polgonos
Cada uno de los cuales es modelado por un tipo abstracto de datos en el contexto del enfoque objeto/relacional. El modelo de representacin que usamos es el vectorial, debido a que su estructura bsica descansa en puntos, lneas y polgonos. El modelado basado en puntos, lneas y polgonos corresponde con el desarrollado para el visualizador de objetos geogrficos. Una descripcin del enfoque vectorial para aspectos de visualizacin puede encontrarse en [Briones 98]. Actualmente se esta trabajando en un formato que nos ayudar a compartir datos heterogneos usando el standard de OPENGIS para la exportacin e importacin de los datos [Kottman 95]. En la figura 1 puede verse como los puntos, lneas y polgonos son utilizados para modelar el campus de la Universidad de las Amricas en Puebla.
6. Modelo SIGOO
Nuestro trabajo utiliza como plataforma un visualizador desarrollado en nuestro grupo [Briones 98] y se concentra en el modelado de objetos geomtricos del campus de la Universidad de las Amricas. La aportacin ms relevante de nuestro trabajo es la manipulacin de objetos geogrficos persistentes. El desarrollo de nuestro trabajo requiri en primera instancia la creacin de tipos abstractos de datos para los objetos geogrficos. Los tipos
abstractos de datos principales son: punto, lnea, polilnea y polgono. La Figura 2 muestra la jerarqua de clases que se maneja a nivel de la programacin. La jerarqua muestra como clase principal a vista, la cual es manejada como el nombre del proyecto, el cual est formado por varias capas. En el segundo nivel encontramos a la clase Capa, en la cual se manejan los distintos tipos de datos mencionados anteriormente, por ltimo en el tercer nivel encontramos a los tipos bsicos de datos.
6.1 Punto
Un punto est formado por coordenadas X,Y. La clase Punto maneja las coordenadas en variables x, y. 6.2 Lnea Una lnea esta formada por un par de puntos, es decir dos parejas de coordenadas X,Y. Por lo tanto la agregacin de puntos se ve reflejada en una lnea. La utilidad que nos aporta esta clase se debe a que pueden derivarse de ella otras ms especficas, las cuales tendrn atributos que nos proporcionen ms informacin de la que una lnea puede darnos, un ejemplo claro puede ser, que se utilice para la creacin de pasillos, la cual tendr como atributos: nombre del pasillo, edificio al que pertenece y sus medidas. 6.3 Polilnea Una polilnea est formada por dos o ms lneas, es decir por ms de dos pares de puntos. En sta clase se toma en cuenta este concepto, que contiene un conjunto de coordenadas X,Y, otro atributo adicional que es el nmero de puntos del que sta formada. As como en la Lnea, la polilnea es una agregacin de Lneas. Para tener una aportacin de informacin ms clara, la polilnea puede generar otra clase ms especfica por ejemplo, las carreteras, de las cuales obtenemos mayor informacin como puede ser: sentido de circulacin, nmero de carriles, destino al que lleva, y kilometraje por mencionar algunas. De sta forma teniendo nuestra clase bsica polilnea la cual al principio no nos remita informacin alguna, al realizar una subclase de ella se obtiene informacin adicional. 6.4 Polgono El polgono es parecido a una polilnea con la diferencia que sta figura es cerrada. Contiene un conjunto de coordenadas X,Y, adems de un atributo adicional el cual nos dir cuantos puntos son los que forman al polgono. De la misma forma que la lnea y la pollinea siendo clases bsicas no nos retribuye informacin. De esta manera, utilizamos la clase polgono para representar a los edificios en el campus de la UDLA, en una subclase. 6.5 Capa Se encuentra formada por una agregacin de un solo tipo de dato que puede ser: puntos o lneas o polilneas o polgonos. Bajo este esquema la capa de edificios estar formada nicamente por edificios. A su vez edificio es sub-clase de polgono. Lo mismo podramos decir para las
redes de agua potable, para las oficinas y cualquier otro objeto que sea componente del campus. Este tipo de organizacin nos permite clasificar los tipos de datos utilizados en una aplicacin geogrfica. 6.6 Vista Se encuentra formada por varias capas. Retomando el ejemplo anterior, ya tenemos dos capas, los edificios y la red la de agua potable. La clase vista nos permite saber cual de esas capas se encuentra activada, es decir puede ser vista por el usuario. Tambin permite aadir ms tipos de datos a cada capa, siempre y cuando sea el mismo del que esta compuesto dicha capa. Adems cuenta con un mtodo de interseccin el cual nos permite saber si entre capas del tipo linea, polilnea o polgono existen intersecciones y en el caso de haberlas se genera una nueva capa con aquellas lneas que se encuentran afectadas Se tomaron en cuenta entonces como tipos bsicos las lneas, puntos, polgonos y polilneas manejndolos en el concepto de figuras geomtricas. A continuacin describiremos como se organizaron estos tipos en una base de datos objeto/relacional.
Nombre
punto_t capa_t
Tipo Tabla
Si
Variables
Herencia Asociacin
x, y nombre, color, Si tipo capapunto_t Si x, y capa_t capalineas_t extremo1, Si extremo2 capa_t punto_t capapolilinea_t num, extremo1, Si extremo2 capa_t punto_t Vista nombre_vista, Si nombre_capa Capa Si nombre_capa,tipo Vista Tabla 1 Tipos y Tablas usadas en el sistema SIGOO
Con este tipo de datos ya podemos comenzar a generar nuestras tablas, las cuales podrn ser de estos tipos segn sean las necesidades que se requieran. Es importante mencionar que la capa polgono es almacenado como la estructura de una polilnea pero a diferencia de que esta figura ser cerrada. Las tablas son la estructura en la cual se encuentra almacenada la informacin de la base de datos. Por lo que las dos tablas con las que cuenta inicialmente el sistema son: vista en la cual se almacenaran el nombre de las capas existentes por cada proyecto. Esta clase cuenta con dos atributos que son nombre_vista y nombre_capa, como podemos verlo en Tabla 1. En el primer atributo se almacena el nombre del proyecto y en el segundo se almacena el nombre que se le di a cada capa generada por el usuario en el sistema.
La segunda tabla es capa la cual es un apoyo que nos permitir tener una administracin de las capas existentes y el tipo al que pertenecen cada una de ellas, lnea, punto, polilnea, polgono. En el momento en que el usuario pida abrir una capa o inserte una capa primero verifique si existe la tabla en capa y posteriormente recupere la informacin si es que esta existe.
8. Prototipo
Para probar los tipos modelados, supongamos que en la aplicacin se desarrolle un mapa que contenga la estructura del campus de la UDLA, y de ella se generen las capas que se muestran en la Tabla 2. Para cada capa podemos notar que asigna un tipo de dato. La figura 10 muestra un ejemplo de nuestra interfaz que maneja las capas presentadas en la Tabla 2.
Tabla 2
Las clases que implementan los tipos descritos fueron creadas en el lenguaje de programacin Java. Para la creacin de las estructuras que darn soporte para el almacenamiento persistente de las clases se dieron los siguientes pasos: Se cre la capa con el tipo de dato que contena (punto, lnea, polilnea o polgono) con el nombre dado por el usuario, que en este caso son Edificios, Circuito, Tomas de Agua y Pasillos. Posteriormente se insertaron los datos
A continuacin se muestra como fueron creadas las capas y su insercin a la base de datos.
create table Circuito of type capapolilineas_t; insert into Circuito values ('Circuito','java.awt.Color[r=0,g=0,b=0]','poligono',0, row(108,93)::punto_t, row(80,95)::punto_t); create table Edificios of type capapolilineas_t; insert into Edificios values ('Edificios','java.awt.Color[r=0,g=0,b=255]','poligono',0, row(58,69)::punto_t, row(79,70)::punto_t);
modelado presentado, lo que da como resultado que no se generen ms tablas de las necesarias. En comparacin con el modelo relacional la generacin de tablas depende de cuantas lneas, polilneas, polgonos y puntos contenga cada capa y por lo mismo el nmero de tuplas generadas. Lamentablemente todava no contamos con la tecnologa que nos permita manejar listas en la base de datos para guardar una coleccin de lneas y poder utilizarla para la generacin del tipo de capa polilnea o polgono, ya que para el manejo de listas en IUS se necesita programar en ESQL/C, que utiliza libreras de lenguaje C y el Data Blade. Como el lenguaje de programacin que se utiliz en el desarrollo de nuestro modelo fue Java, todava no hay una interoperatividad transparente entre ambos lenguajes. Las pruebas realizadas nos han permitido el manejo de objetos geogrficos en el contexto de una base de datos objeto/relacional. El uso de los estndares que estn en desarrollo permitirn confirmar los resultados de los experimentos desarrollados en el presente trabajo. Aspectos como la comparticin de datos geogrficos pueden ser favorecidos por el hecho de manejar un enfoque orientado a objetos en el contexto de la base de datos.
Nuestro modelo fue implantado usando una base de datos Objeto-Relacional como es el caso de Informix Universal Server (IUS) [Informix 97]. ste manejador nos permite adems la generacin de tipos que se adapten a las necesidades requeridas por el diseo del
9. Conclusiones
El objetivo de nuestro trabajo fue el manejo transparente de objetos geogrficos en una base de datos. Con este manejo transparente es posible administrar la persistencia de objetos geogrficos. Este manejo nos evit la creacin de rutinas de armado y desarmado de objetos al momento de la lectura o la escritura en la base de datos. Los tipos de datos abstractos de la base de datos son referenciados por las tablas de la base de datos y en el contexto de la aplicacin en Java son implementados por clases. Es importante sealar que los trabajos previos hicieron nfasis en el aspecto del modelado de objetos geogrficos a nivel programacin y que nuestro trabajo permite adems experimentar el aspecto del modelo de objetos geogrficos en el contexto de una base de datos. Con el manejo de objetos geogrficos se reduce el nmero de accesos, pues los objetos son recuperados de la base de datos y utilizados en el contexto de la aplicacin. El manejo de datos geogrficos como objetos nos permite manejar objetos portables. En el contexto de comparticin, interoperabilidad y exportacin de datos, nos parece que el manejo de objetos geogrficos persistentes es un paso que permitir llevar a cabo stas tareas. Con el uso del standard OPENGIS perimitir la comparticin de datos en forma heterognea de tal manera que la informacin sea portable y de fcil acceso. El uso de SIG ser explotado ms ampliamente y con ello una visin mas general de sta poderosa herramienta.
Addison-Wesley, United States of America, 1991. [Egenhofer 98] Egenhofer Max J., Frank Andrew U., Object-Oriented Modeling for GIS, URISA Journal, 1998. [Fernandes 99] Fernandes, Alvaro A. A., Paton, W. Norman, Howard Williams M., A Logical Query Language for an ObjectOriented Data Model, Department of Computing and Electrical Engineering, HeriotWatt University, Edinburgh, UK, Enero 1999. [Informix 97] Informix Software, Inc. Answer on line, http://ict2.udlap.mx/informix/, 1997. [Khoshafian 95] Khoshafian Setray, Abnous Razmik, Object Orientation, Segunda edicin, John Wiley & Suns, Inc,. United States of America, 1995. [Kottman 95] Kottman, Cliff, OpenGis, Open Gis Consortium, Inc., http://www.opengis.org, 1995. [Lpez 98] Lpez Ornelas, Erick de Jess, Modelacin de Informacin Espacial y Geogrfica, tesis para obtener el grado de Licenciatura en Ingeniera en Sistemas computacionales, UDLA, Mayo de 1998. [Manola 97et al] Manola, Frank, Sutherland, Jeff, SQL3 Object Model, http://www.objs.com/x3h7/sql3.html, 1997. [Posada 99] Posada Toledo, Nidia, Modelado de Datos Orientado a Objeto para un Sistema de Informacin Geogrfica, tesis para obtener el grado de Licenciatura en Ingeniera en Sistemas Computacionales, UDLA; Mayo de 1999. [Rambaugh 96 et. al] Rumbaugh James, Blaha Michael, Premerlani William, Eddy Frededick, Lorensen William, Modelado y diseo orientados a objetos, Prentice Hall, Espaa, 1996. [Vlez 96] Vlez Macas, Fabio., Introduccin a los Sistemas de informacin Geogrficos, Universidad de Antioquia Facultad de Ingeniera, Departamento de Ingeniera Sanitaria y Ambiental, http://quimbaya.udea.edu.co/~fabiovel/, Medelln, Septiembre de 1996.
10. Bibliografa
[Andrew 92] Andrew U. Frank, Max J. Egenhofer, Computer Cartography for GIS: an Object-Oriented view on the Display Transformation, Computer & Geociences Vol 18, No.8 pp 975-987, 1992. [Berard 96] Berard, Edward V. Basic Object-Oriented Concepts, http://www.toa.com/pub/html/oobasics/oobasics. html, 1996. [Briones 98] Briones del Ro, Juan Luis, Interfaz grfica para un Sistemas de Informacin Geogrfico, tesis para obtener el grado de Licenciatura en Ingeniera en Sistemas computacionales, UDLA, Diciembre de 1998. [Cattell 91] Cattell, Roderic Geoffrey Galton, Object Data Management: Object-Oriented and Extended Relational Database Systems,