Géolocalisation des photos
J’ai un GPS pour ma voiture et un appareil photo numérique. Je me suis donc dit que j’avais tout ce qu’il fallait pour localiser géographiquement mes photos ! Ou presque… Il a quand même fallu bidouiller un peu.
D’abord, mon GPS, un TomTom Go 720, de base ne peut pas enregistrer le parcours que vous prenez. Pour des raisons de protection de la vie privée, entre autres. J’ai donc installé dessus un petit truc bien sympa qui s’appelle Event_Logger et qui permet aux GPS TomTom de pouvoir enregistrer vos points de passages et même plus, dans le format GPX.
Bon, maintenant qu’on a tous les points par où on est passé, comment savoir où ont été prises les photos ? C’est en fait assez simple. Dans le fichier GPX, vous avez l’heure à laquelle vous êtes passé par chacune des coordonnées. L’appareil photo, lui aussi, enregistre l’heure de prise des clichés. Il les stocke dans l’image elle-même, sous forme de métadonnées EXIF. Il suffit donc de faire correspondre l’heure de prise des photos avec l’heure des coordonnées pour savoir où ont été prises les photos. Bien sûr cela implique que l’appareil photo soit bien à l’heure… Le GPS lui, est toujours à l’heure parce qu’il obtient l’heure des satellites GPS.
J’ai donc crée un petit script en Perl (évidemment ;)) qui prend tous les fichiers GPX que vous avez (que votre GPS a créé), et toute les photos, et qui produit un nouveau fichier GPX avec seulement les trucs intéressants. En fait, il trouve les coordonnées des photos en faisant une interpolation linéaire avec les points que vous avez dans vos GPX originaux : il ne se contente pas de trouver le point le plus proche temporellement mais tente d’estimer la position de la photo avec les deux points les plus proches temporellement. Il recrée aussi votre parcours complet dans le GPX de sortie en se débarrassant des points inutiles. Il crée des miniatures pour vos photos, et il regroupe les photos qui sont distantes de moins d’un centième de degré d’angle au même point, pour éviter d’avoir des points trop proches… des points trop proches sur Google Maps !
Car c’est bien là la finalité de cette géolocalisation : pouvoir vous afficher une jolie carte Google Maps ou vous pouvez cliquer sur le parcours pour voir les photos associées.
Pour créer la Google Map depuis le fichier GPX tout propre que mon script a pondu, j’utilise GPX Viewer.
Et voilà ! Pour la petite balade qu’on a faite samedi dernier à L.A., ça donne ça :
Elle ne s’affiche plus directement pour ne pas trop ralentir le chargement de la page.
Le fichier GPX fait à peu près 145Ko (tout de même).
Alors, déjà vous pouvez remarquer un problème : je n’ai pas pris le GPS avec moi quand on s’est garé et qu’on a marché un bout sur Venice Beach. Du coup, ben toutes les photos (beaucoup de photos…) sont regroupées au même endroit, là où la voiture était garée ! Enfin bon, ça donne quand même une bonne indication.

5 mai 2008 à 11:30
Et ton GPS il ecrit un point tous les combien de temps ?
5 mai 2008 à 18:07
Event_Logger enregistre un point toutes les 4 à 5 secondes (le GPS en lui-même est un peu plus rapide que ça).
C’est pas trop mal comme précision, mais du coup, les GPX deviennent vite très gros. D’où le besoin de se débarrasser de quelques points dans le GPX final…
Si tu zoomes au maximum sur la Google Maps, tu verras que des fois les virages sont coupés ; ça vient du fait que j’ai fait sauter des points.
6 mai 2008 à 2:15
4-5s c’est pas mal, à moins de se deplacer en Jet t’as quand même l’endroit bien précis de ou tu as pris la photo (puis au pire tu attends 5s pour prendre la photo pour avoir le point exacte)
/me va regarder de plus près les GPS qui peuvent faire ca
A quand le GPS dans l’APN ? Ya déjà l’ecran, manque presque que la puce
8 mai 2008 à 7:36
Nan c’est clair c’est bien comme précision.
Le seul hic avec un GPS de voiture est que :
1/ il va essayer de coller aux routes (j’ai pas essayé de désactiver ça mais ça doit pouvoir se faire), i.e. si tu es près d’une route il va corriger ta position pour refléter que tu es dessus.
2/ l’autonomie des TomTom est pas très très longue, genre 2-3h, ce qui peut vite devenir problématique quand tu fais une balade à pied et que y’a pas d’allume cigare
Le mieux si tu fais vraiment que de la photo ou beaucoup de randonnée et d’avoir un GPS spécial piéton : plus grande autonomie, compact etc.
Sinon Sony a sorti un petit GPS spécialement pour ça :
http://gizmodo.com/gadgets/gps/sony-gpscs1-tags-photos-with-location-191454.php
Mais ça enregistre ta position que toute les 15s. Y’a pas d’écran ni rien, mais l’autonomie est très bonne. A voir.
Pour les APN avec GPS intégré, le premier arrive en juin : http://blogs.computerworld.com/first_ever_gps_digital_camera_coming_in_june
Ca reste un compact.
Sinon … l’iphone 3G a un appareil photo et un GPS intégrés… mais bon faut voir la tête des photos.