Monday, December 21, 2009

I finally did some GeoTagging

Went out on the kayak on the body of water formerly know as Town Lake (which now bears the official moniker of Lady Bird Lake). I have a waterproof housing for my Canon PowerShot G10, and have a nice waterproof bag that fits the Droid. So, both key pieces of GeoTagging field technology were safe on the water.

I fired up MyTracks (an Android app) at the dock and ran a GPS trace of the 2 mile bridge-and-back roundtrip. During said trip, I took a few photos of birds, turtles, and the city. So, now I had a set of photos on one device, and some GPS data on a different device. "How ever shall you properly GeoTag the photos and subsequently display them in an interesting or useful manner?," you may ask. "Furthermore," you may point out, "you seem to have forgotten to synchronize the camera's clock with that of the phone/GPS logger." The answer and solution are both relatively easy:
  1. Fix the lack of synchronization:
    • Later that night, I took simultaneous pictures with the phone's camera and the actual camera. To minimize the difference caused by lag, I "pressed halfway" on both devices and therefore got as close as possible to popping the shutters "at the same time". With the approximations that will happen later, a few hundred milliseconds isn't going to be significant.
    • (Subject and actual time relative to the rest of the photos don't matter -- this is just establishing the offset between the two clocks.)
    • (NOTE: Simultaneous shooting of a common subject is also a great technique for dealing with situations where there are multiple cameras involved in a shoot.)
  2. I use Adobe Photoshop Lightroom, which makes correcting the time offset simple. In my case the Canon hadn't been adjusted for the end of daylight savings, and was off by a couple of minutes, even if the hour had been correct.
    • In Lightroom, I examined the metadata for the phone's version of the "common picture," and noted the capture time.
    • I then selected the set of pictures from the Canon -- starting with the "common picture," and Shift-clicking back to the first one in the series that needed to be corrected.
    • Lightroom has a function for modifying the date and time, and if you apply a correction to this type of selection, it is clever enough to know that you want to change them all by the same offset, versus setting them all to the same exact time. This is a nice, big, timesaver!
  3. Since I was already in Lightroom to fix the captre times, I processed the RAW photos from the Canon, and exported them as JPGs (because most of the cost-effective/free GeoTagging apps don't really handle RAW files).  
  4. So, now I had the photos, but I needed the Geo data...
    • MyTracks lets you export a GPX trace file to your SD card. 
    • Copy that over to your computer because most tagging apps know how to use GPX.
  5. I used a Mac app called GPSPhotoLinker to stick the location information into the EXIF data for each JPG file.
    • This program lets you load the GPX trace file and the images, and then you can apply the location data either manually or as a batch process. 
    • It will also interpolate the location based on the time, and give you a better estimate of the location when there isn't a perfect 1:1 match between the time a picture was captured and when a point in the trace file was recorded. (Of the 13 photos I tagged, only one lined up exactly -- and that was sheer luck.) 
  6. So, now I have pictures that are technically GeoTagged, and I can stick them in a traditional gallery. But that's not the best way to benefit from the location data...  
  7. Enter JetPhoto Studio, which can not only export a KML file that you can modify to use absolute paths and then overlay on a Google Map (I didn't modify this file, so the pictures use relative paths and don't show up in this view), but also uses this to build a fully functional Google Maps-based web gallery that can be easily uploaded to your site.
  8. The results are pretty cool. If you want to see larger renditions, the "traditional gallery" does still have its uses ;^)