Saturday, 3 April 2010

Cycling GPS Tools

We got a GPS unit (Garmin eTrex Venture) a year or so ago to go Geo-caching with the kids, and I also bought a cycle mounting kit for it. One of the features I've been playing with recently is the capability to upload routes - the GPS will show you which direction the next point in the route lies.
My netbook runs Fedora Linux and there are several good tools available for manipulating gps data for Linux, if only you know how to use them! The primary one I use is gpsbabel, which I believe will be packing a GUI in the next version.
In addition, I have found a handful of very useful websites for creating routes. Unfortunately, because of the multitude of different formats for gps data, it is not as straightforward as I would have liked to download and use the data from these files.

Linux Tools

Firstly a pre-requisite: on Fedora at least, things need tweaking a little to get the operating system to access the Garmin GPS device.
  echo "blacklist garmin_gps" >> /etc/modprobe.d/blacklist.conf
  echo "blacklist usbserial" >> /etc/modprobe.d/blacklist.conf
This disables the module kernel Garmin drivers, which apparently don't work very well.
Then install gpsbabel. Fedora has this in it's repositories, so can be easily installed through the Package Manager, or with yum (yum install gpsbabel)
The main commands I use with GpsBabel are to download and upload gpx files from/to the Garmin:
gpsbabel -r -t -w -i gpx -f "my_route.gpx" -o garmin -F usb:
gpsbabel -r -t -w -i garmin -f usb: -o gpx -F "my_route.gpx"
Note the flags. -r, -t, -w cause gpsbabel to process Routes, Tracks and Waypoints respectively. -i specifies the input format, -f the input file or device (usb: is the usb port), -o and -F are the same for the output format/file.
In addition, I have a collection of Python scripts that I've written to help process GPS data, including one to compare elevation profiles of multiple routes in graphical format. I may stick these up online sometime.


Bike Route Toaster
The most useful site I have come across is the Bike Route Toaster. This site allows you to create routes, add course points to give directions/notes at particular places and save them to your profile using Google Maps. If you want a route entirely on the road, you can opt for the site to auto route you between the points you have clicked. This can be switched off, and the satellite view taken advantage of for creating off-road routes.
The site fetches elevation data for the route, and lets you view data on the route, such as total distance, total height gain and a graph showing the elevation profile of the route. You can also download the route in gpx (track points only), mbcrs (track and course points) and Google Earth files.
Ordance Survey Mapping and GPXLoader
GPXLoader, an ingenious bookmarklet turns any website using the Ordance Survey Map API into something similar to the Bike Route Toaster. You can create, upload and download routes in gpx format.
I find this most useful for verifying a route from the Bike Route Toaster against a proper OS map.

No comments: