14 septiembre 2008

[II] Trasteando de nuevo con el Garmin Topo España v3 (y ya van dos...)

En éste artículo anterior se hablaba de la posibilidad de modificar los "tipos de objeto de mapa extendidos de 3 bytes" que se utilizan en las últimas versiones del Garmin Topo España, por los "tipos de objeto de mapa estandar de 2 bytes" utilizados en los mapas clásicos, para poder modificar/editar y volver a compilar con las herramientas existentes, los mapas de éste producto comercial.

En esta ocasión lo que propongo es modificar y recompilar los mapas utilizando los mismos "tipos de objetos de mapa extendidos de 3 bytes" que se utilizan en el propio Topo España v3, grácias a que las nuevas versiones del compilador cGPSmapper versión 0097 o superior admiten trabajar con los mencionados tipos, lo que nos permite ahora tanto compilar los mapas para Garmin, como crear los archivos TYP de personalización visual de los objetos de mapa, utilizando los ya mencionados "tipos de objetos de mapa extendidos de 3 bytes".

Sigue existiendo, no obstante, una clara limitación: los mapas recompilados siguen sin admitir los DEM :-(

El proceso a seguir es en un principio similar al propuesto en éste anterior artículo. Es decir:

1) Desbloqueamos los mapas para hacerlos "editables" en este punto. o bien en este otro punto.

2) Con el MapTk o Map Toolkit y a través de la opción Tools->IMG Analysis, obtenemos a partir de los mapas IMG originales los mapas MP listos para su edición gráfica.

3) Con éste o cualquier otro GPSMapEdit editamos visualmente los mapas. Recuerdo que casi todos los objetos tienen asignados en el mapa MP el tipo 0x00 por defecto para hacerlos visibles al programa, pero que se siguen incluyendo los tipos originalmente asignados (V2Type=0x*****)

Si tenemos que añadir un nuevo objeto al mapa (por ejemplo, un sendero), le asignaremos el tipo "por defecto" 0x00, pero tendremos la precaución de añadir seleccionando el nuevo objeto y en la opción de Object Properties->pestaña Extras-> botón [Edit as Text...] lo siguiente:

V2Type=0x10e0b


que se corresponde, en este caso, con el "tipo de objeto de mapa extendido de 3 bytes" utilizado en los mapas IMG originales para identificar los senderos.




NOTA: Para designar un valor hexadecimal, podemos despreciar los "0" a la izquierda que no son significativos, de forma que el valor 0x10e0b es el mismo que 0x010e0b, aunque en éste último caso resulta más evidente y clarificador el empleo de los 3 bytes...

4) Una vez realizadas las modificaciones y guardado el mapa MP, abriremos el archivo con algún potente editor de texto ASCII, como por ejemplo éste (NO UTILIZAR el Bloc de Notas de Windows, pues es muy lento y el tamaño de archivo que admite es muy pequeño), de los que se utilizan preferentemente en temas de programación, de forma que:

-Eliminamos (o reemplazamos por un espacio en blanco) el texto Type=0x0



-Reemplazamos el texto V2Type= por el texto Type=



-Guardamos en el archivo MP los cambios realizados.



Con ello conseguimos reasignar en el mapa MP a los objetos del mapa los tipos extendidos utilizados en los mapas IMG originales.

5) Tan sólo nos queda volver a compilar en modo línea de comandos los mapas MP modificados a mapas IMG para Garmin con la versión 0097 o superior del cGPSmapper, y ya está...

Como ejemplo, así estaba el mapa antes de modificarlo (nótese los sombreados del DEM):



y así se ve el mismo mapa recompilado con el camino añadido y sin DEM:



IMPORTANTE: El programa GPSMapEdit NO DA SOPORTE a los tipos de objetos de mapa de 3 bytes, por lo que si se abren los mapas directamente es muy probable que reasigne los tipos existentes a 2 bytes, despreciando el primer byte y obteniendo resultados inciertos e indeseados. Es por ello que insisto en recompilar el mapa MP modificado tan solo en modo de línea de comandos, ya que si lo hacemos desde el GPSMapEdit reasignará el programa los tipos existentes en el mapa.

Recuerdo que para compilar el archivo MP en modo de línea de comandos, basta con teclear en la ventana del DOS algo tal que así:

cgpsmapper archivo_de_mapa.mp

4 comentarios:

  1. Anónimo7:12 PM

    Gracias por tus sabias aportaciones,mila esker.
    Uzturre.

    ResponderSuprimir
  2. Anónimo11:31 PM

    muchas gracias por tus aportes, ya que en este mundillo hay poco material solo en foromtb,me gustaría saber si tienes algun tutorial en español o algo parecido para el editor de typ, he visto tu otro articulo, pero no me fio a tocar mucho, ya que no soy muy bueno en los idiomas y me cuesta saber lo de los poligonos,colores en hexagesimal.....
    decirte que yo tengo un vista con 3 mapas nt 2008 con dp 20, topo v3 con dp 24 y rios y mares by Iogrea dp 30, muy versatil
    saludos y gracias

    ResponderSuprimir
  3. Anónimo11:50 AM

    Ante todo enhorabuena por tu blog, que es una auténtica enciclopedia sobre el GPS. Además veo que has solucionado, por fin, el tema de los DEMs.
    Pero tengo un problema, siguiendo tus pasos para modificar mapas del TE, hay algo que no funciona. Todos los caminos, rios, etc me los convierte a autopistas. Y los POIs también los unifica. He hecho varias pruebas con diferentes mapas y el resultado siempre es el mismo. Tienes idea de lo que pueda ser?
    En esta imagen puedes ver cómo queda.

    Ibktz

    ResponderSuprimir
  4. YoMismo2:44 PM

    Es un problema del GPSMapEdit, que "no le gustan" los códigos extendidos de 3 bytes, y si un archivo MP los tiene definidos como Type=1xxxx, acaba ignorando el 1 inicial y se "hace la picha un lío" (con perdón...;-p)

    Insisto en el proceso. Con MapTk convertimos el archivo IMG original del TE en MP. Este MP lo podemos editar con GPSMapEdit cuantas veces queramos, pero SIEMPRE ANTES de "reestablecer" con el editor ASCII los tipos de 3 bytes originales. Una vez editado no se debe volver a abrir y guardar con GPSMapEdit. Si abrimos el MP con GPSMapEdit DESPUÉS de editado con el "editor ASCII", es cuando el GPSMapEdit "se inventa" los códigos de los objetos del mapa porque "no entiende" que sean de 3 bytes (los tradicionales son de 2 bytes)

    ResponderSuprimir