Como entusiasta del montañismo y el ciclismo, uso mi GPS para grabar mis pistas y mi cámara digital para grabar las vistas.

Para compartir mis experiencias, quería poder mostrar mis pistas en un mapa en un navegador web. Al igual que con Google Maps, quise vincular mis fotos a un Punto de interés (PDI) en el mapa y abrir la foto cuando el usuario haga clic en el PDI..

Todo el proceso implica el uso de una colección dispar de herramientas de código abierto: primero para extraer pistas del GPS, luego etiquetar geográficamente las fotos con los datos del GPS y, finalmente, mostrar tanto la pista como las fotos en un mapa con el JavaScript de OpenLayers biblioteca.

Descargar datos

El primer paso es obtener los datos de su GPS. Tengo un Garmin eTrex, que tiene un puerto serie. Sin embargo, muchos dispositivos más nuevos vienen con puertos USB.

Si su unidad GPS tiene un puerto serie, probablemente necesitará un cable USB a serie. Estos están ampliamente disponibles en eBay.

Usaremos GPSBabel para descargar las pistas y los puntos de paso desde el GPS. GPSBabel es la navaja suiza del mundo GPS. Convierte waypoints, tracks y rutas entre muchos formatos diferentes..

Si está utilizando un convertidor de serie a USB, cuando lo conecte a su computadora y ejecute dmesg debería obtener una salida similar a:

[5753.489759] usb 5-1: convertidor pl2303 ahora conectado a ttyUSB0
[5753.489786] usbcore: nuevo controlador de interfaz registrado pl2303
[5753.489789] pl2303: Prolifico PL2303 USB a controlador de adaptador en serie

Si está utilizando un GPS Garmin, obtendrá los mejores resultados al descargar el tracklog sin procesar. Los tracklogs guardados son despojados de mucha información, incluyendo datos de tiempo. Si desea etiquetar geográficamente sus fotos, necesita los datos de tiempo!

Es mejor guardar sus datos en formato GPX, ya que este es el formato de datos GPS con mayor compatibilidad. GPSBabel tiene un interfaz de usuario GUI, que está escrito en Qt. La GUI construye una línea de comando, que se pasa a GPSBabel. El comando se muestra en la GUI, así que una vez que esté familiarizado con el programa, puede usar la línea de comandos para descargar pistas.

Muchos dispositivos GPS recientes tienen puertos USB y aparecerán como dispositivos de almacenamiento masivo, por lo que puede descargar el tracklog usando un administrador de archivos.

Especificar un rango

Borro el tracklog de mi GPS solo cuando se está llenando. Sin embargo, realmente no quiero descargar el registro completo cada vez que salgo a caminar o andar en bicicleta. GPSBabel le permite especificar una amplia gama de filtros, incluidos los rangos de tiempo, para especificar qué datos se descargan desde su GPS.

El siguiente comando descarga el tracklog para el día especificado y lo guarda como un archivo GPX:

gpsbabel -t -i garmin -f / dev / ttyUSB0 -x track, s tart = 20120212000001, stop = 20120212235959 -o gpx track.gpx

¿Eres un geek, por lo que el reloj de tu cámara está de acuerdo con tu reloj GPS? Err ... odio admitir esto, pero el mío no lo hace.

El reloj de su GPS está sincronizado con el satélite GPS, por lo que siempre debe ser correcto. Casi todas las cámaras digitales almacenan información sobre cuándo se creó una fotografía en las etiquetas EXIF. Las etiquetas relevantes son 'DateTimeOriginal', 'CreateDate' y 'TimeCreated'. Entonces, lo que debe hacer es actualizar estas etiquetas utilizando la diferencia entre la hora de la cámara y la hora del GPS.

Vamos a utilizar el exiftool de Phil Harvey para corregir la información EXIF. En mi caso, el reloj de la cámara estaba 1 hora y 21 minutos por delante del reloj GPS, por lo que necesitaba restar 1 hora y 21 minutos de la hora en las etiquetas EXIF. Usando exiftool, el comando es:

exiftool "-DateTimeOriginal- = 0: 00: 00 01: 21: 0" \
"-CreateDate- = 0: 00: 00 01: 21: 0" \
"-TimeCreated- = 0: 00: 00 01: 21: 0" * .JPG

Nota la - delante del signo igual, que resta el desplazamiento de tiempo. Antes de actualizar sus etiquetas EXIF, probablemente querrá crear una copia de respaldo de sus fotos en caso de que cometa un error. También puede crear una copia de los datos EXIF ​​en un archivo de texto para todas las fotos en el directorio actual usando el siguiente comando: