Passionné d’alpinisme et de cyclisme, j’utilise mon GPS pour enregistrer mes traces et mon appareil photo numérique pour enregistrer les vues..

Pour partager mes expériences, je souhaitais pouvoir afficher mes traces sur une carte dans un navigateur Web. Comme avec Google Maps, je souhaitais lier mes photos à un point d'intérêt de la carte et faire apparaître la photo lorsque l'utilisateur clique dessus..

L'ensemble du processus implique l'utilisation d'un ensemble d'outils open source disparates - tout d'abord pour extraire des traces du GPS, ensuite pour géolocaliser les photos à l'aide des données GPS et enfin pour afficher à la fois les traces et les photos sur une carte à l'aide du code JavaScript OpenLayers. bibliothèque.

Télécharger les données

La première étape consiste à récupérer les données de votre GPS. J'ai un Garmin eTrex, qui a un port série. Cependant, beaucoup de nouveaux appareils sont livrés avec des ports USB.

Si votre appareil GPS dispose d'un port série, vous devrez probablement vous procurer un câble USB / série. Ceux-ci sont largement disponibles sur eBay.

Nous utiliserons GPSBabel pour télécharger les traces et les points de cheminement à partir du GPS. GPSBabel est le couteau suisse du monde GPS. Il convertit les points de cheminement, les traces et les itinéraires entre de nombreux formats différents.

Si vous utilisez un convertisseur série vers USB, lorsque vous le connectez à votre ordinateur et que vous exécutez dmesg vous devriez obtenir une sortie semblable à:

[5753.489759] usb 5-1: le convertisseur pl2303 est maintenant connecté à ttyUSB0
[5753.489786] usbcore: nouveau pilote d'interface enregistré pl2303
[5753.489789] pl2303: Pilote d'adaptateur USB vers série Prolific PL2303

Si vous utilisez un GPS Garmin, vous obtiendrez les meilleurs résultats en téléchargeant le tracklog brut. Les tracklogs enregistrés ne contiennent plus d'informations, y compris des données temporelles. Si vous souhaitez géolocaliser vos photos, vous avez besoin des données temporelles.!

Il est préférable de sauvegarder vos données au format GPX, car il s'agit du format de données GPS le plus largement pris en charge. GPSBabel a une interface graphique, qui est écrite en Qt. L'interface graphique crée une ligne de commande, qui est transmise à GPSBabel. La commande est affichée dans l'interface graphique. Une fois que vous êtes familiarisé avec le programme, vous pouvez utiliser la ligne de commande pour télécharger des pistes..

De nombreux appareils GPS récents ont des ports USB et apparaîtront comme un périphérique de stockage de masse. Vous pouvez donc télécharger le journal de suivi à l'aide d'un gestionnaire de fichiers..

Spécifiez une plage

J'efface le journal de route de mon GPS uniquement lorsqu'il est plein. Cependant, je ne souhaite pas télécharger le journal au complet chaque fois que je me suis promené à pied ou à vélo. GPSBabel vous permet de spécifier toute une gamme de filtres, y compris des plages de temps, pour spécifier les données téléchargées depuis votre GPS..

La commande suivante télécharge le journal de suivi du jour spécifié et l’enregistre en tant que fichier GPX:

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

Vous êtes un geek, donc l'horloge de votre appareil photo est en accord avec votre horloge GPS? Euh… je déteste l'admettre, mais pas le mien.

L'horloge de votre GPS est synchronisée avec le satellite GPS, elle doit donc toujours être correcte. Presque tous les appareils photo numériques stockent des informations sur le moment où une photo a été créée dans des balises EXIF. Les balises pertinentes sont 'DateTimeOriginal', 'CreateDate' et 'TimeCreated'. Donc, ce que vous devez faire est de mettre à jour ces balises en utilisant la différence entre l'heure de l'appareil photo et l'heure GPS.

Nous allons utiliser l'outil exiftool de Phil Harvey pour corriger les informations EXIF. Dans mon cas, l’horloge de l’appareil photo avait une heure et demie d’avance sur celle du GPS, il fallait donc soustraire 1 heure 21 minutes de l’heure dans les balises EXIF. En utilisant exiftool, la commande est la suivante:

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

Noter la - devant le signe égal, qui soustrait le décalage temporel. Avant de mettre à jour vos balises EXIF, vous voudrez probablement créer une copie de sauvegarde de vos photos en cas d'erreur. Vous pouvez également créer une copie des données EXIF ​​dans un fichier texte pour toutes les photos du répertoire actuel à l'aide de la commande suivante: