6.2 Carga, almacenamiento y encapsulamiento de datos geoespaciales
6.2.3 Encapsulamiento de datos geoespaciales
El encapsulamiento de informaci´on geoespacial se efectuar´a de manera autom´atica e in- dependiente del usuario, es decir, despu´es de cargar los datos geoespaciales al sistema, el usuario no necesitar´a invocar ningun otro proceso en la plataforma para realizar el encapsulamiento.
El proceso de encapsulamiento ser´a efectuado con la ayuda de librer´ıas GDAL (Geospatial Data Abstraction Library) una vez que el contenido de los archivos Shape- file han sido almacenados en la base de datos.
Cuando la carga de informaci´on hacia la base de datos y el encapsulamiento finalicen, el usuario podr´a visualizar los datos encapuslados accediendo al listado de Shapefiles desde el men´u principal y posteriormente seleccionar que datos geoespaciales desea visualizar, ya sea GML o KML. Una vez hecho esto, se cargar´a el API correspondi- ente (Google Maps para visualizaci´on de archivos KML y Openlayers para visualizaci´on de archivos GML).
Visualizaci´on de archivos KML
Para la visualizaci´on de los datos encapsulados en formato KML, el Servicio de Ma- pas seleccionado fue Google Maps debido a que ´este, junto con Keyhole, fueron los principales desarrolladores de este formato. No obstante, debido a que KML fue ori- ginalmente desarrollado para compatibilidad con Google Earth, la visualizaci´on de este tipo de archivos en Google Maps presenta algunas restricciones que alteran la pre- sentaci´on de la informaci´on geoespacial y la interacci´on cliente/servidor. (e.g. la carga de informaci´on geoespacial podr´ıa hacerse de forma incompleta y se necesitar´ıa la uti-
lizaci´on de un parser externo1 para entornos de red local).
La carga y visualizaci´on de datos geoespaciales en formato KML se lleva a cabo dando click en el hiperv´ınculo “Visualizar KML”. Dado el consumo masivo de recursos y el tiempo de procesamiento que toma el despliegue de los datos geoespaciales KML en el mapa, se opt´o por alertar al usuario acerca del consumo de recursos de desplegar archivos KML con gran cantidad de geometr´ıas y atributos (Figura 27).
Figura 27. Alerta en visualizaci´on de archivos KML.
Al acceder al API de Google Maps las librer´ıas de GeoXML3 comenzar´an a re- alizar el parsing del archivo seleccionado para su visualizaci´on en el mapa. Dependiendo de la cantidad de geometr´ıas, as´ı como del n´umero de atributos relacionados con las mismas, el tiempo de carga variar´a.
1Debido a que el archivo KML debe ser obtenido por un servidor de Google para su carga en Google
Maps, ´estos deben estar alojados en un servidor en Internet (p´ublicamente accesible). Sin embargo,
dado que la implementaci´on y las pruebas se hicieron en un entorno local (en la red local de CICESE),
fue necesario utilizar unparser que fungiera como el servidor de Google e interpretara el contenido del
En la Figura 28 se muestra un conjunto de datos geoespaciales desplegado en Google Maps, el cual consta de 246 pol´ıgonos, cada uno de los cuales representa un pa´ıs (incluyendo sus respectivas islas y/o territorios no incorporados) y tiene ligados 11 atributos. Esto es, ser´an extra´ıdos 2706 registros mismos que ser´an visualizados en la Web como geometr´ıas (en Google Maps) y como texto HTML.
Figura 28. Visualizaci´on de archivos KML en Google Maps API.
El tama˜no y complejidad (nivel de detalle y cantidad de nodos de los vectores) de los archivos KML que se desean desplegar ser´an factores cruciales en el tiempo total de carga y visualizaci´on de los mismos en el mapa. En la Secci´on 6.4 se hace una comparativa de tiempos de carga y visualizaci´on entre archivos KML y GML (con la misma informaci´on geoespacial) en los Servidores de Mapas antes mencionados.
Visualizaci´on de archivos GML
En el caso de la informaci´on geoespacial encapsulada en formato GML, se opt´o por la utilizaci´on de Openlayers como Servidor de Mapas base. Openlayers es capaz de desplegar datos vector en diversos formatos. A diferencia del API de Google Maps, Openlayers es capaz de extraer y realizar el parsing de informaci´on geoespacial en en- tornos de red de alcance local (Redes de ´Area Local) y amplio (Redes de ´Area Amplia), por lo cual no es necesario el uso de librer´ıas externas para realizar el parsing. La Figura 29 muestra la visualizaci´on de un archivo GML en Openlayers.
Figura 29. Visualizaci´on de archivos GML en Openlayers API.
Este archivo cuenta con 32 pol´ıgonos que representan a cada uno de los estados de la Rep´ublica Mexicana y contienen 12 atributos con informaci´on tabular referente
al ´ındice de analfabetismo por entidad.
Otra de las bondades de Openlayers API es que proporciona la funci´on binaria “ExtractAttributes” que, cuando es declarada con valor verdadero, extraer´a los atri- butos de todas las geometr´ıas contenidas dentro del archivo. La implementaci´on de esta funci´on dentro de la plataforma fue manejada a trav´es de eventos del mouse:
• Hover. Este evento se activa cuando el cursor flota por encima del objeto (en este caso, la figura geom´etrica). Este evento dar´a lugar al despliegue de un objeto HTML el cual contendr´a la informaci´on tabular relacionada con la geometr´ıa sobre la cual se encuentre el cursor. Cuando el cursor sea retirado del ´area comprendida por dicha geometr´ıa, los atributos desaparecer´an.
• Click. Este evento es activado con el click primario del mouse. Al dar click sobre alg´una geometr´ıa, esta ser´a coloreada de color azul marino y sus atributos ser´an desplegados. La diferencia radica en que, aunque el cursor sea retirado de la geometr´ıa despu´es de dar click, los atributos permanecer´an visibles, como se muestra en la Figura 29).