I’ve been using my GPS for cycling trips for a few months now and I’ve decided to write a small list of tips and tricks I’ve found useful or found out during these months. Most of the concepts here are general but the technical examples applies to linux which is my main operating system.

Terms

  • A waypoint is a set of coordinates for your orientation. It can either be created on the track to mark a position or it can be created on the map and used on the track for in track later orientation. A waypoint can contain latitude, longitude and altitude and an optional date/time and icon.
  • A track is a set of coordinates which are created while you navigate your way in the wild. The gps usually records tracks automatically in a buffer log and then allows you to save them (in full or partially) to a named track. You cannot usually create a track on a map.
  • A route is a set of coordinates which you can create on a map in order to set some orientation for later navigation. A route usually consists of a set of interest points. The GPS software is able to suggest a way to reach these points in order either following a road or straight forward.

Basic things

  • you cannot create/plan a track and use for later navigation in the field, for this you need to create a route. You can however use as a reference for navigation an existing track but this will not provide guidance such as the suggestion to follow the road to the north, you will have to follow the reference track visually on the screen. There are however methods of converting a track to a route and the reverse.
  • In practice for planning you can:
    • plan a route from a small number of points (because some GPS only allow say 50 route points) and then use the GPS software to draw a route between these points using the map data
    • use an existing track
    • use waypoints to guide yourself
  • even if the GPS records the track information in a buffer this buffer is not unlimited and usually circular. This means that each time you want to record a track you need to clear the track buffer at the beginning and save the track buffer (active log) to a named track at the end.

Importing, exporting, converting data

One of the most important things to understand is that there are numerous formats for storing GPS data such as gdb (garmin), gpx (standard xml), kml (google). All of them are convertible to each other but the conversion is usually imperfect because each format has been designed by different people, for different purposes and even if they contain similar data the presentation of this data is different. Here are the steps I use for handling data during real usage:

  • device to gpx: I don’t use the garmin format because it’s proprietary so I always download data from the gps (tracks and waypoints) using the gpx format:
gpsbabel -t -w -i garmin -f usb:0 -o gpx -F data-20081129.gpx
  • editing/planning:
    • I use qlandkarte to view/edit the gpx files. You can install it from ubuntu repositories with apt-get. I also use qlandkarte to create the routes.
    • I use google earth to plan routes on the map and view/edit kml files. In google earth terminology the terms paths and waypoints are relevant.
  • kml to gpx:
gpsbabel -i kml -f proposal-20081128.kml -o gpx -F proposal-20081128.gpx
  • gpx to kml: converting gpx to kml usually generates an extra amounts of points and if the gpx contains time data the kml also has time data information with might be hard to interpret and use since parts of the paths/points might be invisible for some unclear reasons to an un-advised person. An easy way to remove the extra data and only show the relevant path and not the associated points and time data is:
gpsbabel -i gpx -f proposal-20081128.gpx -o kml,points=0,trackdata=0 -F proposal-20081128.kml
  • gpx to device: to store the proposed routes, tracks and waypoints to the device:
gpsbabel -w <strong>-r</strong> -t -i gpx -f proposal-20081128.gpx -o garmin -F usb:0

More complicated stuff

  • simplify tracks because they are too large. Some gps devices can store tracks with much more points than the garmin devices which can only store tracks with max 500 points:
gpsbabel -i gpx -f test.gpx -x simplify,count=400 -o gpx -F test-simple.gpx
  • you can also try some lesser aggressive methods which remove points which are less meaningful

gpsbabel -i gpx -f test.gpx -x simplify,error=relative -o gpx -F test-simple.gpx

Other resources

Writing Tux Find more resources and gps howto’s on linux at tuxmobil

Comments:

Emil Ferent -

There is another way to get a gps made map. It’s an application named Sports Tracker that runs on Symbian on a hand-held device like my Nokia N95 (other: E71, N97 etc; whichever has gps, agps). You run the app, connect to satelites, and start running. At the end you export the map to a KLM (a Google Earth map) that is fairly acurate and has got, on the Z axis, 2 kind of representation: 1) the actual altitude you were at in that precise moment 2) the velocity that you had in that precise moment note: that you can view the graph in 3D, in Google Earth Furthermore, it does a lot of statistics and reports. All this combined with a mobile battery pack does the trick. Not to mention that it has an option for you to email the maps. Thus wireless map transfer to any PC. Good trips and wind from the back!