By Dmitri Popov
GPS navigation systems are cheaper than chips these days, but if you already have a Linux-based laptop or netbook, you might want to try the open source route. All you need is a USB GPS receiver and a GPS navigation application. You can buy the former cheaply on eBay or in any store that carries GPS equipment. When it comes to GPS software, you have at least two choices: tangoGPS and GpsDrive. Both applications use mapping data from the OpenStreetMap (OSM) project [1], which provides maps of surprisingly good quality released under a Creative Commons license.
Keep in mind, though, that neither GpsDrive nor tangoGPS support turn-by-turn navigation and route planning - features reserved for commercial maps and software. What, you might wonder, is the point of using these applications if they lack some key features? Both GpsDrive and tangoGPS can come in handy in many situations. For example, both applications can save your route in the GPX format for use with other mapping applications or web services. GpsDrive and tangoGPS support waypoints and points of interest (POIs), so you can use both applications to store information about places and pin them on the map. The applications also offer features not available elsewhere. GpsDrive, for example, provides support for Kismet wireless network detector, so you can use it to map wireless networks, whereas tangoGPS includes a geotagging feature that lets you add geotags to your photos with ease. In other words, GpsDrive and tangoGPS might not replace a dedicated commercial navigation system, but both applications do have some nifty uses.
Before you install GpsDrive or tangoGPS, you have to enable support for external GPS receivers on your machine. To do this, you have to install the gpsd daemon software [2], which monitors the attached GPS receiver and makes the data collected from its sensors available for other applications.
Gpsd supports a huge number of GPS receivers, and its packaged version is available on many mainstream Linux distributions. This means that you can install gpsd easily with your distro's package manager. On Ubuntu, for example, you can install the software with the sudo apt-get install gpsd command. To activate gpsd and make it monitor the GPS receiver on a specific USB port, use the gpsd -n /dev/ttyUSB0 command. Once the GPS receiver is connected and enabled, you can put it to some practical use with the use of the tangoGPS or GpsDrive applications.
GpsDrive [3] has been around for quite a while, so it has made its way to the software repositories of many popular Linux distributions. Once GpsDrive is installed, you can launch it from the Applications menu (Figure 1). By default, GpsDrive attempts to adjust its main window to the screen, but this doesn't work well all the time, especially on netbooks. In this case, you can launch GpsDrive from the command line with the -g (geometry) parameter that allows you to specify the desired height and width - for example: gpsdrive -g 800x600.
GpsDrive sports a functional dashboard that gives you a quick overview of the essential navigation data. As you would expect, the map window occupies most of the dashboard. The pointer that marks your current position on the map contains two arrows: one that indicates your current direction and another that points to the selected destination (Figure 2). The bottom pane of the dashboard contains a minimap and a compass, as well as distance, speed, and altitude indicators. At the very bottom of the dashboard you'll find the GPS Status indicator, the Map scale slider, and your current coordinates, bearing, and heading.
When you launch GpsDrive for the first time, it displays the NASA Blue Marble map. It might look good, but it's not particularly practical, so your first order of business is to download street maps for the desired region. Unfortunately, this is a rather cumbersome procedure. First, choose Options | Maps | Download. The important thing here is to select the desired value from the Scale drop-down list (Figure 2). This value determines the area and zoom level of the map you are about to download. By default, GpsDrive prompts you to download a map for the area surrounding your current position, but you can choose an alternative area by clicking on the desired place on the map.
Once the map is downloaded, you might need to restart GpsDrive for the map to appear. Using the Options | Maps | Download command, you can download more detailed maps of the same region and use the arrow buttons right below the Zoom In and Zoom Out buttons to switch between the downloaded maps. Make sure, though, that the Auto best map checkbox is unticked to do so; otherwise, GpsDrive automatically selects the most detailed map for you.
GpsDrive has two operation modes. In default mode, the application tracks your position on the map and automatically downloads maps as you leave "uncovered" areas. Obviously, you need an internet connection for this mode to work properly, which can be a problem when you are on the move. With the Position mode, you can use the keyboard arrow keys or mouse to navigate on the map. As soon as you click or place the marker on an area not covered by any of the downloaded maps, the application switches to the generic Blue Marble map. Then you can download maps manually with the Options | Maps | Download command. This way, you can download maps for the desired region and then use them offline.
GpsDrive also offers support for POIs, and the application makes it easy to add and manage places on the map. To add a new POI, press and hold the Ctrl key, then click with the mouse on the map where you want insert a POI. This opens the Add Point of Interest dialog window (Figure 3). The Type drop-down list provides a large collection of POI types complete with icons, which makes it easier to identify the POI on the map. To add the POI, give it a name, choose the type you want, provide an optional comment, and press OK. To display POIs on the map, make sure that the WP checkbox in the left pane of the dashboard is ticked.
Although GpsDrive lacks route-planning capabilities, it does provide a rudimentary and slightly quirky routing feature that creates a straight route from your current position to a POI on the map (Figure 4). For example, if you want to create a route to the nearest bookstore, press the Find button and select the bookstore POI as your destination. Next, press Create route and hit the Select all WP as route button to add all existing POIs. Then select the bookstore POI and press the Start route button. In a similar manner, you can create routes that include several POIs.
POIs are not the only thing GpsDrive can handle. The Friends feature allows you to see other GpsDrive users close to your current position. To enable this feature, choose Options | Preferences and switch to the Friends section. Tick the Enable friend service checkbox and enter the name you want in the Your name field. The Show position newer than field allows you to specify how up-to-date the data should be. For example, if you only want to see users that are currently connected to GpsDrive's friend server, you might want to set the field to one to three minutes. Now press the Lookup button to find your IP address, then press OK, and you should see other users close to you. For each user, you can see his or her name, travel mode (car, bike, walk, etc.), and current speed. Better yet, GpsDrive allows you to send instant messages to any active user with the Options | Send Message command.
Although GpsDrive is a competent application, it can be a bit cumbersome in use. Moreover, it feels more like a desktop application than a tool to use on the move. So if you want to use your netbook or laptop for navigation when you are traveling by car or train, you might want to give tangoGPS [4] a try. To install tangoGPS, simply grab the packaged version for your system from the project's website.
The first thing you notice when you launch tangoGPS is its clean and functional interface (Figure 5). Its design does not stand in your way and makes your interaction with the application as straightforward as possible. The buttons at the top of the tangoGPS window allow you to switch to full-screen mode, zoom in and out on the map, and automatically center the map according to your current position, which is indicated by a blue marker. Instead of zoom buttons, you can use the slider on the right edge of the window for more precise zoom control. TangoGPS supports several keyboard shortcuts that allow you to control the application without using the mouse. For example, the PageUp and PageDown keys let you control zoom, and you can use the Space bar to toggle full-screen mode.
As soon as tangoGPS has acquired your position, it automatically downloads maps for the surrounding area, and it continues to download additional maps as you move or zoom on the map. TangoGPS also makes it very easy to download maps for offline use. To do this, right-click on the main map and select the Map Download menu item from the context menu. This opens the Map DL dialog. Here, select the desired zoom level and press OK. TangoGPS stores all the downloaded maps in a specified directory on your hard disk, so you only have to fetch maps once.
The context menu contains a few other useful items. The POIs menu item allows you to add points of interest to the map. Adding a POI is easy: right-click on the map where you want to insert the POI, select the POIs | Add POI command, and provide the required information. Although tangoGPS doesn't support turn-by-turn navigation, you can use POIs to create routes. To do this, click on a POI and choose Go To. This puts a blue flag at the POI, and the map displays the current distance and bearing to the target (Figure 6). This also adds a brown pointer to the GPS marker that indicates the direction to the destination.
The Photos item in the context menu hides a nifty feature: the ability to geotag photos and place them on the map. Better yet, this feature is very straightforward to use. Right-click on the map and choose photos | geotag. This opens the Photo Correlate dialog box. To add a track (this can be a GPX file or a logfile from tangoGPS), select the directory containing the photos you want to tag. Then adjust the time, so the time stamps of the track file match the time stamps of the photos. Make sure that the add photos to the tangoGPS database checkbox is ticked before you press OK. Now you should see your photos on the map.
In the tangoGPS interface, the status bar under the map area provides real-time information, such as your current speed, heading, and altitude, as well as the distance covered and satellite info (number of satellites in view and satellites used by the GPS receiver). Finally, several tabs at the bottom of the tangoGPS main window give quick access to different sections. The Trip section provides detailed information about your current trip, with Stop and Reset buttons that stop recording and reset current values. In the Track section, you can enable the track-logging feature that creates logfiles. Similar to GpsDrive, tangoGPS supports the friends feature, and you can tweak its settings in the Friends section. As the name suggests, Config allows you to adjust the tangoGPS configuration.
The application supports several map sources, and you can choose the one you like by selecting it from the Current repository drop-down list. By default, tangoGPS uses maps from the OpenStreetMap project, but it can also use the OpenAerialMap, OpenCycleMap, and even Google Maps repositories. The latter repository might sound like a good option, but the tangoGPS developer strongly discourages you from doing so because it violates Google Maps' terms of use. In theory, you can also specify additional map repositories, but finding a service that offers high-quality maps for free is virtually impossible. However, you can add an alternative OpenStreetMap repository called Osmarender. To do this, press the New button, give the new repository a name (e.g., Osmarender), and enter http://b.tah.openstreetmap.org/Tiles/tile/%d/%d/%d.png in the URI field (Figure 7). Then specify the directory in which to store the fetched maps and press OK.
Although neither GpsDrive nor tangoGPS can rival commercial GPS applications, you can still put them to some practical use. With either of these applications, you can view and use OpenStreetMap maps, save your trip data for use with other applications, store and manage POIs, and even geotag your photos and show them on the map.
INFO |
[1] OpenStreetMap: http://openstreetmap.org/
[2] gpsd: http://gpsd.berlios.de/ [3] GpsDrive: http://gpsdrive.de/ [4] tangoGPS: http://www.tangogps.org/ |