Streets and Trips Equivalent for Linux
I reached my goal, which was to get a free and/or open-source mapping and navigation program working with GPS on my EeePC which has Ubuntu 8.10 (Easy Peasy 1.0) on it.
I used the bulldozer method. By that I mean, I downloaded everything in sight and finally got it to work, but now I'm not sure which of the many packages, etc., were absolutely necessary. Nor am I absolutely sure about the order of the steps I took. I suspect that others also use the bulldozer method, at least the first time, to get something to work, and that's why we haven't seen more documentation on the Web that completes the task rather than just offering a little piece of it.
What finally worked for me was roadnav (which is both free and open-source), with a GPS baud rate of 4800; but it is a long story how I got there. Since I had been using Microsoft's Streets and Trips for years, I had the Microsoft USB GPS that is packaged with their software. Microsoft Streets and Trips isn't perfect (loses too much detail when zooming out, uses too much screen real estate for the directions/navigation pane) but for relatively new software it is a good beginning, and it is no surpise that the free and/or open-source programs haven't quite caught up yet in polish (design of interface) or all features. However, there are definitely ways in which roadnav is actually superior to Streets and Trips. I will go into that in detail later.
I started by downloading and installing tangoGPS, which despite good reviews I was unable to get to work. Some websites suggested that I could configure the GPS by putting /dev/ttyUSB0 in the "port" slot in config, under GPSD, but that did not work for me. Even after getting roadnav to work, I still could not get tangoGPS to work.
At that point I didn't know if my problem was the USB GPS receiver or the tangoGPS program. Sometimes when I do the bulldozer method, I get confused and download and install stuff that has no relation to what I am trying to accomplish. I thought I saw somewhere that Microsoft's USB GPS would work with garmin drivers. I downloaded and tried to install the garmin_gps tarball. I didn't get very far and it was a bust. At that point I remembered the commands "lsusb" and "dmesg", and with those commands, it looked to me like the GPS unit was working, at least partially, but I was too tired to continue or to make a definitive assessment and I put the EeePC down for another day.
Happily, another day came at the Seattle LinuxChix meeting, where I brought in my EeePC and my Microsoft USB GPS and explained what I was trying to accomplish. I knew that if we put our minds together I would be able to make better progress. Kevin was able to find me some great resources on the Web for verifying that my GPS was working and getting it to work if it wasn't. I'll just list them here for others or for my future reference:
http://sealedblade.wordpress.com/2008/08/20/ubuntu-pl2303-usb-to-rs232-adapter/
http://ubuntuforums.org/showthread.php?t=322759
http://ubuntuforums.org/showthread.php?t=609794
Those links above plus others helped to sway my thinking that the problem was that the mapping program could not access the signals being collected by my GPS. Here is what the tail of my /var/log/dmesg file looked like immediately following my insertion of the GPS USB into my EeePC USB slot:[ 6729. 888103] usb 2-1: new full speed USB device using uhci_hcd and address 7At this point I decided to try a different mapping program, but which one to use? Someone suggested that Google Earth would work with a GPS. I downloaded and installed it and tried to open it. Google Earth is memory intensive and too slow to work as a mapping program with in-car navigation on an EeePC. In addition, when I looked at the user guide for getting GPS to work with Google Earth; I got stuck on instruction number 4 "From the Tools menu, select GPS. The GPS window appears". Ain't no "GPS" in the Tools menu on the Google Earth I installed into my Easy Peasy. Perhaps that part of Google Earth installs when a "supported" GPS device is installed (with software), or perhaps that part of Google Earth hasn't been developed for Linux.... I don't know. What I do know is that it isn't there.
[ 6730. 050208] usb 2-1: configuration #1 chosen from 1 choice
[ 6730. 052108] pl2303 2-1: 1. 0: pl2303 converter detected
[ 6730. 064427] usb 2-1: pl2303 converter now attached to ttyUSB0
I found this website: http://www.maps-gps-info.com/fgpfwmaclinuxunix.html#Linux helpful for making a better choice. I chose roadnav from the list because its unbashedly multi-platform blurb made me think that it was the most likely candidate to facilitate communications with a Microsoft GPS on a Linux OS.
There were some packages to download as prerequisites to the roadnav install; and at this point, thinking that the problem might also be that I was missing some gps package on Ubuntu, I started downloading lots of packages. Among those packages (I did mention that I didn't know which of these were actually necessary) were: libwxgtk2.8-0 and libwxbase2.8-0 which are each others' prerequisites and had to be installed together:
apt-get install libwxgtk2.8-0 libwxbase2.8-0
I also installed (not necessarily in this order) gps, gpsman, gpsdrive, gps-scripts, libshp-dev, libshp1, shapelib.
After installing roadnav, I opened the program to check out the interface, and I assumed that roadnav had detected my GPS because it seemed to map my area and it immediately started downloading State and County boundary files; at which point it became a race between the download and my expiring battery. I was at Starbucks and had left my power cord home. The downloads finished with 10 minutes to spare on my battery. Whew. I shutdown my EeePC and headed home.
When I powered up the computer again, and opened roadnav, it opened to my approximate area, but did not find my GPS. Had I imagined that it did? It felt like it had... but, not to worry, I hadn't done any configuration and the Prefs button on the left opened up a frame full of tabs. The second tab was GPS. This looked more configurable than what tangoGPS provided. I changed the GPS type to Serial/USB (one of the pull-down options) and the Serial Port slot was automatically populated with /dev/ttyUSB0. So far so good. Then I noticed the Baud Rate. The default was 19200 and I remembered something from when I volunteered to configure terminals at my local library. Sometimes a connection would look like it worked, but then it didn't and I wouldn't know if I had imagined it or not and then I would find that I needed to adjust the baud rate. Not knowing anything about the hardware, I just powered through until I picked the right choice. The Microsoft USB GPS unit works on 4800 baud, and only 4800 baud would get it to work for me. I think this is significant because whatever navigation program you wish to use, if you are using a MS GPS, baud adjustments will need to be available.
I downloaded the map file that corresponds to my State and County. That gave me the roads, not just the boundary outlines. The default GPS pointer was a "small label" with a yellow background. I didn't like it. Fortunately, many parts of roadnav are configurable; much more than Streets and Trips is; and I had no trouble indentifying that what I wanted was something the size of a favicon, finding a suitable one, downloading it and importing it into the program. After importing the icon, I unchecked the label checkbox and the favicon replaced the GPS pointer label.
I spent a little time familiarizing myself with all the preferences available on the various tabs in the Prefs window, noted that I like the use of screen realestate with roadnav better than S&T ... and now it was time to take it for a spin. I waited for my husband to get home so he could drive while I navigated and concentrated on learning the program.
Roadnav makes a light blue navigation trail on the map. Unfortunately, the roads and the GPS trail don't always align perfectly. They worked better for me at faster speeds. Roadnav did two things that I didn't expect and that I found helpful. One was that it would automatically adjust the map to match the speed of the vehicle, zooming in when the speed was slow and zooming out when the speed was fast. This feature is on by default but can be turned off. The other was that at 8:30pm the map switched from daylight view to night view. Unlike S&T, I actually liked the night view design on roadnav, which simply made the roads white and the background black. This is also configurable.
Roadnav does not have the "points of interest" database that Streets and Trips has, but most of the time, I'll be able to find an internet connection and use Google for that. Now that I have my GPS working with one mapping program, I have a better idea of what it takes to get it to work with mapping programs and I might try others, or not. So far I've been pretty happy with roadnav.
To email please see: contact.cgi if you have any comments or questions about this page.
Authored & created by Meryll Larkin: August 14, 2009
Updated: August 14, 2009