Script que nos permite actualizar los mapas de Openmtbmap para QMapShack automáticamente

En el articulo anterior vimos como instalar los mapas de Openmtbmap en la aplicación QMapShack. Estos mapas basados en OpenStreetmap se actualizan con relativa frecuencia (según indica el autor en su página, aproximadamente cada 6 semanas).

En la ayuda de QMapShack encontramos un script que podemos usar para realizar los procesos de descarga, desempaquetado, montado y copia del fichero de forma automática.

Para usar el script necesitamos tener instalados los paquetes 7z, mkgmap y wget. Si hemos seguido los pasos del artículo en el que instalábamos de forma manual los mapas de Openmtbmap ya tendremos los dos primeros. Si no los tenemos podemos instalarlos con:

Para el paquete 7z:

sudo apt-get install p7zip-full

Para mkgmap:

sudo apt-get install mkgmap

Tenemos que tener instalado java para su ejecución, si no lo tenemos lo instalamos:

sudo apt-get install openjdk-8-jre

Por último wget:

sudo apt-get install wget

 

En el script tenemos que configurar con nuestros datos en el apartado que se encabeza como #configuration

# configuration

FILESRC="http://ftp5.gwdg.de/pub/misc/openstreetmap/openmtbmap/odbl/mtbspain.exe"
IMGFMT="OpenMTBMap_%Y-%m-%d.img"
QMSMAPDIR="${HOME}/GPS/mapas-ber"
TYPE="trades.TYP"
MKGMAP="mkgmap"

Esta sería la configuración para la descarga del fichero correspondiente a España (FILESRC) y su instalación dentro de la carpeta GPS/mapas-ber dentro de nuestra home de usuario (QMSMAPDIR). Este es el directorio donde tenemos configurado que QMapShack lea los mapas.

Podemos ver los ficheros a descargar de los distintos mapas en: http://ftp5.gwdg.de/pub/misc/openstreetmap/openmtbmap/odbl/

En el script que hay en la página de ayuda de QMapShack tenemos que modificar la línea la 61 por:  FID=`ls -x 7*.img | cut -c1-4 | head -1`

Pongo aquí el script completo con las modificaciones:

#! /bin/sh

# configuration

FILESRC="http://ftp5.gwdg.de/pub/misc/openstreetmap/openmtbmap/odbl/mtbspain.exe"
IMGFMT="OpenMTBMap_%Y-%m-%d.img"
QMSMAPDIR="${HOME}/GPS/mapas-ber"
TYPE="trades.TYP"
MKGMAP="mkgmap"

# code starts here, no changes below here required

error_check() {
    if [ $1 != 0 ]; then
        echo ${red}ERROR${NC}
        exit 1
    else
        echo ${green}OK${NC}
    fi
}

tool_check() {
    which $1 2>&1 1>/dev/null
    if [ $? != 0 ]; then
        echo ${red}ERROR: $1 missing${NC}
        exit 1
    fi
}

red="\033[0;31m"
green="\033[0;32m"
NC="\033[0m"

TMP=`mktemp`
if [ ! -f "${TMP}" ]; then
    echo ${red}ERROR: failed to get temp. file${NC}
    exit 1
fi

tool_check "wget"
tool_check "7z"
${MKGMAP} >/dev/null 2>&1
if [ $? != 0 ]; then
    echo ${red}ERROR: mkgmap can\'t be executed${NC}
    echo ${red}ERROR: make sure MKGMAP is set properly in script configuration${NC}
    exit 1
fi

echo -n " * Downloading... "
wget -q -O "$TMP" "$FILESRC"
error_check $?

echo -n " * Decompressing... "
7z e -o"${TMP}_" ${TMP} >/dev/null
error_check $?

FILETIME=`stat -c %Y ${TMP}`
IMGFILE=`date -d@${FILETIME} +"${IMGFMT}"`

echo -n " * Building ${IMGFILE}... "
cd "${TMP}_"
FID=`ls -x 7*.img | cut -c1-4 | head -1`
${MKGMAP} --show-profiles=1 --product-id=1 --family-id=${FID} --index --gmapsupp 6*.img 7*.img ${TYPE} >/dev/null
error_check $?

echo -n " * Moving gmapsupp.img to ${QMSMAPDIR}... "
mv "${TMP}_/gmapsupp.img" "${QMSMAPDIR}/${IMGFILE}"
error_check $?

echo -n " * Cleanup... "
rm -rf "${TMP}" "${TMP}_"
error_check $?

Creamos el script con este contenido, yo lo he llamado updateOpenmtbmap.sh y lo activamos como ejecutable:

chmod +x updateOpenmtbmap.sh

(recordemos modificar el directorio de instalación de los mapas  dentro del script en QMSMAPDIR para que coincida donde tenemos configurado que QMapShack busque los mapas)

lo ejecutamos y si todo va bien, tendremos algo como esto:

david@david-desktop:~/Descargas/openmtbmap$ ./updateOpenmtbmap.sh 
 * Downloading... OK
 * Decompressing... OK
 * Building OpenMTBMap_2017-09-10.img... OK
 * Moving gmapsupp.img to /home/david/GPS/mapas-ber... OK
 * Cleanup... OK
david@david-desktop:~/Descargas/openmtbmap$

 y claro, el mapa resultante en nuestra carpeta de QMapShack listo para su uso.

 


Artículos relacionados que

también te pueden interesar

Trekkings

El Blog

The Trekking Life

The Trekking Life es un blog sobre el mundo del trekking, backpaking, senderismo, montaña, rutas, bushcraft, orientación y uso del GPS, acampada, programas de cartografía digital, seguridad en montaña, supervivencia, etc... una forma de estar en contacto y vivir los espacios naturales



Copyright © 2019 thetrekkinglife.com. Todos los derechos reservados.

Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies Ver política