«

»

sep 06 2012

Tiles bloqueados en OpenStreetMap

En posts anteriores os contábamos como implementar mapas offline en nuestras apps para Android gracias a la librería OSMDROID y os contábamos como gracias a Mobile Atlas Creator (MOBAC) la tarea de descarga de estos mapas offline se nos hacía muy sencilla. Pero no es oro todo lo que reluce y después de varias pruebas descubrimos la realidad:

 

 

Aunque el uso de los mapas de OpenStreetMap es libre no pasa lo mismo con el uso de los servidores que los proporcionan. Al ser libres y gratuitos openstreetmap.org tiene una clara política de uso de estos servidores en pos de prevenir el abuso de uso de los mismos, política que sin incumplimos respercutirá en la descarga de tiles con la imagen que mostramos en vez de la imagen de mapa. Y esto es precisamente lo que ha pasado con MOBAC que ya está en la lista negra de openstreetmap.org.

 

Como alternativa OSMDROID nos proporciona osmdroid-packager, una pequeña apliación de ejecución por consola que nos permitirá descargar nuestros mapas. Para uso empezaremos con descargarnos los siguientes cuatro ficheros y colocarlos todos en una misma carpeta:

 

osmdroid-packager-3.0.8.jar (27,07 kb)

osmdroid-android-3.0.8.jar (262,11 kb)

slf4j-android-1.5.8.jar (28,15 kb)

sqlitejdbc-v056.jar (2,56 mb)

 

Una vez lo tenemos listo bastará con ejecutar el siguiente comando por consola desde la ruta de los ficheros indicandole el nombre de fichero, nivel de zoom máximo y las coordenadas de la zona mapa a descargar:

 

set classpath=osmdroid-android-3.0.8.jar;osmdroid-packager-3.0.8.jar;slf4j-android-1.5.8.jar;sqlitejdbc-v056.jar
java org.osmdroid.mtp.OSMMapTilePackager -u http://tile.openstreetmap.org/%d/%d/%d.png -t Mapnik -d nombrefichero.zip -zmax 16 -n 52.4244 -s 52.3388 -e 4.6746 -w 4.5949

 

NOTA: En nuestras pruebas hemos detectado que la compresión final de fichero no funcionaba de manera correcta, así que justo en el momento que os pregunta si borrar los archivos temporales debéis responder que no y comprimir vosotros mismos manualmente la carpeta generada. No olvidéis borrar esta carpeta después de cada descargar pues si no en ella se os irán acumulando los mapas descargados y los ficheros generados serán cada vez de mayor tamaño. Otro punto a tener en cuenta es no superar el nivel 16 de zoom máximo pues a partir del 17 el uso debe ser consultado directamente con los administradores de openstreetmap.org.

 

vía | Ingens Blog

 

Acerca del autor

JMPergar

Mobile Developer at @BeRepublic & Founder of @AndroCode. Silver Speaker & Member of Core Team at @GDGBarcelona.