I discovered a site with some nice links about GPS navigating with Linux operated machines.
You can find the site here.
Ports and Applications for GPS Devices
NavIt is a car navigation system with routing engine. It's modular design is capable of using vector maps of various formats for routing and rendering of the displayed map. It's even possible to use multiple maps at a time. The GTK+ or SDL user interfaces are designed to work well with touch screen displays. Points of Interest of various formats are displayed on the map. The current vehicle position is either read from gpsd or directly from NMEA GPS sensors. The routing engine not only calculates an optimal route to your destination, but also generates directions and even speaks to you using speechd.
The Roadbook On-Board is a system that allows the easy creation of roadbooks, through graphical description of routes, using reference points. The system is also able to present those routes automatically, as a navigation aid for the pilot. The presentation is made using video and audio aids. This system is composed by two applications, one for creating and editing, roadbooks and another to display them.
OpenGTS is a full-featured GPS tracking system that includes the OpenDMTP server, yet also can support other remote tracking device types. It also provides a Web interface that provides GPS tracking and location reporting.
BlueGPS for RoyalTek RBT-3000
BlueGPS is a simple command line tool to download datalogs from the Royaltek RBT-3000 bluetooth GPS receiver under Linux.
QGPS is a small GPS status program that is designed to work with a NMEA-compliant GPS device that outputs the GGA, GSA, GSV, and RMC strings. Aside from displaying latitude, longitude, and elevation, it also reports satellite signal strength (signal to noise ratio) and positions in the sky using a custom widget (QSatelliteTrack).
Tux GPS - ucLinux for Magellan GPS
A new project is devoted to porting ucLinux to handheld Magellan GPS receivers and development of a firmware with open source code. While the firmware development will last a long time, the project is already can be used by people interested in the GPS system operation: soon you will be able to see signal reception, decoding of navigation messages from the satellites and coordinate calculation. These features will be added in the next release. So far you can collect the information about the hardware, download necessary tools and start experimenting with GPSR programming. You will not need even to replace your current firmware: the programs are loaded over serial interface and are running in RAM of the unit.
GPS and Mobile Phones
GPS Tracker allows someone to track a GPS enabled cell phone using Google Maps. The project was tested with a Motorola i355 cell phone on the Sprint/Nextel network. You need to have a data plan with the cell phone provider so that you can make updates to your Web site from the cell phone. There are two projects available. The first project is built with PHP and MySQL. The second project is built with .NET and Microsoft SQL Server. Both projects use Java (J2ME) on the cell phone.
O2PosTrack is a console-based C++ application for retrieving position information from a mobile phone as provided by the (German) O2 mobile phone company. It runs on Linux and Mac OS X, has configurable output streams (CSV file, GNU-Plot data files, etc.) and should work with all GSM-compatible mobile phones connected via serial link (e.g. IR or USB-to-serial converter).
Trip Tracker is a position tracking client-server system. It's designed to assist people in setting up a real-time tracking environment with either a private or public tracking server. The Trip Tracker GPS client sends coordinates to the tracking server to update its position. In the event that the GPS client loses its Internet connection, it can send all collected coordinates to the tracking server as soon as it's back online. The tracking server saves all the coordinates and can forward them to listening map clients.
GPS Suitable for PDAs
EPS - The Elgaard Positioning System
EPS - The Elgaard Positioning System , for Java VMs and browsers uses JavaVM 1.1, PersonalJava or Insignia Jeode from Sharp Zaurus.
GpsDrive is a car (bike, ship, plane) navigation system. GpsDrive displays your position provided from your NMEA capable GPS receiver on a zoomable map, the map file is autoselected depending of the position and prefered scale. Speech output is supported if the "festival" software is running. The maps are autoselected for best resolution depending of your position. All Garmin GPS reveiver with a serial output should be usable, also other GPS receiver which supports NMEA protocol. GpsDrive is written in C with use of the GTK+ graphic toolkit. This programm is tested on the Samsung YOPY Linux PDA and should work on other ARM based Linux PDAs (like the SHARP Zaurus or the COMPAQ iPAQ ), too.
Roadnav is an in-car navigation system capable of running on a variety of operating systems, including Linux, Windows, and Mac OS X. It can obtain a car's present location from a GPS unit, plot street maps of the area, and provide verbal turn by turn directions to any location in the USA. It uses the free TIGER/Line files from the US Census Bureau to build the maps, along with the GNIS state and topical gazetteer data from the USGS to identify locations.
zGPS is a program for displaying GPS information from an attached GPS unit on the Zaurus, or iPaq handheld. The software is till in early beta, but can display the satellites in view, along with signal strength, and the map of their position. Future plans are to have features such as tracklog saving, logging of the raw NMEA data, and waypoints.
Happy Camel is intended to combine your digital camera with your GPS device. You feed it a list of digital photos and a tracklog, and it figures out where these images were taken, embeds this position in the EXIF-data, and creates a Google Earth file with the photos at the right positions along the tracklog.
Karto allows you to calibrate a scanned map with some known geo-points (Lambert, UTM, etc.).
RoadMap is a program for Linux that displays street maps. The maps are provided by the US Census Bureau, and thus only cover the US. Specific areas are displayed by selecting a street address (street number, street name, city, and state). RoadMap has been designed to be usable on both a desktop or laptop computer, or on a PDA.
"zRoadMap is a port of RoadMap for the Zaurus. It uses the 2002 US Census Bureau TIGER/line maps in a compressed format that you can build yourself or download from the homepage (Average 30Megs per state - or smaller if you just want some counties). Supports many GPS input devices, address locator, address book, waypoints, street information, direction up, zoom, festival speech output. Navigation is currently being worked on and any help is appreciated in making this better. It's currently ported to x86 (GTK/GTK2/QT/QTe), Ipaq (GTK/QT/QTe) and Zaurus (QTe)." [GA]
You may download US maps for zroadmap from the Zaurus Maps directory by Guylhem Aznar. He will try to gather additional vectorial and pixmap maps from other countries, too.
pygps is a Python GPS user interface (especially for Linux PDAs like the iPAQ or the Zaurus) . It shows a listing of satellites, their locations in the sky, a list of latitude, longitude, altitude, status, etc., and moving maps.
Mapview is a viewer for Terraserver tiles. It downloads them on-demand and interactively, and lets you overlay a GPS track and edit it.
GPS Street Map Viewer for Linux.
qpeGPS is a program for displaying a moving map centered at the position read from a GPS device. It's designed to run on a PDA with Qt/embedded (qtopia).
Cumulus for Glider Pilots
Cumulus is a program for Qtopia and OPIE, aimed at the soaring community. It provides a moving map display with all the information you need to easily navigate while requiering a minimum of user-interaction. It uses a NMEA compatible serial GPS to provide it with information on the current position, altitude, heading and speed. Of course, Cumulus supports waypoints and can calculate the distance and heading of your waypoint. Cumulus is a fork of the KFLog project, a program aimed at flight planning and flight analysis for gliders.
HOWTO: Zaurus PDAs and the Garmin GPS-16
This HOWTO is a detailed description of how to use a Sharp Zaurus PDA with a Garmin GPS-16 12-channel WAAS GPS receiver. It will be applicable to using any laptop/PDA with a serial port with a Garmin GPS-16, and easily adapted to many others. The project requires some basic cutting/measuring/soldering skills.
GPSExplorer is a program for communicating with Garmin GPS units, and is easily extended with plugins.
TGPSD is an alternative gpsd implementation. It talks directly to a NMEA GPS reviever, and supplies local and remote tcp clients with position/time data. It aims to be compatible with all software that currently uses gpsd on the back end. Also, it adds a few extra commands for retrieving satellite information.
Position is a GNUstep GPS navigator. It requires a GPS receiver that knows the NMEA protocol.
GPSMan (GPS Manager) is a graphical manager of GPS data that makes possible the preparation, inspection, and edition of GPS data in a friendly environment. It supports communication with both Garmin, Lowrance, and Magellan receivers, and real-time support for any receiver using NMEA-0183. It can also be used in command-line mode.
GPSFET (GPS Firmware Editing Tools) facilitates editing of Magellan GPS firmware. It allows you to, for example, replace the English words in the firmware with words in another, unsupported language, or add your personal information to the startup screen of the device. Other tools under development will allow modification of the graphical display of GPS data and the ability to upload (or import from SDCARD) vector and pixel maps obtained from free sources.
GPS3d is a set of utilities that lets you manipulate your GPS from your Linux box. One nice feature is the ability to view GPS data (track, waypoints, fix, etc.) on an OpenGL, 3D texture-mapped model of Earth. It also includes a generic serial port broadcaster daemon than can be used to multiplex access to any serial device (clock, gps, etc.) over the Internet. Finally, it can dynamically download maps from mapblast and map them onto the 3D model of the Earth. GPS3d is ported to Mac OS X and Linux.
gpsd is a daemon that listens to a GPS or Loran receiver and translates the positional data into a simplified format that can be more easily used by other programs, like chart plotters. The package comes with a sample client that plots the location of the currently visible GPS satellites (if available) and a speedometer. It can also use DGPS/ip.
ngpsdi is a replacement daemon for gpsd, and will feature more functionnality, among those, there will be a dbus interface to send GPS information to various processes in the system.
BBBIKE looks up bicycle paths through Berlin (Germany). It contains app. 2.100 streets (almost any main street and some important other streets).
CycleAtlas is a cycling diary based on a custom road atlas. It can be used to store or to plan new rides. Functions includes generation of planimetry, profiles, and route time tables of rides. A map editor is included, in order to create a custom road map. project page: http://freshmeat.net/projects/cycleatlas/
GPSUTIL is a program to upload and download waypoints from a Magellan GPS unit. It also supports getting the current position, heading, and speed from any NMEA 2.1-compliant GPS.
Xastir is an APRS client program that uses amateur radio and internet services to convey GPS mapping, weather, and positional data in a graphical application. It has been developed by and for amateur radio enthusiasts to provide real-time data in an easy to use package.
dgpsip differential GPS
This tool offers DGPS corrections over the Internet. On a stationary GPS without a differential correction signal, you should see a 20m average radius "random walk" pattern. On the same receiver with DGPS corrections and a good view of the sky, the error should be reduced to approximately 2m average radius. If you've always wanted to see how clean the GPS signal is once the government-induced noise signal is removed but didn't want to spend the money for a DGPS radio, here is your big chance!
Net::Friends allows for the reporting to and querying of GPSDrive-style friendsd servers. The friendsd server use simple UDP messages to update and report the most recent known position, speed, and direction of people and things.
The GPSTk provides both fundamental and advanced GPS processing algorithms. A wide array of functions are provided by the library, notably RINEX I/O, ephemeris calculation, atmospheric refraction models, and positioning algorithms. GPSTk applications provide more concrete benefits to the user, including cycle slip detection and removal, calculation of the Total Electron Content (TEC) of the ionosphere, and RINEX file manipulation.
GRASS GIS on Handhelds
GRASS GIS is available as package for Familiar Linux distribution.
OpieQuest is a Perl/Tk script by Jon Nelson, that extracts the driving directions from MapQuest. OpieQuest was specifically written for use with mapquest.com URL's and others may be added later.
mb2route is a Perl script to convert detailed directions from MapBlast to waypoints and a route file suitable for Garmin GPS devices. This allows detailed directions to be followed without having to purchase expensive mapping CDs or routing software.
GPSBabel converts waypoint data between over two dozen file formats, including major Palm, PC, and GPS serial formats. It is endian and word-size safe, includes a GUI, and runs on a variety of operating systems. It also supports Groundspeak GPX extensions for geocaching. Includes Windows and Tcl/Tk GUIs, support for the Magellan 315, Garmin D109 (including the GPS V), and Magellan SporTrak serial units, and support for the Magellan Navigator, Delorme TopoUSA/XMAP conduit, Topo Map Pro, and GPS Drive file formats. The Groundspeak GPX extensions are now also supported.
Python-GPSBabel is a Python wrapper around GPSBabel. It is a complete interface for Python, allowing easy mechanisms for the developer to control GPSBabel from within a Python application.
Viking is a GTK2-based GPS data editor and viewer. It can download and show Terraserver maps, import and draw tracks and waypoints over them, add coordinate lines, make new tracks and waypoints, hide different things, and more. It uses a hierarchical layering system to organize GPS data, maps, and other layer types with spatial data (such as coordinate lines).
GMap is a graphical tool for editing GPS maps. It can import data from gpx, kml, and polish format files and will write files suitable for compilation by the cGPSmapper Garmin map compiler.
mag2top and top2mag are Perl scripts that translate between the Magellan GPS data format and the data export format used by the German, Swiss, and Austrian TOP50 topographical map software.
gpx2shp converts GPS or GPX file to ESRI Shape file.
FlyWay is a navigational route planner for pilots. It allows the user to find and select waypoints (airports, navigational aids, and fixes), then calculates distances, courses, wind corrections, and times. Information about the waypoints is provided (including frequencies, elevation, fuel availability, and runway descriptions). The route data is also used to fill in an editable FAA Flight Plan form. FlyWay has an X11 GUI based on the PyQt library.
nmeap is an extensible parser for NMEA-0183 (GPS) data, written in portable C. It has a small footprint, is portable, extensible, and I/O agnostic. It is suitable for Linux, Win32, and embedded systems. It has built in support for most useful standard NMEA sentences, and is extensible to add additional standard and proprietary sentences. It builds to a linkable library for embedding in other applications.
Linux Tools for Google Maps
Google Cartography uses the Google Search API to build a visual representation of the interconnectivity of streets in an area. This application takes a starting street and finds streets which intersect with it. Traversing the streets in a breadth-first manner, further intersections are discovered. Eventually a connected graph is produced showing the interconnectivity of streets flowing from the starting street.
Open Source GPS HOWTO
Using a Garmin Edge to plot cycle routes with Google Maps on Linux.
Localis is a GIS (Geographic Information System). It is a phpmapscript implementation intended to provide an easy end user workspace and frontend. It links a MySQL database and classic arcview-type files (.df, .shp, and geotiff).
GPSMap is a Java application that displays maps and shows your position with the aid of a GPS device. It can track paths, load overlays (such as shape files), and download maps from the MapBlast and Expedia servers.
phpGIS is a set of PHP scripts that uses the MapServer PHP/MapScript libaries to provide a full GIS system with the ability to select layers, display aerial photos, link to databases (currently only MySQL), and show geographic information. It is compatible with ESRI shape files.
MapEditor allows users to load tracks generated by NavSys and use these tracks to create street maps of an area. http://www.navsys.org/mapeditor/
Tiger Map Server
The Tiger Map Server dynamically renders road maps of the United States. The server contains a multi-threaded Web server and a custom drawing library. All un-projected shape files are supported, including ESRI's version of the US Census' Tiger/Line Database.
waypointmapper is a small Perl script that grab coordinate data created by gpsdrive from MySQL and retrieves relevant maps. It is useful for populating map data for a new gpsdrive installation.
NPGPX is a Netscape plugin that can display routes, tracks, and waypoints from a GPX file. GPX (GPS eXchange) is an interchange format for GPS data. You can publish your GPS data online, and other people can use this plugin to view the data. It supports zooming and panning. The plugin is written primarily for Firefox on GNU/Linux, but it should work with other browsers that support Netscape plugins. It may or may not work on other operating systems.
xgps is a simple test client for gpsd with an X interface. It displays current GPS position/time/velocity information and (for GPSes that support the feature) the locations of accessible satellites.
The International GPS Global Positioning System Waypoint Registry TM is building a World Wide Database of GPS coordinates. Their mission is to have a web site where people can exchange information about their travels.
The Community Mapbuilder allows users to enter geographic features in a Web browser, save it to a server along with other features, then present the features back as a map layer in a Web browser. It uses open standards as defined by the Open GIS Consortium.
MapGeneration Project is a project featuring a server and helper programs to collect GPS information from various sources and to then automatically generate a continuously improved, time annotated road map.
OpenStreetMap allows you to view, edit and use geographical data in a collaborative way from anywhere on Earth.
WikiMapia is a Web 2.0 project to describe the whole planet Earth, inspired by Google maps and Wikipedia.
OpenAerialMap is an open collection of aerial photographs, collected into a single coherent view of the world.
Clew is a chart plotting program. Connect a GPS to your laptop, load some maps, and watch the dots crawl across the map as you drive, sail, etc. It currently works with maps scanned/photographed into the computer and any GPS with NMEA output.
OpenDMTP (Open Device Monitoring and Tracking Protocol) is a highly configurable and extensible protocol for communicating with mobile devices over high-latency/low-bandwidth networks. The protocol is particularly geared towards the transmission of GPS base location information and includes a full-featured reference implementation showcasing its capabilities.
Whitestone Interactive GPS Software - WIGS
WIGS is both an API to talk to a GPS receiver over the serial port via the NMEA protocol supported by most GPS receivers, as well as an application that uses this API.
The OpenTom Wiki tries to provide information about the TomTom GO, a linux-running all-in-one car navigation system.
GPicSync automatically inserts location in your photos metadata so they can also be used with any 'geocode aware' application like Picasa/Google Earth, Flickr, loc.alize.us, etc. GPicSync stands for G:GPS Pic:Pictures Sync:Synchronization and is a Free and Open Source tool.
tangogps is an easy to use, fast and lightweight mapping application for use with or without GPS. It runs on any Linux platform from the desktop over eeePC down to phones like the Openmoko Neo. By default tangoGPS uses map data from the Openstreetmap project. Additionally a variety of other repositories (e.g. openaerial and maps-for-free) can be easily added. The maps are automagically downloaded and cached for offline use while you drag or zoom the map. Furthermore you can conveniently pre-cache areas with tangoGPS. It is kind of a modernized version of gpsdrive designed for easy use and has come to a stable and mature state.
YAMA, Yet Another Map Application
YAMA is a map viewing application intended for use on PC, PDA, OpenMoko. YAMA uses a vector based map model to render the map. YAMA also includes a converter that converts existing maps to YAMA own format.
J2ME Map is a small interface to GoogleMap that allows you to do the following things: * Browse the entire GoogleMap database * Swith from GoogleMap/Satellite, MSN Virtual Earth Maps, Ask.com and Yahoo!Maps * Switch between satellite or map view * Zoom in/zoom out * Do request to google maps, and show results on screen * Save your favorite locations * Have access to some rss feed to discover some new locations * Can be extended with your own data * Automatic painless saving of your preference... * Use an embeeded GPS if present, to be automatically located * Use an external GPS connected with Bluetooth, if present * Support of GPX/KML/LOC file format * Support for touch screen enabeld handsets * Track management: record, load, save track * Import/Export track from internet, bluetooth, or lical file system * Take and upload geotagged pictures to Flickr * And some fun stuff: browse realtime the Flickr geotagged pictures! * Find Fon hotspot near you with your mobile phone!
locr connect pictures with geographic data. Now pictures can be sorted by locations and can be better administrated. The visualisation of the positions is based on digital maps, as well as arial photos and satellite pictures. Pictures can be uploaded to the locr community and shared with friends.
gpx2map reads a GPS track in GPX format (as produced by e.g. gpsbabel) and writes out a Google or Yahoo! Map Mash-up containing the route. It comes in handy, for example, when you own a GPS handheld and want to know where you wandered around last time.
Gosmore is a viewer of OSM XML data such as the planet.osm.
PyTrackProfiler allows you to create high quality PDF route sheets, which useful for planning various kinds of routes (hiking, biking, etc.). It also computes useful information using the track data (time, altitude, etc.) so you can analyze an unknown track. An elevation profile and a projection representation are created. It includes high quality classes for drawing line graphics (XY axis, multi-Y axis, autolabels, autoscale, etc.), parsers for OziExplorer and CompeGPS file formats, support for UTM to latitude/longitude conversion, distance calculation, and angle calculation, support for the Polar HRM hear rate monitor file format, a PDF generator, and more.
gipfel is a tool to find the names of mountains or points of interest on a picture. It uses a database containing names and GPS data. With the given viewpoint (the point from which the picture was taken) and two known mountains on the picture, it can compute all parameters needed to compute the positions of other mountains on the picture. gipfel can also generate (stitch) panorama images.
Pytrainer is a tool to log all your sport excursions. It is originally programed for cyclists, but it can be used for any other type of sports. It offers routes and excursions statistics log, Googlemaps integration to display GPS tracks, viewer and editor of waypoints integrated, plugin system for multiple GPS devices and more.
Le Petit Poucet GPS Software
Le Petit Poucet is a program to display and edit GPS routes and tracks in a 3D scene. The aim is to build the scene around the GPS data and 2D maps or 3D terrain models.
OpenTom MP3 Player
So what to do with your precious TomTom GO while you're cruising the neighbourhood at home? No need for navigation - you know the streets by heart. Well, this is the perfect time for some serious rock: The OpenTom MP3 Player.
Linux GPS HOWTO for Beginners
A HOWTO for Linux GPS usage including some basic concepts for the beginner as well as some hints about GPS data conversion.
Geotagging and Google Earth
This HOWTO explains geotagging files with libferris and Google Earth.
How to Use GPS Data with Yahoo
This document explains how to use GPS data as route overlay in Yahoo (in German.
Controlling Google Earth with Python
A short guide to show you how to start controlling Google Earth with Python (through its API COM).
Google Earth gpsd (GEgpsd)
GEgpsd is a little python program (together with a kml file) allows real-time GPS tracking in Google Earth from any standard NMEA device. It's been initially written for GNU/Linux, but with tiny modification (namely the serial device name) it should work on other platforms that support python and have python-serial available.
Observations of the Garmin-Garmin Protocol
This is a description of the GARMIN-GARMIN protocol as spoken by the Garmin GPS-75 GPS receiver and the Garmin PCX5 MS-DOS software. The information here has been determined by observing the communication between the two units while sending "choosen plaintext".
Data Transfer from a Garmin GPS to a Linux PC
This HOWTO explains howto achieve a data transfer from a Garmin GPS to a Linux PC.
QLandKarte make is possible to use your Garmin GPS with Linux. It's a tool to visualize and manage GPS data in a decent way, using IMG format files for maps and provides a GUI to visualize such files. QLandkarte has been ported to Linux, Win32 and OSX.
Wireless Non-GPS Navigation
"Place Lab is software providing low-cost, easy-to-use device positioning for location-enhanced computing applications. Place Lab tries to provide positioning which works worldwide, both indoors and out (unlike GPS which only works well outside). Place Lab clients can determine their location privately without constant interaction with a central service (unlike badge tracking or mobile phone location services where the service owns your location information). The Place Lab approach is to allow devices like notebooks, PDAs and cell phones to locate themselves by listening for radio beacons such as 802.11 access points, GSM cell phone towers, and fixed Bluetooth devices that already exist in large numbers around us in the environment. ..."