File gpsPhoto.README of Package gpsPhoto
A commandline tool to synchronize a gps (gpx) tracklog with the
date/time stamps of the image exif-data
The purpose of this tool is to allow a hiker to record a GPS tracklog or
waypoints and later (at home) synchronize this GPS data with the
timestamps of the image exif data of his digital camera, in order to
locate and store the position where the picture was taken. The tool
writes coordinates, altitude and additional metadata to the Exif and
IPTC metadata section of jpeg, nef and potentially other file formats.
Optionally, a Google Earth kml file is created containing the gps
tracklog and the image positions.
The hiker can conveniently store the gps device in the pocket on top of
his backpack. The GPS signal should be strong enough to penetrate the
fabric of this material. To make sure that the signal gets properly
recorded the hiker should check the device from time to time. The setup
was tested with a Garmin eTrex vista device but it should work with any
device that can export to the gpx (XML based) format. It is important
that the gpx file contains the coordinates, and a timestamp. The hiker
should check if the GPS clock and the camera clock are synchronized
prior to the hike. A timeoffset is, however, allowed and can be
considered during data processing at home.
A special advice for garmin users (tested with etrex version): you
should not store the tracklog within the device under a separate
filename (using the save option). The garmin device will filter the data
(delete track points) and strip off the timestamps on saving the
tracklog within the file. Just download the current (active) tracklog to
the computer in order to preserve the data. The tracklog can then be
cleared. The garmin track log setup also allows to set the time interval
in which to record the data. The denser the data, the more accurate the
matching can potentially be, but the sooner the storage capacity of your
device will be used up. For shorter trips or devices with a larger
storage capacity you can use a more dense interval.
Currently supported image file formats
* jpeg
* nef (Nikon electronic format)
* cr2 (Canon Raw Format)
* crw (Canon Raw Format)
Potentially, one can add other formats as well, as long as they are
supported by Image::ExifTool. If you want to add additional file formats
add the extensions in the following line:
if ($ext =~ /^\.(jpg|jpeg|nef|cr2|crw)$/i) {