GvSIG Mini

Revisión del 10:51 21 sep 2011 de Hilda062414 (discusión | contribuciones) (Análisis de la aplicación)
gvSIG Mini
Información sobre la plantilla
Parte de la familia gvSIG
220 × 118 píxeles
gvSIG Mini es un visor de mapas para teléfonos móviles que visualiza servicios de mapas basados en tiles (teselas).
CreadorProdevelop SL.
LicenciaGNU-GPL
Sitio web
http://www.gvsig.com/productos/gvsig-mini

gvSIG Mini es una aplicación open-source(codigo abierto) de usuario final cliente móvil de Infraestructura de Datos Espaciales IDEs con licencia GNU/ GPL.

Resumen

Diseñada para teléfonos móviles Java y Android que permite la visualización y navegación sobre cartografía digital estructurada en tiles procedente de servicios web OGC como WMS(-C) y de servicios como OpenStreetMap (OSM), Yahoo Maps, Maps Bing, así como el almacenamiento en caché para reducir al mínimo el ancho de banda. gvSIG Mini puede acceder a servicios geoespaciales como NameFinder, para la búsqueda de puntos de interés y YOURS (Yet Another OpenStreetMap Routing Service) para el cálculo de rutas y la renderización de la información vectorial el lado del cliente. Por otra parte, gvSIG Mini también ofrece servicio de localización GPS. gvSIG Mini es una aplicación que puede ser descargada y usada libremente, convirtiéndose en una plataforma para el desarrollo de nuevas soluciones y aplicaciones en el campo de Location Based Services(LBS). gvSIG Mini ha sido desarrollado por Prodevelop, S.L. No es un proyecto oficial de gvSIG, pero se une a la familia a través del catálogo de extensiones no oficiales de gvSIG.

gvSIG Mini para Java

Permite ver y navegar utilizando cartografía digital estructurada en tiles procedente de servicios web OGC como WMS y de servicios como OpenStreetMap (OSM), Yahoo Maps, Maps Bing(anteriormente MSN Live Maps), así como el almacenamiento en caché para reducir al mínimo el ancho de banda. Para ello, se ha desarrollado la extensión Phone Cache que funciona sobre gvSIG 1.1.2 y permite generar una caché, para poder utilizar gvSIG Mini para Java en modo desconectado.

gvSIG Mini para Android

Dada la tendencia de crecimiento muy rápido de teléfonos móviles que funcionan con sistema operativo Android, y las previsiones futuras de cuota de mercado, también se decidió desarrollar una versión para este sistema operativo. Esta versión posee algunas características adicionales como son el soporte de localización Android (que cuenta con GPS y localización basada en células, cell-based location) o la integración con otras características de Android como son la predicción del tiempo o TweetMe que permite compartir una localización utilizando el popular servicio social Twitter.

Análisis de la aplicación

gvSIG Mini tiene como objetivo principal ofrecer servicios básicos de localización completando dos huecos que deja gvSIG Mobile:

  • Los actores principales son usuarios no exclusivamente profesionales y por lo tanto las funcionalidades deben ser las esperadas por éstos.
  • Funcionamiento en la mayoría de los teléfonos móviles.

El análisis inicial de gvSIG Mini incluye algunos usos básicos de la aplicación, siendo los casos casos iniciales los expuestos a continuación:

  • Navegación sobre el mapa: El usuario podrá visualizar el mapa y moverse por él según cuatro direcciones (arriba, abajo, derecha e izquierda) además de poder ejecutar el zoom más y el zoom menos.
  • Gestión de capas (añadir/borrar capas): El usuario podrá pedir nuevas capas a un servicio de de mapas WMS a través de la operación GetCapabilities y posteriormente visualizar las mismas.
  • Gestión básica de puntos de ruta (añadir/borrar puntos de ruta): El usuario podrá añadir y borrar puntos de una ruta.
  • Localización interna GPS: El usuario podrá obtener su posición a través del GPS interno del teléfono
  • Cliente Name Finder: El usuario podrá encontrar direcciones y puntos de interés y mostrarlos sobre el mapa.
  • Cliente de rutas: Una vez que el usuario define dos puntos una rutas podrá calcular la ruta y mostrarla sobre el mapa.

Arquitectura y Diseño de la Aplicación

Las decisiones de arquitectura y diseño más reseñables son:

  • Visualizador de mapas con arquitectura multi-hilo
  • Uso de la librería LWUIT para la interfaz de usuario (versión Java)
  • Uso del estándar JSR-179 para el acceso al GPS (versión Java)
  • Uso del servicio NameFinder para la búsqueda de direcciones y POIs
  • Uso del servicio YOURS para el cálculo de rutas
  • Greeking y eliminación del área no visible para el pintado de las rutas
  • Caché agresiva. No se pide el mismo tile dos veces
  • Estructura física de caché en forma de quadtree

Visualización de Mapas

Para la visualización de los mapas se utilizaron los servicios remotos WMS, WMS-C, Yahoo Maps, Bing y OSM. Para que la sensación del usuario sea de rapidez, se ha utilizado un sistema basado en tiles (teselas), que consiste en dividir la pantalla en una malla (o grid) de tiles de 256 x 256 píxeles, cada uno de los cuales contiene una imagen solicitada al servicio remoto. Los tiles recibidos se componen en local para configurar la imagen mostrada al usuario, obteniendo de este modo las siguientes ventajas:

  • Se realizan peticiones en paralelo al servidor, mejorándose la respuesta media, ya que cada tile se muestra en pantalla conforme se va recibiendo, con lo que la percepción del usuario mejora mucho. Es decir, el usuario no tiene que esperar a recibir toda la información para ver el mapa.
  • Se dispone de una cierta capacidad de caché local en forma de buffer alrededor de la zona visualizada, que mejora el desplazamiento (pan) por el mapa.
  • Se permite acceder a servidores con la información ya “tileada” y “cacheada”, es decir, con las imágenes correspondientes a todos los tiles ya generadas y almacenadas en disco. Esto permite acelerar enormemente el acceso remoto a los mapas.

Soporte de localización

La tarea de localización mediante GPS se ejecuta en otro hilo adicional para evitar el bloqueo de la interfaz de usuario. Cada vez que una nueva posición es obtenida, se convierte desde WGS84 al SRS del mapa. Para realizar la conversión de coordenadas se utilizan algunas clases de gvSIG Mobile. Para ejecutar algunas operaciones matemáticas en coma flotante no disponibles en CLDC (exp, atan) se utiliza la clase clase Float11. Para obtener la posición del GPS se utilizará el estándar JSR-179.

Diseño de la interfaz

Para la construcción de la interface de usuario se utilizó Lightweight UI Toolkit licenciado como GPL, que es un framework desarrollado por Sun, para la creación de interfaces de usuario que se comporten igual en todos los dispositivos, de forma análoga a Swing en Java SE.

Búsqueda de direcciones y puntos de interés

NameFinder es un servicio que permite buscar nombres y elementos relacionados (como números de calle) en las bases de datos de OpenStreetMap. Permite realizar búsquedas sobre cualquier elemento en las bases de datos de OSM que tenga nombre, incluyendo la posibilidad de buscar solo cerca de una localización dada.gvSIG Mini interroga a NameFinder mediante una petición HTTP GET y obtiene los resultados en forma de XML que parsea y muestra al usuario tanto en forma de lista,como mediante iconos sobre el mapa.

Cálculo de rutas mediante YOURS

YOURS (Yet Another Route Map Service) es un servicio que permite calcular rutas entre dos puntos utilizando las bases de datos de OpenStreetMap. Permite calcular las rutas más rápidas o más cortas tanto para peatones como ciclistas y automóviles. Al igual que NameFinder se interroga mediante HTTP GET, pero en este caso devuelve la ruta como un archivo KML.

Fuentes

Enlaces Relacionados