PDBs, GPS y Oziexplorer

      5 comentarios en PDBs, GPS y Oziexplorer

Continuando con mi labor de investigacion sobre el GPS, al final consegui usar el GPS Pilot Tracker 5.05 con la Palm IIIx y pude guardar un par de recorridos de prueba, uno de ellos el que hice para recoger el LCD del post anterior.

Ahora venian los problemas, por que el recorrido, llamado ‘track’, esta en un fichero PDB (Palm Database) que ningun programa de mapas para PC puede leer. Ni siquiera el GPS Babel, que convierte un montón de formatos de GPS, da soporte a este. Gran desolación. Por mas que he buscado no he encontrado nada.

Pero no pasa nada, aunque me ha costado lo mio, despues de vencer la vagueria habitual a la hora de ponerse a programar, entré en una espiral de aprendizaje y me puse a escribir un programa en Java que:

  • Lee archivos PDB
  • Extrae sus registros
  • Lee registros del GPSPilot
  • Convierte esos registros en formato OziExplorer

Oziexplorer es uno de los programas mas utilizados para la lectura y confección de mapas. Tiene muchas posibilidades de uso y está muy ampliamente extendido entre los usuarios deportivos de GPS, tanto para senderistas, como para ciclistas o para 4×4.

Como me imagino que esto no será de gran utilidad para nadie, pues ni siquiera he publicado el programa. Si alguien lo necesita no tiene mas que pedirmelo. Digamos que es código abierto, software libre y bastante guarro, por que no lo he hecho con vistas a crear ningún proyecto grande.

Lo único que no he conseguido es descifrar del todo el formato de los registros del GPSPilot. He conseguido extraer la información mas necesaria para exportar un track, esto es: la longitud y latitud, la altitud y la fecha y hora de cada punto del track. También he calculado la velocidad entre puntos, la velocidad media y la distancia parcial y total.
Todo esto lo he averiguado por ingenieria inversa, estudiando el archivo PDB, guardando tracks y comparando los valores del archivo con los valores reales y aun despues de pasarme mas de 24 horas en total, varios dias hasta las 5 de la mañana, estudiando el archivo, hay unos cuantos datos que se me escapan.
Concretamente no se como está codificado el valor de la declinación magnética que se supone que viene tras la altitud y la fecha. Por mas vueltas que le doy no me salen los valores que deberían.
Tampoco se que es lo que se representa en la cabecera de cada registro de track, justo después del numero de puntos. Son un montón de bytes cuyo significado desconozco.
Este es mas o menos el formato de cada registro del GPS Pilot Tracker:

Registro del Tracker

Los datos de longitud y latitud hay que dividirlos entre 3600000 para sacar los grados decimales, la fecha es aun peor, por que está en formato Palm, son los segundos transcurridos desde el 1 de enero de 1904.

Y luego vino lo mas divertido, la conversion al formato de tracks del Oziexplorer. La longitud, latitud estuvo facil, la altura hay que pasarla a pies siempre y la fecha… el infierno total. Oziexplorer está desarrollado en Delphi al parecer, y usa fechas en formato Delphi que son un número double en el que la parte entera indica el numero de dias transcurridos desde el 30 de diciembre de 1899 y la parte decimal indica la fraccion de dia, es decir, si es 2.5 es que han pasado 2 dias y medio desde esa fecha, osea, es 1 de Enero de 1900 y son las 12 del mediodia. Un autentico infierno para convertirlo, pero por fin está hecho y ya saco tracks en el Oziexplorer capturados con la Palm y sobre un mapa sacado de varias capturas de la Carta Digital Militar de España.

Solo he tardado 3 semanas en conseguirlo… odio la informática.

Y ahora un par de links para usar el Oziexplorer y las rutas trazadas con el GPS:

www.misrutas.net Pagina con rutas para mountain bike.
elgps.com Pagina muy completa sobre GPS, mapas y Oziexplorer.

5 pensamiento sobre “PDBs, GPS y Oziexplorer

  1. javier

    A mí si me interesan tus exploraciones en la comunicación de Palm con Oziexplorer. Tambien me interesan la conversion de latitudes a UTM, y cálculo de distancia entre puntos, en base a latitudes.

  2. Rafael Escudero

    que mas compañero, espero que bien.
    mira nesecito un favor lo que pasa es que necesito leer unos archivos .pbd desde java para validar los registros, me podrias hacer el favor de enviarme la i nformacion que tengas

    gracias

  3. Rodrigo

    Hola. Te escribo porque veo que sabes del tema, y yo no entiendo nada jaja. Necesito, si me haces el gran favor, el circuito del gps garmin legend h. Porque me regalaron uno ya que supuestamente esta quemado. pero el capacitor o lo que sea que se quemo, no lo tiene. Necesitaría ver el circuito para ver que falta. Desde ya muchas gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada.