Tomado de Cocinando bytes
El pasado sábado presenté una conferencia en el FLISOL sobre una idea surgida del grupo de coordinadores de GUTL como parte de una estrategia de identificación y desarrollo de proyectos que fueran útiles para la población en general que le permitiera a la comunidad de software libre lograr mayor reconocimiento en la sociedad y a la misma vez le sirviera a GUTL para fomentar el desarrollo colaborativo y como base para la realización de sus actividades de capacitación.
Entre varias de las ideas propuestas se encontraba el desarrollo de una aplicación que brindara información sobre el transporte: rutas existentes, sus recorridos, paradas, etc.
Dado que desde hace tiempo he venido trabajando el tema de los sistemas de información geográficos y que como parte del desarrollo de AlaMesa y otras aplicaciones tenía experiencia en el desarrollo de aplicaciones móviles, la idea me atrapó y me integré a su desarrollo. El resultado fue SIRU (Sistema de Información de Rutas Urbanas), una aplicación móvil que tiene como objetivo brindar información sobre las rutas de transporte y su visualización geográfica, de manera que permita dar respuesta a los siguientes casos de usos:
- ¿Cuáles son las rutas existentes?
- ¿Cuáles son sus recorridos?
- ¿Qué parada me queda más cerca de donde estoy?
- ¿Qué combinaciones de rutas debo coger para llegar de un punto a otro?
El lector experimentado rápidamente se dará cuenta de que SIRU no constituye una innovación desde el punto de vista tecnológico dada la existencia de varios proyectos similares. Por solo enumerar algunos de los “internacionales” tenemos:
- Osmand: Excelente aplicación de mapas que recomiendo a todos
- Google Transit: Cuenta con versión web y móvil
- OpenStreetMap (OSM): Referencia indispensable cuando de información geográfica se trata
- Open Source Routing Machine (OSRM): Librerías y programas para el cálculo de rutas
Algunos de estos proyectos lamentablemente requieren de conectividad para su uso y en el caso de aquellos que trabajan desconectados o no contienen la información sobre las rutas de transporte en Cuba o la misma se encuentra desactualizada.
En lo referente a las aplicaciones “del patio”, encontramos las siguientes:
- P-Bus: Aplicación muy simple y solo disponible para FirefoxOS, básicamente solo muestra las imágenes sobre las líneas de metrobús que están disponibles en el portal del ministerio del transporte.
- Andariego: Esta aplicación desarrollada por Geocuba aunque tiene información sobre las paradas las mismas se encuentran desactualizadas, en el caso del cálculo de rutas, la opción de uso del transporte público no está disponible.
- MapaDCuba: Aplicación para android disponible en Entumovil.cu, no me fue posible probarla pero por los detalles disponibles en el sitio me da la impresión que el cálculo de rutas no incluye la opción de usar el transporte público.
Teniendo esto en cuenta se consideró que el desarrollo de SIRU contribuiría realmente a dar solución a una necesidad no cubierta actualmente y que por tanto no sería una “reinvención de la rueda”.
Desde un principio comprendimos que un proyecto de este tipo para ser verdaderamente útil requiere de la inclusión de información lo más extensa posible y de una actualización continua y en tiempo, de ahí que el modelo que se propone para la recopilación y mantenimiento de los datos esté basado en la colaboración de todos los interesados.
Dicho de otra manera, SIRU pretende ser una aplicación de la comunidad y para la comunidad, brindando las herramientas para que todos aquellos que lo deseen aporten en la geolocalización de las paradas, los recorridos, en la información de las rutas, etc.
De esta manera el proyecto estaría compuesto por:
- Aplicación móvil para Android que usaría como mapa base los proporcionados por OpenStreetMap y la información recopilada de manera colaborativa.
- Editor de datos, consistente en una aplicación que permita introducir, editar y exportar los datos por todos los interesados en colaborar en el proyecto
- Aplicación web en el caso que se lograra contar con el apoyo de alguna institución para hospedarlo en la intranet cubana.
Para los datos iniciales recurrí a OpenStreetMap, que de todos los considerados, era el que más información contenía. Desafortunadamente la misma se encontraba en un formato que no permitía su uso directo, aunque fue de gran ayuda como referencia inicial.
Un amigo me hizo llegar información sobre los recorridos y las direcciones de las paradas de los P que fue lo que usé para manualmente geolocalizar los puntos de transporte y de cierta manera validar el editor de datos desarrollado para ello:
Una vez que pude contar con esta información desarrollé una prueba de concepto muy básica de la aplicación, la cual permite hoy en día listar los recorridos:
ver sus detalles:
ver un mapa global de las paradas:
y ver un mapa de un recorrido en particular:
las funcionalidades relacionadas con el cálculo de rutas, a pesar de que pude comprobar manualmente que funcionaban no tuve el tiempo para integrarlas al editor y la aplicación.
Como pueden ver, SIRU al día de hoy es mucho más que una idea, pero que aún necesita trabajar en ella para ofrecer un producto que pueda ser usado por el ciudadano común. Entre las habilidades principales que se requieren están:
- Diseñadores gráficos: Necesitamos crear un logotipo y mejorar las interfaces de la aplicación en cada una de sus versiones, de manera que el producto sea usable y atractivo.
- Entrada de datos: De las 17 rutas de Metrobús existentes actualmente yo sólo uso con regularidad 1 de ellas por lo que es posible que los datos usados actualmente de pruebas no sean correctos. También falta la información de los ómnibus urbanos (222, 174, 27, etc)
Si alguien está interesado en colaborar con el proyecto me puede contactar a través del correo ali@infomed.sld.cu.
Dado que el tiempo para mi conferencia sólo era de 10 minutos no incluí en ella los detalles técnicos de como se realizó la aplicación, algo que trataré de ir haciendo en este espacio cada semana.
A los interesados les recomiendo la lectura de mis artículos anteriores sobre como configurar un entorno de desarrollo con Android sin necesidad de conexión y como crear un servidor local de OpenStreetMap para que puedan probar y modificar por sí mismos.
Actualización: Dado el interés pongo la aplicación que llevé al FLISOL para que la descargen. Deben copiar habana.map y siru.db en /mnt/sdcard. Hago la aclaración de que esta es una versión bien cruda, con limitaciones importantes como son:
- El camino a los ficheros está prefijado
- El mapa solo es de la habana y no muestra las zonas maritimas
- En la vista del mapa de un recorrido al virar hacia atras usando el indicador del AB da error, solo puede hacerse con el botón del sistema
- Los datos es muy probable que contengan errores de geolocalización
Genial, sencillamente genial, muy bien hecho por ti. La estuve probando y funciono todo bien. No se casi nada de Android ni de mapas pero si te puedo ayudar en algo me puede escribir. Muchas gracias por la aplicación.
Como puedo obtener esa aplicación para instalarla en mi movil, donde la descargo.