write GPS coordinates from tracklog into image

This section describes different software to extract GPS coordinates from track logs and insert into various images. (Status as of Jan 2008). Caveat: Your mileage will vary. This review is quite cursory - if something seemed to not have the features I was looking for, or if it seemed too much work, then did not put much effort into getting a thorough review. I am happy to fix any inaccuracies you point out. (contact via the post on the XnView forums).

From my point of view, criteria were based on the fact that I have several months of images and tracklogs from drives and walking. I wanted to process all with minimum of effort. Ideally I wanted to have a folder with a bunch of tracklogs and a folder with a bunch of images, and to just point the program at them and say "go". First problem, apparently no programs that I loooked at read Garmins binary format, and instead need text files - with Garmin's XML-based gpx format being most common.

The test set was 10 jpegs and a CR2 file from a Canon 350D, some were originals, some resaved by Photoshop. There were 7MB of track files in gpx format from a Garmin 60CSx. Also a few Garmin gdb files. One image was matched only by the gdb file and some images were matched by duplicated gdb and gpx files.

Review of free/cheap software capabilities for inserting lat/long coordinates into images (geotagging)
Program formats accepted select how many files in folder1 timezone offset time correction create KML/Z file retains Makernotes cost (private use) platform
image metadata gps data2 image gps data
GPicSync jpeg, cr2, tiff exif gpx, nmea any 1 y n y y free ms-win
kml track only for most recent pass. large trackfiles fail to display in Google Earth. Backs up original images (even if unchanged) but it is smart enough not to overwrite backups if a second pass is made (e.g. using a different gpx file).
GeoSetter jpeg, tiff, many raw exif, xmp (if present) many (not gdb) any all y y y y free ms-win
running it gives IE script error (non-fatal). Very slow processing multiple GPX files. Can export to GE. Exports all matched tracks to GE, even if only one image selected. One image gave wrong coords (taken in gap between two tracks in gpx file, but interpolation was nonsensical - close but wrong by a few km.) Many of these deficiencies were fixed soon after I wrote this.
Copix PhotoMapper jpeg exif gpx, nmea + others any 1 y y y y free OS ms-win
mouse icon stays permanently "busy". Narrow time window - not adjustable. can load multiple gpx files sequentially. Writes null lat/long entry into all files that don't match.
OziPhotoTool jpeg none plt any any y y y n/a free-ish all (with Java)
free version limited to 5 images. delicate in operation (liable to fall over). If you don't select "make copies" then no image is changed. Copies have watermark stamped - no exif lat/long data.
PixGPS jpeg, tiff exif gpx 1-5 any y y y y shareware ms-win
similar to GeoSetter, but much faster reading gpx files. Only saves 5 images in a folder. overwrites backup copies if you click again. Altitude always written as zero. Some files out of range have null lat/long recorded, others are left untouched. interpolation between tracks OK (some good, some eccentric). Will sometimes identify coords in image, but never write the value to the file.
gpsPhoto.pl jpeg nef cr2 crw exif, iptc gpx any any y y y y free, OS any (with Perl)
command line only, most capable, although the old version of the Exiftool perl package (from activestate repository) exited when given a .CR2 file.
RoboGEO many exif gpx, plt, dnr?, nmea any 1* y y y y 40USD ms-win
demo inserts inaccurate info (1 to 2 km); can import georef in many ways. Interpolates between 2 tracks in same gpx file only after setting non-default option. Can accumulate geotags by reading successive gpx files. *Can select all, but it fails dismally. It seems to have trouble if tracks on one GPX file are stored out of sequence.
locr jpeg exif nmea ? 1  ?  ?  ?  ? free ms-win
requires .net compact framework. This summary is only based on user-manual.
GPSed Photo jpeg - - ?  ?  ?  ?  ?  ? free ms-win
requires some web authentication to do anything, so I uninstalled it.
GeoIPTC jpeg, tiff exif+iptc none any n/a n/a n/a  ?  ? shareware ms-win
It does not use gps tracklogs, but instead uses IPTC location info plus web services to infer lat/long - useless for wilderness.

My tracks were from a Garmin unit, which always starts a new track whenever power is disrupted, and I tended to split driving and walking tracks, even into different files sometimes. As a result of this, tracks in one file might come (in time) between two tracks in another file. Another issue that might have caused problems with some programs is that Garmin software stores tracks in the gpx file in an order sorted alphabetically by name. Initially, the automatic naming causes this to result in tracks stored also in time sequence, but once tracks are renamed, the ordering is not in time sequence.

I get the impression that none of the programs are fully able to handle this depth of disorganisation in the gpx tracklogs. The result of all this is that no software fully suits my requirements, and I will need to artificially join all tracks recorded in a day into a single track to make sure I get sensible coordinates into the image.

Notes

1For number of files selectable:

2For converting from other gps formats, use GPSBabel.