Managing GPS data with ActivityDiary


© Galyna Andrushko, 123RF

© Galyna Andrushko, 123RF

Article from Issue 105/2009

ActivityDiary creates a handy digital diary by mapping your workout and route GPS data.

Where exactly did today's hike take you? What distance do you jog every morning? How many miles have you put behind you since you left training camp? If these or similar questions sound familiar, you are not a newcomer to the topic of GPS in training programs.

In today's age of mobile navigation, many devices either include a GPS module or can have a receiver added without much difficulty. Besides navigation to specific target points, the accompanying software typically lets you collect the data in a kind of digital diary and add your own details.

However, tools for evaluating or managing routes are still fairly rare. Individual websites [1] or programs (such as Google Earth, Marble) will let you visualize routes you have mapped by GPS data, but they do not allow you to manage or analyze multiple routes. Functions for saving user-definable details, such as route descriptions, weather, surface conditions, and photos, would also be useful. And if you actually need to visualize and manage routes on the move, you need a solution that works offline – which is where ActivityDiary [2] enters the picture.

The developers of ActivityDiary, a digital diary that helps visualize and manage training programs, came up with the idea for the program while out cycling. Besides their speedometers and pulse monitors, they also had a cellphone with GPS functionality. When they got home, they discovered that they needed several tools to analyze the three different types of route data: speed, pulse, and geodetic details. What they really wanted was a program that would visualize and manage all of this data – a program that would archive route data centrally and allow them to look back a couple of days, weeks, or months to view older route data. It would let users store the route information they needed independently of their choice of sport or activity. This was the birth of the idea behind ActivityDiary.

Installing ActivityDiary

To install ActivityDiary, download the source code tarball from the project website and unpack the archive. Now change to the directory created by this step, activitydiary-0.2, and build the program according to the instructions in the INSTALL file. ActivityDiary has dependencies for Qt4 and the Qt Widgets for Technical Applications [3]. OpenSUSE users can use the one-click installer on the project homepage instead.

GPS Diary

An activity can comprise GPS and route data, user-defined additional information, and pulse data that you can import from heart rate monitors by Polar. To do so, you need to store the data in HRM (Heart Rate Monitor) format. To access HRM data on your Polar monitor, you need the s710 [4] tool.

The GPS data must be available in the GPS exchange format, GPX. This widespread format describes a route from a collection of waypoints acquired at intervals of multiple seconds. Each waypoint has several properties, such as longitude and latitude, time, and altitude. ActivityDiary reads the waypoints and their properties and stores them in a list, which you can later use to calculate your route length and speed.

For activities in which you did not have a GPS device, ActivityDiary lets you draw the route manually on a map. To do so, double-click to set new waypoints on the map, and connect them with the previous waypoints. ActivityDiary will show you the current position on the route you are creating; it does this by converting the mouse position into longitude and latitude values.

To add user-defined details (e.g., the activity name and type, the route profile and quality, an evaluation of the route and weather, a route description), you can use the controls in the GUI. Future versions of the program will also let you add activity-related photos. ActivityDiary stores any additional information you enter in the program directory in a single file per route.


When you launch ActivityDiary, you will immediately notice the large map view at the center of the screen (Figure 1). By dragging the mouse to any position on the globe, you can adjust the dynamic world map view. The program automatically downloads any maps it does not have from OpenStreetMap [5] as a background task and inserts them into the current view.

Figure 1: After launching ActivityDiary, you can navigate the dynamic world map view by dragging your mouse anywhere on the globe.

The program supports any zoom level. Once loaded, maps are cached in the program directory where they are available for offline use.

Below the map view, you will find the diagram area. Here, ActivityDiary shows you a line graph of your speed, altitude, and pulse data relative to the total route time. Left of this are controls that let you enter user-definable information for your routes. The right-hand side is reserved for calendar functions. If necessary, you can hide both sides for a full-screen view of the map.

Selecting an individual day in the calendar tells ActivityDiary to look for activities that occurred in the matching week. The activities then appear in the week view, and you can click to load the routes ActivityDiary finds. Below the week view is a weekly summary that gives you details of your total activities for the week in question. On the basis of the total time and distance, this gives you an overview at a glance of how hard you worked out in the week in question (Figure 2).

Figure 2: ActivityDiary with an activity loaded. Users can load and edit routes they have entered via the calendar.

Above the calendar view is the rapid access feature that lets you jump to the next or previous activity on the basis of the current selection.

Creating Routes

To create a new activity, select New Activity… in the menu. A wizard (Figure 3) then guides you through the process by asking you to enter a name and a start point for the route data (GPS in GPX format or a manual entry on the map); optionally, you can define a file with pulse information. If you opted for a GPS file, the map view will automatically show you the right coordinates after loading the file and select the right zoom level to display the whole of the route on the map. ActivityDiary uses color to highlight the route on the map, as well as show you the start and finish points.

Figure 3: The new activity wizard lets you choose between importing GPS data and creating the route manually.

The program also automatically evaluates the speed and altitude information and creates a line graph. If you used the wizard to define pulse information in HRM format, ActivityDiary will import this data and add it to the chart (Figure 4). Selection lists let you hide or display the various chart types. If you opt to enter the route data manually, ActivityDiary toggles the map to edit mode when you quit the wizard. Now you can double-click the map to add waypoints to your route. The distance display for the route is updated for each new waypoint. Saving the map quits edit mode.

Figure 4: If you used the wizard to define pulse information in the HRM format, ActivityDiary will import this data and add it to the appropriate activity in the chart.

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • GPS Tools

    Almost all manufacturers of GPS devices use proprietary formats to save routes, tracks, and waypoints. Vendors unfortunately rarely offer Linux software for uploading and downloading or processing the data. Four GPS editors keep Linux users on the right track.

  • photoDiary: Web-based Photo Album with a Twist
  • Zim

    Organize your ideas, notes, and shopping lists with Zim, a handy tool that enshrines the principle of the wiki on your Linux, Mac OS, or Windows desktop.

  • World Robotic Sailing Championship Starts in Portugal

    The first world robotic sailing championship to be held on the open sea will start tomorrow in Matosinhos, Portugal. A number of the unmanned boats will be sailing on Linux systems.

  • Sysadmin Stories

    A day on Charly’s network might bring out problems with Ethernet bonding, VLANs and switches, and rogue DHCP servers.

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