As you know, I recently received my new
iPhone. One cool feature of the iPhone is the built-in GPS module (I know a bunch of other mobile phone do have this feature as well). As I was already searching for a simple solution to geotag my photos w/o much efforts (in terms of money and work), I looked for a way to track my photo trips via the iPhone and later syncronize the GPS data with my photos.
After some searching I found a pretty cool iPhone app. It's name is
GeoLogTag (you can grab it for 4$ from the AppStore). The App is as simple as cool. Simply enable it and it'll track your trip and when you are back at home you just press the "GPX" button and the App will transform into a simple webserver where you can grab your GPX files via WLAN.
Now as I found a way to track my trips via iPhone I still needed a tool to get the GPS data into my photos. There are a bunch of tools out there in the internet which will let you sync your GPS geolocation date with your images, but most of them are limited to JPGs. As I am shooting exclusivly in Canon's RAW format with my EOS 5Ds (
CR2-Format) these tools won't work. I also found some commercial tools which support CR2-Format, but they are very costly and are running on MS Windows only. So also not the solution I was searching for.
So finally I decided to develop such a tool on my own. My language of choice was (of course) Perl. The good thing is, that there are already
modules to parse GPX data as well as
a module to process EXIF information. To make the story short... I just finished the first version of the tool. It's pretty simple but effective. You can specify one or more image filenames and a GPX data filename. The script will read out the creation date of the images and will compare it to the dates of the GPX datapoints. If a datapoint doesn't differ more than $X seconds from the images timestamp, the script will tage the longitude and latitude and will write this information into the EXIF metadata of the image. If you specify the "-k" parameter, it'll also add these data as "geo:" keywords.
As the script is written in Perl, it should easily run on any UNIX, MacOS and Windows. It has been written and tested on MacOS X. In first place I wrote this script to support Canon's CR2-Format, but the good thing is that
Image::Exiftool supports a bunch of other formats as well, so it may be useful for non-Canon users as well. Feel free to download it and give it a try and let me know how you find it.
Requirements-
Date::Manip-
Log::Log4perl-
Image::ExifTool-
Geo::GpxTo see the script in action, click
here.Download it
here.