I have ~2700 photos from my recent trip to Antarctica. All but a few dozen were taken while on the ship, and the GPS track of the ship is known. The few that were taken off ship were within a three mile radius while deploying the ITP. If you don’t have a ship recording your GPS for you, you can get simple GPS systems for less than $100, or even a few $10s of dollars on eBay. The TrackStick is good for this type of project as it does not have a screen or realtime outputs.
I wanted to geotag all my photos by adding the latitude and longitude to the JPEG EXIF data. I was going to code it as the algorithm is quite simple (for each image, get the creation time, find the GPS location nearest that time in the GPS list, and add the (lat,lon) coordinates to the image), but not surprisingly this problem has already been solved. Repeatedly.
Three steps are required.
- Convert your GPS data into GPX format. If you are comfortable on the command line then use gpsbabel. If not, then go here for a web interface to gpsbabel. If you need help post in the comments. If you were on NBP09-01 a GPX file of our cruise is here.
- Add the GPS coordinates to the image EXIF tags. There are many tools that will take a GPX or NMEA file and add latitude and longitude coordinates to your photos. I use gpicsync and photoGPSEditor looks nice too.
- Output KML files. gpicsync does this for you, and has a list of other software that might help here. You can also upload your photos to Picasa and get a KML file that way (instructions).
The end result might look like this.