Saturday, September 18, 2010

Global Graffiti: Geotagging Photos from GPX files

I often find myself reconstructing a trip by looking back through the unedited pictures. It could be stuff like random shots out the window of a moving car or gas stations, stuff that wouldn’t make an album or blog post, but they help refresh the memories of the trip and recreate it in my mind. And now that we’re using our GPS to navigate, the track logs it automatically stores are a great way to get an overview of the route. So why not have the best of both worlds? Use the GPS tracks to geotag the photos and be able to see all the memories exactly where they happened on the route.

Here’s my process:

1) Make sure the GPS device (Garmin Zumo 660 in our case) is on while you’re driving or it won’t record tracks.

Ours asks us if it should stay on using battery power when we turn the car off. We say “yes” if we’re just getting out of the car for a second to prevent it from creating too many separate track files I gotta combine later. There are also some pretty cool little GPS loggers that you can carry with you.

2) Periodically pull tracks off the device and into a Garmin Mapsource file.

Name it something like “2010-04-15 Baja Tracks” and be sure to save it as  “GPX eXchange Format (.gpx)” file. Note for Zumo users, if you navigate to your Zumo through the filesystem on your computer, tons of old tracks are archived at Garmin\GPX\Archive. You might want to consider taking a second to “obfuscate” certain key locations such as your home and family’s homes by opening up the tracks and deleting a few points. I’m sure I forget to do it sometimes but seems like it might be a good idea.

3) Tag the photos in GeoSetter.

Open the program and browse to picture directory. Select photos you want to tag, then Images –> Synchronize with GPS Data Files…. Select Synchronize with Data File and browse to your track file (“2010-04-15 Baja Tracks.gpx” – make sure it was saved as a GPX). Make sure “Interpolate Regarding Shoot Time With Last or Next Position” is selected. Setting “Maximum Difference between Taken Dates and Trackpoints” to 432000 (seconds) means that if a photo date is within 5 days of a recorded trackpoint, it’ll tag it. This covers overnights and days spent with the GPS off. Alternately, you can just leave it set to something small and GeoSetter will let you know if it can’t find info for some pictures. In that case, you might want to raise this value. Click OK and confirm on the prompt if it finds all pictures. It’s key that you save this new information to the files by either selecting Images –> Save Changes or by closing GeoSetter.

4) Open Picasa and sync your pictures to Web Albums.

Create an album of the pictures you want to see on the map and click “Sync to Web.” I usually upload at 1600 pixels which is good enough quality if a friend wants to download a shot. Note, if you’ve already created the album – even if you’ve already synced the album – when you save your changes in GeoSetter in the step above, Picasa will refresh the files and resync.

5) View pictures on a Google Map.

Open your Web Album and in the right column below the Google Map, click “View Map.” You’ll see thumbnails of all your pictures in the spot where they were taken.