jueves, 26 de octubre de 2017

MBTiles, un formato en auge.

Entre los nuevos formatos para representar mapas que van surgiendo con el tiempo, hoy queremos hablar de uno de los más usados últimamente y de cuyo nombre ya habréis oído: MBTiles. Vamos a intentar resumir en un artículo sus características y ventajas, así como dar un repaso a las posibilidades de manejo en aquellos programas que utilizamos con más frecuencia en Cartografía Digital.

¿Qué es el formato MBTiles?
Es un formato de archivo para contener conjuntos de imágenes (tilesets) bajo una estructura de base de datos SQLite. Dicho en lenguaje llano y seguramente inexacto, un archivo MBTiles agrupa de forma muy optimizada una colección de pequeños mosaicos, clasificándolas por sus coordenadas X Y Z de manera que podamos usar para un zoom determinado Z solamente aquellas imágenes que le corresponden de las coordenadas dadas. 
Estos conjuntos de mosaicos o tilesets pueden ser tanto ráster como vectoriales. Serán vectoriales cuando contengan datos en forma de puntos, líneas y polígonos, y ráster cuando contengan imágenes que son conjuntos de pixels y que son las que nos ocupan en este artículo.
Estructura de raster tileset. Imagen extraída de Avantgeo.
Las principales ventajas de esta estructura de archivo radican en el tamaño de su base de datos y la manera rápida y fluida de mostrar la información. Debido a ello el formato MBTiles fue inicialmente concebido para la web, donde una cartografía cortada en teselas y estructurada por niveles de zoom podía servirse con rapidez, mostrándose posteriormente también eficaz para el consumo de cartografía offline en dispositivos móviles ya que el conjunto de teselas queda almacenado en un solo archivo.
De un tiempo a esta parte van siendo más los programas o aplicaciones que permiten el uso de MBTiles, a veces simplemente visualizándolo, otras con la capacidad también de exportar en el propio formato. De hecho el propio Instituto Geográfico Nacional decidió, hace ya un par de años, elegir este formato para sus "mapas para móviles" en los que ofrece su cartografía topográfica. Y son cada vez más los softwares incluso de escritorio que se apuntan a poder trabajar con este formato.

Complemento QTiles de QGIS exportando MBTiles.
Os haremos un resumen de cada uno de los programas que habitualmente manejamos, para cuya prueba hemos utilizado precisamente uno de los mapas para móviles del IGN:
  • QGIS: el potente software SIG libre de escritorio abre perfectamente los archivos .mbtiles. También exporta de forma sencilla a través por ejemplo del magnífico complemento plagado de opciones QTiles.
  • Global Mapper: abre y exporta sin ningún problema archivos .mbtiles.
  • CompeGPS: ni abre ni exporta en este formato.
  • Google Earth: ni en su versión normal ni en la Pro maneja archivos .mbtiles.
  • BaseCamp: tampoco tiene ninguna capacidad de manejo de .mbtiles, aunque ciertamente no entra en su cometido.
Otros programas como QMapShack o gvSIG también parecer manejarlos con solvencia, pero no soy usuario habitual y no puedo daros más información. Podéis aportar aquellos softwares que conozcáis que menejen archivos MBTiles en la sección de comentarios y así tener una visión más global de con qué programas podemos afrontar con ciertas garantías su uso.

Mención aparte merecen aquellos programas que, sin abrir físicamente los archivos, si nos permiten exportar en formato MBTiles a partir de servicios de mapas WMS. En este aspecto los reyes indiscutibles del mercado son los impresionantes MOBAC (Mobile Atlas Creator) y SASPlanet (los mapas para móviles del IGN han sido creados con MOBAC). No diremos mucho más de ambos pues de ambos tenemos artículos en el blog que muestran el proceso de creación. También tenemos ya constancia en el blog de como este formato MBTiles es reconocido por aplicaciones móviles como OruxMapsMapas de España del IGN (Android) o MBTiles GPS en iOS, con lo que de una manera asombrosamente sencilla podemos tener en cuestión de minutos las cartografías más importantes del país que nos interesen en la palma de nuestra mano.

Previsible parece que el uso de este formato compacto y de un ligero ratio calidad/tamaño de archivo vaya extendiéndose cada vez más. A ello va a contribuir sin duda el ser un formato abierto y el poder ser leído fácilmente mediante librerías javascript como OpenLayer o Leaflet, líderes ambas en el ámbito de generación de mapas web, donde la proyección Mercator esférica (EPSG:3857), única soportada por el formato, es la dominante. Si además pensamos que un mapa MBTiles tiene capacidades multicapa para mostrar diferentes resoluciones-escalas de cartografía a diferentes niveles de zoom, y que el mismo archivo podría ser utilizado tanto en el software de escritorio como en la aplicación móvil, su futuro parece asegurado.

El desarrollador del formato MBTiles es MapBox, la versión estable actual es la 1.1, encontrándose en proceso la 1.2. Baste pues por hoy esta breve aproximación a uno de los formatos ráster de moda.
Gestor de exportación a MBTiles de SASPlanet.
Y como siempre nos gusta ejercitar la teoría con un caso práctico que nos sea de utilidad, en unos días elaboraremos un bonito mapa MBTiles que pondremos a descarga de todos en nuestra sección Mapa del Mes. Un saludo.

10 comentarios:

  1. Yo hago los MBTiles con TileMill. Se añaden capas (.shp, por ejemplo), se les dà estilo al gusto y yàtà.

    ResponderEliminar
    Respuestas
    1. Si, he oído hablar de ella y la voy a descargar y probar, pero habrá que tener en cuenta esto: "TileMill es una aplicación de escritorio para diseñar mapas. TileMill ya no está en desarrollo activo. Para nuestras herramientas de diseño de mapas más actualizadas, consulte y Mapbox Studio ." Ahí es ná... palabra de MapBox. Saludos!

      Eliminar
  2. Nunca me habia interesado por MapBox. Pero ya que lo has nombrado, le he echado un vistazo y tambien me gusta.
    Utiliza las CSS de Leaflet, luego ya tengo camino recorrido. Aunque yo veo que para el que no haya tenido
    contacto directo con HTML, CSS ·y Javascript, mejor es TileMill. Pero claro, solo es una apreciaciòn mia, que cada uno.......

    ResponderEliminar
    Respuestas
    1. Bueno, es muy distinto generar mbtiles desde un raster para raster, que generar tiles desde vectores para un mapa web por ejemplo. Efectivamente lo primero lo puede hacer cualquiera y lo segundo ya requiere un poco de indagación.

      Eliminar
  3. ¡O-òh! MapBox tambien es de pago. Pues siendo OpenLayers y LeafLet gratuitas, la decisiòn està clara.

    ResponderEliminar
  4. Qué otro software de escritorio recomiendan, que no sea SASPLANET?

    ResponderEliminar
    Respuestas
    1. En el artículo se mencionan todos aquellos que conocemos y sus posibilidades para trabajar con mbtiles. Tampoco hay mucho donde elegir...

      Eliminar
  5. Con el Global Mapper, pude compilar un mapa que le llevo 17hrs, de toda la Argentina (raster, shp), y pude cargarlos no solo al Oruxmaps, sino también al Locus Map. Aquí una consulta, al cargar un shape, en Global Mapper, como puedo evitar que las etiquetas duplicadas, me aparezcan, por el ejemplo, nombre de país, para Chile, porque al compilar me aparecen, para cada isla nombre de pías. Saludos

    ResponderEliminar
  6. hola. me interesa saber mas sobre los MBtiles, he estado exportando una imagen satelital en MBTiles, el asunto es que cuando lo cargo al cartodroid u otro dispositivo móvil aparece un cuadro blanco muy grande, como si fuera parte de la imagen, probe con el qgis pero el asunto es que es mas pesada la imagen y no se puede trabajar asi ya que en campo el personal tendrá que descargar la imagen y no podemos exigirles que gasten en exceso en descargar el raster

    ResponderEliminar
    Respuestas
    1. No conozco Cartodroid pero quizá puedas probar a hacer imágenes más pequeñas en tamaño. Muchas veces el equilibrio entre tamaño de archivo, resolución y área cubierta es el punto más complejo de encontrar.

      Eliminar