Donate using PayPal

Photomap help

Geolocation by Synchronization

A series of photos can be geo-located by synchronizing with a track-log recorded by a GPS device.

It works by using the time a photo was taken to interpolate a position in the track-log.

To perform an accurate interpolation the times on the camera and the GPS have to be synchronized. The GPS always knows the exact time, because that is how it calculates a geographical position. However the clock on your camera is not so accurate and is likely to be a few minutes or seconds different. A photo of the time screen of the GPS device will contain enough information to calculate the time difference between the two. CycleStreets can read the time the photo was taken by examining the extra information inside the photo (this is known as exif data). But to complete the operation you will need to enter the displayed time from the synchronization photo. The whole procedure is described below.

Synchronization Photo

Synchronization Photo

Synchronization: The GPS displays 12:02:29 but the camera recorded that the photo was taken at 12:02:59.

The GPS records tracks using universal time. The time recorded in each photo by the camera depends on the camera clock. As that is usually set manually it is likely to be wrong, but it can be assumed that it is always wrong by the same amount during any track recording. The amount that it is wrong is known as the offset. The offset must be calculated relative to the universal time.

Reading the Universal Time from the GPS device

The time displayed 12:02:29 is in BST because it is August and the value of the Daylight savings is Auto (which means On in this case). In this time zone the UTC offset is zero, so the universal time is is just the hour difference between BST and GMT, ie. 11:02:29. So the time that should be entered into the synchronization form is 11:02:29 22 Aug 2009.
The location where the synchronization photo was taken is not important, this one was taken on a train journey. (Photo #18523)


  1. Reset your GPS device to start recording your tracks, at a high level of detail (e.g. every couple of seconds).
  2. Take your first photograph of the time screen on the GPS, this will be the synchronization photo.
  3. Go out cycling and taking more photos, making sure the GPS has a clear view of the sky.
  4. On your return sign in to CycleStreets as usual.
  5. Icon Upload the track and synchronization photo and enter the displayed universal time
  6. Once uploaded the photo is displayed with the calculated offset. Check the value is sensible, it should be a few seconds, or perhaps an hour or two plus or minus a few seconds depending on time zones and daylight savings.
  7. Subsequently uploaded photos that are within the time-range of the GPS track will automatically interpolate their location.

Photos that are successfully geo-located will appear with the orange marker located at the interpolated position on the photo map page, and are initialized with a message in their captions.

Notes: The synchronization time must be a Universal Time because those are the time units used by the .gpx format. A maximum time difference of 2 minutes is allowed between the photo time and the track-log start and finish times (after accounting for the offset).

We realise this is a bit of a complex procedure, so please do let us know how well it works for you, and if you have suggestions for improving these notes.


This feature has been made possible by the gpsPhoto and exiftool projects.

We welcome your feedback, especially to report bugs or give us route feedback.

My comments relate to: *

Your comments: *
URL of page: *
How did you find out about CycleStreets?:
Your name:
Our ref: Please leave blank - anti-spam measure

* Items marked with an asterisk [*] are required fields and must be fully completed.