Read and process GPS data


The second test candidate is implemented in Java and licensed under the GPLv2. GpsPrune [8] displays GPS data and lets you convert and edit it. Besides running on Linux, the tool also works on Windows and OS X. We investigated version 16.2. After downloading the Java archive file, you launch the software by typing java-jar gpsprune_16.2.jar. If the program does not automatically evaluate its own language settings, you can set user language in the Settings menu, if needed, and then restart GpsPrune.

The program only opens text or XML files (GPX, KML), but it can use GPSBabel as a helper to convert other formats or import data from a GPS device. In the Device Name field, enter the name of the user interface (e.g., USB: or /Dev/ttyS0). Also enter the Format, such as, garmin, tomtom, magellan, and so on [11], as well as an optional GPSBabel filter.

The track appears in the middle of the window with the altitude data, if any, at the bottom. The map is initially hidden. You can enable it using the icon with the globe or via the View menu. With the slide control, you can change the transparency of the map; the magnifying glass icon, the mouse wheel, and the keyboard let you zoom in and out of the view.

By default, GpsPrune uses OpenStreetMap maps. In Settings, or by right-clicking the map, you can select maps from a different provider in the list or add alternative servers such as OpenPisteMap or OpenCycleMap. Optionally, the GPS editor saves the downloaded map tiles for offline use. Users activate this feature in the program settings and choose a directory for the tiles, which are stored on disk as PNG files.

To mark a point on a track, you click on it either in the map or in the profile view at the bottom of the window. You can use the slide control top left in the Track details or press Ctrl+Left Arrow or Ctrl+Right Arrow to jump to the previous or next item. Now, a red crosshair appears on the map and the right side bar shows detailed information such as the latitude and longitude, altitude, and a timestamp (Figure 2).

Figure 2: The red crosshair marks a point in the track; the right sidebar shows detailed information such as the coordinates, altitude, and time.

Choosing Point | Edit point modifies a selected point. In the following dialog, you can enter the new data in the individual fields and change the latitude and longitude, altitude, description, and name. The latter enters a waypoint, which then appears on the left-hand side and on the map.

To select the entire area of a track, you first select a start point under the Range menu. GpsPrune then marks all the remaining points of the track and displays additional information about the selected section in the right sidebar. To define an alternative endpoint, click on the map while holding down the Shift key; Ctrl+A selects the entire track. The Point and Range menus let you delete individual items or entire sections of the track.

Preparing the Way

GpsPrune removes duplicate or redundant points of a track. This function is found in the Track menu. In the following dialog box, you can check the desired options and delete duplicates, nearby points, and outliers (i.e., those whose coordinates are far away from the neighboring points because of poor reception). The tool also finds isolated points that are not connected with any others.

To add new points to a track, first select a pair of data points and then press Range | Interpolate to add any number of points. The software arranges the new points in a straight line between two reference points.

The GPS editor can reverse sections or entire tracks, add time differences (to prevent others seeing when the user was at what locations), and connect sections of a track. You can undo single or multiple steps with Ctrl+Z.

The developers have given their software a few nice extra features. The 3D view opens a window with a rotating three-dimensional view; this action requires the Java 3D library. The tool will export directly to the POV-Ray format on request.

The Photo menu lets users add images to a track (Figure 3). If the images contain coordinates, GpsPrune evaluates the Exif information and adds new points. For a manual assignment, select the photos in the left sidebar, selecting a point on the map and then Photo | Connect to point. If a track contains time information, the Correlate photos menu item synchronizes the timestamps of the images with those of the points. Linking audio files works in the same way in the Audio menu.

Figure 3: GpsPrune adds photos to track points. The route planner parses existing Exif information and uses the coordinates.

On request, GpsPrune can export the track, along with the photos in Google Earth format (File | Export KML), and store coordinates in the Exif information of images (Photo | Save to Exif). The latter requires the external Perl program Exiftool. Together with Gnuplot, the program also generates graphs of distances, altitude profiles, or speeds and stores the statistics in SVG format. The Online menu provides links to various Internet services, such as Wikipedia, a weather forecast, and SRTM altitude data.

The GPS editor saves the tracks as a text file or in two XML formats: KML and GPX. The KML export features also supports the compressed KMZ format. Alternatively, GpsPrune – again in collaboration with GPSBabel – can send the edited tracks back to a connected GPS device. In this case, the user decides whether to send waypoints only, the entire track, or both.


The third candidate is also released under the GPLv2. MyTourbook [9] not only works with GPS instruments but also with sports computers and ergometers. The fact that the Java program is aimed primarily at athletes is revealed by a look at the feature list. It is the only candidate to analyze your pulse rate – in addition to altitude, length, and speed – and it does so for multiple user profiles. I tested version 14.4.0. Users just need to download the ZIP archive and unpack it. Make sure the binary is executable and invoke it by typing ./mytourbook.

This program is multilingual and evaluates the language settings of the locale. If this process fails, you can set the language with the parameter -nl xx  – you will look for this switch in vain in the program settings. When first launched, MyTourbook offers to create a profile. Users can enter name, size, weight, and other properties. You can modify this data at any time via Tools | Preferences. A look at the configuration dialog shows the program's versatility; however, it takes a while to grasp all the options.

This complexity is reflected in the level of detail in the main window. At the top are filters for user and route profiles along with icons for frequently used functions. Below are the tour management, calendar, and statistics features and an area for photos. The bottom left shows selections and waypoints by default. On the right are the map and selected tracks, including an area in which you can display or hide the altitude, pulse rate, speed, pace, and performance via the small icons (Figure 4). You scale all the work areas and sliders up and down as needed, and drag fields to new locations with the mouse.

Figure 4: MyTourbook divides the program window into many small sections. Tabs give users access to a variety of different information about a tour.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Perl: Plotting GPS Data

    Perl hackers take to the hills with a navigation system that provides a graphical rendering of a hiking tour.



    Digital GPS-aided treasure hunts, or geocaching, is becoming more popular. We investigate the choice of geocaching software available for Linux.

  • Geotagging

    Add location data to your best digital images with digiKam and GPS Correlate.

  • Pathfinder

    When Mike Schilli is faced with the task of choosing a hiking tour from his collection of city trails, he turns to a DIY program trained to make useful suggestions.

  • GPX Viewer

    With GPX Viewer you can map GPX tracks and view GPS data in a web browser. It's a simple way to revisit a recent vacation, organize your photos, or map your favorite bike routes.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More