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.
- 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.
- 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
- 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 -r -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
Find more resources and gps howto’s on linux at tuxmobil