Guide to GPS metadata in photos (part 3). Construction of motion tracks based on a group of photos.

27 April 2023 8 minutes Author: Cyber Witcher

Reconstruction of movements according to photographs

If the photos have GPS tags, then by placing these locations on the map in chronological order, you can see the route of movement. This can be used to reconstruct movement or for any purpose (calculate the number of kilometers traveled, average speed, etc.). Of course, manually placing marks on the map is tedious, and in this article we will talk about programs that allow you to automate the process of building a route of movement based on GPS data from a series of photos. We will consider four programs at once, two of which are cross-platform and work, including, on Windows. By the way, owners of SLR cameras without GPS, a note: if your camera does not have a GPS chip, this does not mean that your photos cannot have GPS tags. You can use a method called GPS correlation. It is the opposite of what will be described in this article.

Its essence is as follows: when shooting with a camera without GPS, take a mobile phone with you, it has GPS. And while shooting, start recording the route – you can easily find free programs that can do this, the main thing is that it can save the recorded tracks in GPX format. Then use the GPS Correlate program. Each track point has two characteristics: 1) time and 2) coordinate. For each snapshot, the time it was created is also known (stored in meta information and file properties). The program looks at what time the picture was taken, then looks at the coordinates of the point of the track that corresponds to this time, and then simply records the given coordinates of the photo metadata. A great idea in my opinion.

GPX track recording format

GPX (GPS eXchange Format) is an XML-based text format for storing and exchanging GPS data. GPX is a free format and can be used without any license deductions. The format allows you to store information about waypoints, routes and tracks (tracklogs). For each point, its longitude, latitude and altitude above sea level (if altitude information is available) are stored. For track points, the time of passing the point is also stored. The XML scheme also provides for the storage of arbitrary user information for each point, only longitude and latitude are required. An example of information can be terrain elevation (ele), speed, pulse rate (hr), number of steps, pedaling rate (cadence) (cad), temperature, etc.

Text file with content.

How to create a GPX file from photos

As already mentioned in Wikipedia, there are many programs that understand GPX. And the task is to generate this file based on metadata from a series of photos. Fortunately, ExifTool is already able to do this and it is enough for us to specify the folder with photos. To create a GPX route file from photos, run the command:

In this command: -fileOrder DateTimeOriginal we set the sorting of the data displayed by the time the photos were taken. ExifTool processes and displays data not by the date of shooting, sorting by another feature is used. Even more surprisingly, GPX programs process .gpx files regardless of the dates specified for the points, but simply sequentially:

This gpx.fmt file comes with ExifTool. Linux users can find it on their system with the command:

For example, in Kali Linux, the path to this file is:

In Arch Linux/BlackArch, the path to this file is:

Windows users should probably download the Linux package from the ExifTool site and grab the file from there.

This option sets the date and time format in the output data.

A folder with photos that need to be processed to create a movement track.

Saving the data output to the out.gpx file

I go to the folder with photos:

Go to the folder with photos and make the necessary changes.

Now I specify as a directory. (dot), that is, the current directory:


The screenshot shows that 33 images have been processed, but the output also has the following lines:


These are not errors, but minor warnings that the gpsaltitude tag is not defined for some files – perhaps the GPS was turned off at the time of the capture, or some other error occurred during the capture. These five photos did not make it into the track, but there are still enough pictures to build a route.

A full entry about a point looks something like this:

Record about a point.

In my file I got incomplete records like these (missing time):

Incomplete records.


GPXSee — is a GPS log file viewer and analysis program that supports all common GPS log file formats. Key features:

  • Support for POI files.

  • Full screen mode.

  • Print and export to PNG and PDF.

  • Several tracks in one window.

  • Supports DEM files (SRTM HGT).

  • Support for HiDPI/Retina displays and cards.

  • Native GUI (Qt) for Windows, Mac OS X and Linux.

  • Free software (GPLv3 open source license).

  • User-specified online maps (OpenStreetMap/Google tiles, WMTS, WMS, TMS, QuadTiles).

  • Offline maps (OziExplorer maps, TrekBuddy maps/atlases, Garmin IMG/GMAP and JNX maps, TwoNav RMaps, GeoTIFF images, MBTiles).

  • Opens GPX, TCX, FIT, KML, NMEA, IGC, CUP, SIGMA SLF, Suunto SML, LOC, GeoJSON, OziExplorer (PLT, RTE, WPT), Garmin GPI and CSV files and geotagged JPEG files.

GPXSee is designed to be a small (no dependencies other than Qt), fast and simple GPS/map data viewer, not a full-featured GIS software. However, the range of supported data files/map sources is relatively wide.

Installing GPXSee

Installing GPXSee on Windows

Download the installation file from the page

Then install and run like any other program.

Installing GPXSee on Arch Linux, BlackArch and their derivatives

It is enough to execute the following command:

Installing GPXSee on Kali Linux

To add a new repository and install it, run the following commands:

Installing GPXSee on any Linux

Binary packages for all popular distributions are compiled for GPXSee.

Run from the menu or command:

Drag and drop the previously created out.gpx file. A map with the route of movement will be opened.

Below is a graph with the total track distance and elevation differences. Zoom in on the map to see the details.

4UMaps map allows you to zoom only up to a certain limit. You can zoom more with Open Street Map.

When changing the map, it may take some time before it is displayed – this is probably the time for the map to load. You can use the green arrows in the menu to move from point to point. To see the whole track again, go to the last point.


GPX-Viewer – is a simple tool for visualizing tracks and waypoints stored in a gpx file.

Installing GPX-Viewer in Debian, Kali Linux, Linux Mint, Ubuntu and their derivatives:

Installing GPX-Viewer in Arch Linux, BlackArch and their derivatives:

Run the program from the menu or command line:

Open the out.gpx file. You will see the movement track.

On the left side of the window, you’ll see a tab with detailed statistics including: distance, duration, start and end times, different speeds, and elevation change information. The graph is shown below. You can choose the display: speed, height, distance, etc. On the details tab, you’ll find a “Playback” button. And on the graph, you can select neighboring points for their display on the map.

Map with the route of movement.


GottenGeography — is an easy-to-use program that shows the shooting location for photos by GPS tags in the metadata, as well as routes from GPX files. This program is very old and uses Python 2 and its libraries. Therefore, this program will not be able to run in Kali Linux.

On Arch Linux (from which Python 2 support has not been removed), the program can be installed with a single command:

The program can be launched from the menu or from the command line:

program gottengraphy.

In addition to displaying tracks, the program supports showing the location of the photo shoot on the map. In terms of functions, this program is inferior to the previous ones.

Google Earth

Google Earth on Linux (Google Earth Pro) is a 3D interface for exploring the globe, terrain, streets, buildings and other planets.

Features of Google Earth About:

  • Making great offline movies.

  • Advanced possibilities of importing GIS data.

  • Print screenshots in high resolution.

  • Measurement of the area, length and perimeter of land plots.

Among the many features of this program, it is also able to show routes from GPX files. A distinctive feature of this program is detailed satellite imagery. Previous programs use loose maps that are not always as detailed. For installation, Windows users just need to go to the official website and download the installation file. Instructions “How to install Google Earth on Linux” have been prepared for Linux users.

If you don’t see a file to import, switch to the “Gps” file type.

File type “GPS”.

When importing, do not check “Create broken KML lines”.


On a large scale, the tracks look similar to other programs.

Map with the route.

But the quality of satellite images can be assessed with a close approximation.

Satellite image.

Since there can be a significant time interval between the photos, it should be understood that the lines do not show the actual travel routes – they simply connect two points found in consecutive photos. The shorter the time between photos, the more detailed the route of movement.

Other related articles
Found an error?
If you find an error, take a screenshot and send it to the bot.