lunes, 6 de noviembre de 2017

De SASPlanet a MOBAC: mapas offline.

Hay que ver lo que aprende uno casi sin querer y trasteando... Hasta hoy mismo yo pensaba que MOBAC sólo abría mapas online provenientes de servidores de mapas, de semejante manera a como hace también SASPlanet. Gracias a un comentario por los foros acerca del mapa TopoEH he descubierto la manera de cargar en MOBAC archivos de mapas offline para luego poder exportarlos a cualquiera de los variados formatos que permite el programa (algo que debe llevar bastante tiempo inventado y yo sin enterarme). En el fondo no deja de ser un proceso variante y similar del que ya explicamos cuando hablamos de cómo aprovechar la caché de imágenes de SASPlanet en MOBAC, sólo que esta vez cargando un archivo único en lugar de un directorio con todas las pequeñas imágenes.
De esta forma podemos unir una vez más estos dos magníficos programas y aprovechar indistintamente las diferentes fuentes de mapas que tengamos en cada uno de ellos, combinando las posibilidades de mejor manera. Un ejemplo claro que se me ocurre: si tengo una cartografía configurada en SASPlanet que NO tengo en MOBAC (y yo tengo muchas de esas), podemos elaborar desde el primero el mapa offline para luego abrirlo en el segundo y poder exportarlo, por ejemplo, al formato RMAP de TwoNav en el que SASPlanet no puede exportar. Cierto es también que si tenemos la fuente en SASPlanet debería poder configurarse igualmente para verse en MOBAC, pero yo no he dedicado mucho tiempo a las mapsources de MOBAC y si más a las de SASPlanet, por lo que este sistema me viene de maravilla. Ahora me queda la terrible duda de si en SASPlanet podrán configurarse de alguna forma los parámetros del mapa para poder hacer algo parecido y engañar al programa para cargar un archivo offline... Qué sinvivir...

De momento, vamos con el proceso detallado:

1.- Crear desde SASPlanet un mapa RMaps (SQLite 3).
No se si MOBAC será capaz de cargar otros formatos, pero lo que es indudable es que con este formato SQLite la cosa funciona. Así pues creamos el mapa en SASPlanet de la forma habitual y lo exportamos en el mencionado formato; en nuestro ejemplo, y dado que SASPlanet permite exportar al archivo también las capas superpuestas, hemos elegido la orto PNOA con la capa base del IGN para ortofoto. Una pequeña área sobre la ciudad de Huesca a los zooms 16, 17 y 18.
Captura de SASPlanet mostrando los mapas activos en el área elegida y la ventana de exportación preparada para crear nuestro archivo .sqlitedb.
Ya tenemos nuestro mapa Huesca_orto.sqlitedb al que enlazo para descarga por si queréis seguir el ejercicio desde este punto (6,7 megas). Voy a pegarlo en la propia carpeta de fuentes de MOBAC de mi PC, que en este caso es C:\Program Files\MOBAC\mapsources (si tuvierais muchos o grandes mapas de este tipo podéis considerar hacer un directorio para ellos y así tenerlos agrupados).

2.- Crear el archivo XML para MOBAC mapsources.
Ahora debemos crear el pequeño archivo de texto en formato XML que hace de fuente de mapa llamando al archivo SQLite. En el mismo bloc de notas de Windows creamos un nuevo documento con el siguiente contenido:
En amarillo nombre con el que el mapa se nos va a mostrar en la lista de mapas de MOBAC. En verde la ruta completa a la ubicación del archivo SQLite imagen del mapa.
En rojo nombre identificativo con el que hemos guardado el XML.
Guardamos el documento y LO RENOMBRAMOS CAMBIANDO LA EXTENSIÓN .TXT POR .XML. Lo colocamos en la carpeta mapsources de MOBAC que es donde están las fuentes de mapa por defecto del programa. Este archivo Huesca_orto.xml también os lo enlazo para descarga por si queréis usarlo para esta práctica.
Ahora, con los dos archivos juntos en la carpeta mapsources de MOBAC, sólo nos resta arrancar el programa y comprobar que todo ha ido bien:
El mapa se muestra correctamente en nuestra lista de mapas y representa a la perfección
los tres niveles de zoom disponibles con los que fue creado en SASPlanet (15, 16 y 17 en la escala de MOBAC).
A partir de aquí ya podemos exportar desde MOBAC a alguno de los múltiples formatos que nos permite el programa, siguiendo el proceso básico que ya explicamos en su día y podéis recordar en el vídeo de nuestro canal YouTube.

Esto es todo. Un útil apaño para aquellos casos en que se nos resista la configuración de un servicio WMS en MOBAC pero en cambio lo tengamos bien añadido en SASPlanet y necesitemos exportarlo a un formato en el que SASPlanet no trabaje (RMAP para TwoNav/Compe, SQLITEDB para Orux con varias cartografías). Jugando de esta forma con ambos softwares son pocas las posibilidades que quedan fuera de nuestro alcance. Saludos!!

10 comentarios:

  1. Hola Javi, sigo todos los pasos, pero en cuanto aumento el zoom se me va a negro y mira que le estoy dando vueltas.

    ResponderEliminar
    Respuestas
    1. Hola Jesús... Lo haces con los archivos que colgué de ejemplo? Hablas de ampliar zoom en MOBAC? Si es así solo tienen tres zooms como ves en el artículo... A ver si pillo el problema porque a mí me fue perfecto...

      Eliminar
  2. Con tus archivos sin problema, los 3 zooms correctamente, pero lo que digo anteriormente, si subo el zoom en Mobac a negro y mira que parece sencillo.

    saludos

    ResponderEliminar
    Respuestas
    1. Pues si mis archivos te van bien tiene toda la pinta de que algo está mal al hacer el sqlite en SASPlanet... que no descargas bien algún nivel de zoom o algo y por eso te sale en negro...

      Eliminar
  3. Seguiremos probando, he bajado la última versión de sasplanet, no queda otra.

    Gracias por tu labor, impagable

    ResponderEliminar
  4. Con Google sin problemas, es el Pnoa el que me genera problemas.

    saludos

    ResponderEliminar
    Respuestas
    1. Pues no le veo ningún sentido... El mío está hecho con PNOA. A no ser que estés usando un zoom demasiado grande que no contenga imágenes o algo así...

      Eliminar
  5. No se vuelve a negro, se va reduciendo la ortofoto visible y aparecen mosaicos en negro alrededor. El zoom que he utilizado es el del tutorial -16,17,18. Si que parece ser del zoom, pero no veo donde me equivoco, es muy simple el proceso. Me da miedo la respuesta

    ResponderEliminar
    Respuestas
    1. Se me ocurre que sea tema de la selección de zona en SASPlanet. Como cada tesela se multiplica por 4 en el siguiente zoom es posible que tu línea de selección incluya teselas fronterizas que si pillas en el zoom 16 pero que quedan fuera en el zoom 18 al ser más pequeñas... No se si me explico...

      Eliminar
  6. Egun on Javier, ¿la solución podría ser una selección mas amplia?

    ResponderEliminar