Geotagging photographs on cameras without GPS functionality

How to embed GPS data from your smartphone as EXIF data

  •  2 mins  •  

Many smartphones automatically add GPS EXIF data to photographs (i.e. geotag photos), such that the GPS coordinates where the photograph where the photograph was taken are embedded as part of the metadata accompanying the photograph.

This can be quite useful when reviewing old photographs — you can easily identify where a photograph was taken. It also facilitates features such as searching for all photographs taken at a particular location and generating a 'map view' of your photographs.

However, older 'point-and-shoot' cameras and DSLRs may not embed GPS EXIF data, often because they don't actually have a GPS module — such modules are expensive and energy-hungry.

To address this and 'retrofit' my older cameras with GPS tracking functionality, I have settled on the following 2-step setup:

First, I track my GPS location using OsmAnd's recording feature, which allows me to export my location data as a GPX file. OsmAnd is open source and available for both iOS and Android devices. It is also a decent maps app, quite apart from the GPS tracking functionality.

This means I have to ensure that location recording is enabled whenever I take photographs, but it's not too much bother. I can just enable it when I set off and leave it on till I return, the battery drain is quite acceptable.

Second, after I get back, I export the location data as a GPX file, and use the open source Geotagging app to read the GPX file and insert appropriate GPS EXIF data into my photographs. Geotagging runs on Windows and Linux right now (it's available as a Flatpak). For macOS, there appears to be a similar app called GeoTag but I haven't used it personally.

Screenshot of GeoTagging app running on Lubuntu

Some of the many useful features:

  • It allows me to adjust the timestamps on my photographs too. If my camera clock and smartphone clock are out of sync, I can simply add an appropriate offset. I like how it allows me to just key in the current time on my camera and it automatically calculates the correct offset so I don't need to do any mental arithmetic.
  • It supports importing of multiple GPX files (in case I accidentally create several GPX files)
  • It can assign coordinates approximated/extrapolated between two points (useful where GPS signal is lost or where I use a longer tracking interval for energy efficiency).