The other day I took a very nice Bike ride around Boulder, CO. I had my GPS unit with me ( A Garmin Vista-C), and had it take trackpoints along my route. Once I got home I wanted to try and grab the track points, transfer them to my Fedora laptop and then have some means of mapping where I had been. Read on for my adventures with gpsbabel.
There's a ton of web pages out there with GPS software. A first cut of it can be removed from consideration because it doesn't run on my OS of choice, Fedora. After that things get more murkey. There are tons of programs that haven't been updated in many years, don't compile anymore or otherwise don't work at all.
The first hurdle was to plug the GPS in to my laptop and see if it could even see it. This particular GPS uses USB, and I had never even bothered to connect it. Luckily things have gotten very good in Linux on that account, and it saw the device no problem as a USB serial device. So, this was no problem.
I tried to see if I could get the data I wanted from the old Linux standby for GPS information: gpsd, but while gpsd is good about reporting position information from the GPS, I didn't see any easy way to download track data from it in any kind of form that would be useful.
Finally looking at what packages were available in Fedora I grabbed gpsbabel. This is a command line program that converts all the various types of GPS data from one to another. At first I didn't think it could help out, but then I found from further reading on the net that it could convert from a Garmin format from a serial device to another GPS format (ie, downloading from the GPS unit to the laptop).
Being able to transfer the data off was great, and gpsbabel has a ton of formats. One of the issues with gpsbabel is that the documentation is very poor and/or nonexistent. It took looking around in google searches to find out that it could even do what I was looking for. Also, the sheer number of formats makes the usage output very difficult to parse. The command line is also a bit odd in that you have to order input format, input file, output format, output file. It's a great program, but it could sure use some docs or UI help.
Now that I was able to pull my track data, that brought up the question: what format would be most useful for making or viewing a map of where I had been? I looked around for a Linux friendly / Open source mapping program, but came up pretty empty. gpsdrive might have some promise, but it wasn't yet packaged for Fedora (I have a package almost ready to submit now. ;) QGis looks pretty interesting, but it wasn't available in Fedora either (someone want to package it?).
In the end I ended up exporting my data to a .kml file and viewing it in google earth. The command to do this with gpsbabel was:
gpsbabel -t -i garmin -o kml -f /dev/ttyUSB2 -F bikeride.kml
That is, import track data (-t), input format garmin (-i garmin), output file format (kml), input file /dev/ttyUSB2, output file bikeride.kml (-F bikeride.kml). Then, it's a simple load file in google earth to view it in all it's glory.
I'd love to have a open source mapping/GIS application that I could view GPS tracks in. Anyone have suggestions on applications I might have missed?
For anyone who wants to look, my bikeride.kml file.comments powered by Disqus