Abstracción de funciones GIS para clientes ligeros mediante uso de APIs universales

Las aplicaciones Web desarrolladas alrededor de plataformas de cartografía web se han popularizado recientemente y diversos proveedores comerciales se disputan este mercado, con el inconveniente de que cada uno de ellos propone un API (Application Programming Interface) propio. Dada la gran heterogeneidad de APIs de Mapas existente, parece conveniente contar con una librería capaz de abstraer al desarrollador de las pequeñas diferencias entre ellas. Este es el objetivo de la librería Javascript de código abierto Mapstraction. Este tipo de API recibe el nombre de «API Universal y Políglota». Aunque el objetivo original fue integrar los diferentes clientes de mapas en una librería, esta aproximación permite implementar nuevas funcionalidades genéricas que los mapas de forma nativa no proporcionan.

Introducción

El mundo de la web está cambiando. El concepto de las páginas web estáticas ha quedado atrás para dar paso a lo que se conoce como Web 2.0, en la que el protagonismo del usuario es mucho mayor [1] , en el que se integra la visualización imágenes subidas por parte del usuario con la geolocalización de las mismas en un mapa interactivo.

La situación actual del campo

En esta sección se pretende mostrar el estado de la técnica en primer lugar de los clientes de mapas en general para después adentrarse en el mundo de las APIs universales y políglotas. Este concepto de API universal y políglota es de nueva acuñación y está estrechamente relacionado con la neogeografía y su concepto de alta usabilidad.

 

El término neogeografía viene a definir aquellas herramientas y técnicas geográficas utilizadas para realizar actividades personales o por un grupo de usuarios no expertos en el análisis geográfico, ya que su fin inicial es el uso informal y no analítico. Es una expresión, en su más reciente sentido, que deriva del nuevo uso que se está dando a cartografía en Internet por parte de usuarios masivos. Esta nueva geografía es el resultado de la libertad de acceso a la georreferenciación de lugares, la geoetiquetación de contenidos, la fácil integración de recursos en entornos web mediante el uso de APIs y la utilización cada vez más cotidiana de GPS y de aparatos de posicionamiento (teléfonos móviles, PDAs, navegadores) en la vida cotidiana.
Al albor de esta tendencia de la generación de mashups basados en mapas han surgido gran cantidad de clientes ligeros incrustables en cualquier web que han entablado una feroz batalla para hacerse cada uno de ellos con un hueco en el mercado en función de los servicios que deseen ofrecer. Sin embargo, la mayoría de los creadores de mashups, suelen optar por la solución más fácil y utilizan el API de Google Maps[2], que es de gran calidad y ofrece multitud de servicios, pero que no es la única, y tampoco la mejor para poder utilizarse en todos los casos. Algunos ejemplos de las diferentes alternativas existentes se muestran a continuación:
  • FreeEarth
  • Google
  • Map24
  • MapQuest
  • Microsoft
  • MultiMap 
  • OpenLayers
  • OpenSpace
  • OpenStreetMap
  • ViaMichelin
  • Yahoo
Mapstraction en su versión original estaba muy limitada porque su arquitectura era bastante inmadura y resultaba tediosa la colaboración con el proyecto [3]. Por el momento no hay una release estable de la nueva versión refactorizada, pero se pueden descargar las versiones que hay en el repositorio de la librería, así como colabrar integrando nuevos clientes de mapas que hasta ahora no están incluidos en la librería o añadiendo funcionalidades GIS que por el momento no se incluyen, pero que sería interesante incluir dentro de la librería.
De esta forma, ya se comienza a vislumbrar una nueva manera de generar mashups de mapas independientes del tipo de mapa que se desee, lo que dará una nueva visión de este campo y fomentará la utilización de otros clientes además de los más habituales.

La ubicación del campo

En esta sección se encuadra el tema de investigación tanto dentro del máster como dentro de los grupos de investigación de la Universidad de Valladolid.
Dentro de la especialidad de Ingeniería de Sistemas Telemáticos (IST), este campo se puede encuadrar entre las asignaturas del primer cuatrimestre, y por lo tanto, de las que se tiene conocimiento de primera mano dentro de Tecnologías emergentes en sistemas telemáticos (TES)[4]. Este Proyecto fue llevado a cabo con la colaboración del Instituto Geográfico Nacional[5] (IGN) y la plataforma Infraestructura de Datos Espaciales de España[6] (IDEE) que tiene como objetivo integrar la información de tipo geográfico que se produzca en España según los estándares del OGC y facilitar el acceso a la misma a todos los ciudadanos.
Otro proyecto de mayor envergadura es el de la creación de la librería IDELab MapstractionInteractive.

La importancia dentro del estado de la técnica

A la hora de calcular la importancia dentro del estado de la técnica de este tipo de APIs, es conveniente recalcar que éstas tan sólo son una pequeña parte de todas las iniciativas existentes dentro del mundo del GIS (Geographic Information Systems) y la neogeografía.

La neogeografía no son sólo los datos y las aplicaciones para hacer páginas web vistosas. Es también una comunidad de usuarios y desarrolladores que están aportando nuevas ideas continuamente, proponiendo nuevos estándares y herramientas y generando nuevas alternativas para los usuarios.
Esta comunidad, cada día más numerosa tiene varios foros propios en los que intercambiar opiniones y decidir por sí misma cuál será el rumbo que deban tomar en el futuro para plantear nuevas preguntas de investigación. Los más importantes pueden ser los siguientes [ref lib neogeography]:
·         OSGeo[7]: La Open Source Geospatial Foundation fomenta y da soporte a tecnologías y datos geoespaciales.
·         OGC[8]: El Open Geospatial Consortium es la organización que lidera el desarrollo de estandars para los servicios geoespaciales.
·         Where 2.0[9], Location Intelligence[10], FOSS4G[11]: Las conferencias internacionales más importantes dentro de esta temática.
Las APIs sobre las que se centra este estudio buscan la integración de la gran cantidad de APIs existentes para poder consolidar un API universal con la que cualquier usuario pueda crear cualquier mapa que desee utilizando un mismo API. También se desea integrar dentro de este API funciones GIS proporcionadas por los organismos estandarizadores, pero que los desarrolladores de los diferentes clientes de mapas todavía no han implementado dentro de sus APIs propias.

Futuro trabajo

En esta sección se van a tratar de definir cuáles son los próximos retos que se presentan dentro del campo de las APIs universales y políglotas. En este documento se muestran los retos genéricos focalizados en el API de Mapstraction.
El principal reto de Mapstraction es seguir atrayendo la atención de los desarrolladores de mashups de mapas. Haciendo que su uso sea cada vez más generalizado, será más sencillo que la comunidad adopte esta librería como la básica para la construcción de estos mashups. Los desarrolladores que utilicen clientes que todavía no estén incluidos en la librería tratarán de incluirlos para no quedarse fuera de esta iniciativa y la librería aumentará su universalidad.
Otro reto que se le presenta a Mapstraction es el de los globos virtuales. Estas visualizaciones son más espectaculares que los mapas tradicionales y con ellas se puede tener una visualización mucho más exacta de la orografía del terreno. Sin embargo tienen más parámetros a gestionar y más casos de uso por definir, y con el API actual de Mapstraction no se pueden controlar todos ellos. Aunque se están realizando intentos para integrar globos virtuales dentro de Mapstraction, éstos tienen funcionalidades muy básicas y no se aprovecha toda su potencia. Añadir éstas nuevas funcionalidades específicas para integrar completamente los globos virtuales dentro de Mapstraction es un reto muy interesante.
Además de la integración de nuevos clientes de mapas y el reto de los globos virtuales, otro reto que se plantea es la integración dentro de la librería de funcionalidades genéricas GIS para hacer que los desarrolladores puedan utilizar formatos estandarizados para poder hacer transparente la unión entre la librería y las fuentes de datos estandarizados. En este sentido se han hecho algunos avances, como puede ser la utilización de formatos GeoJSON[12] tanto para añadir nuevas geometrías a los mapas como para extraer la información de las que hay en los mapas. Sin embargo, todavía quedan varias deficiencias que cubrir en este sentido.
Finalmente, para una mejor integración de Mapstraction dentro de las páginas web en las que se vaya a mostrar, convendría presentar los mapas de la librería integrados dentro de un componente, como sucede en las alternativas de GeoExt[13] o GeoMajas[14]. Para llevar a cabo este trabajo, se contempla utilizar la alternativa del Google Web Toolkit (GWT)[15]                                        

Conclusiones

Las principales conclusiones que se pueden extraer de este breve estudio del estado de la técnica es que el campo de la neogeografía está en un momento de ferviente desarrollo e investigación, como demuestran las numerosas alternativas existentes para poder incluir mashups de mapas en una página web. La aparición de tantas alternativas y tan dispares, puede hacer que los desarrolladores se saturen y decidan centrarse en desarrollar sus aplicaciones utilizando una de ellas. En este contexto las APIs universales y políglotas, como la de Mapstraction ofrecen una alternativa muy útil, ya que abstraen al desarrollador del cliente de mapas utilizado, pudiendo probar diferentes alternativas sin necesidad de variar el código de la aplicación.

También se intenta que Mapstraction se convierta en un referente por su orientación no sólo a conseguir la transparencia en cuanto al cliente de mapas utilizado por el desarrollador, sino en cuanto a que busca lograr la transparencia entre los formatos de las fuentes de datos espaciales estandarizadas y los propios da cada uno de los proveedores.
 
El proceso de creación de un API universal y políglota es una tarea de investigación no resuelta como puede ser el desarrollo de ontologías en otras áreas científicas o tecnológicas, lo que hace que sea una vía de investigación atractiva. El hecho de que esta iniciativa esté incluida dentro de un proyecto OpenSource invita a que muchos desarrolladoresinteresados la puedan probar y dar realimentación para los desarrolladores, así como unirse y colaborar incluyendo nuevos proveedores o funcionalidades.
 
 
Documento recibido el 28 de Enero de 2010
Pablo López es estudiante del Máster Universitario de investigación en Tecnologías de la Información y las Comunicaciones

Referencias