Making Tracks with Homebrew-ware
From OpenStreetMap
Contents |
Laptops
Windows
- BSGPS
BSGPS Free rich feature software is able to show OSM maps (Mapnik / Osmarender) or "static" maps and track current position if a GPS receiver is attached to laptop. Track logging with GPX export for uploading with JOSM. Speed camera warnings/POI/Speedometer/Compass etc. Now able to import GPS Logs(Nmea), MASPware GPSmeter, from PDA, Navman etc and export extracted Track info to GPX.
Written in VB.Net so it needs the .Net 1.1 framework loaded (included in the install). It requires .Net 1.1 even if .Net 2.0 or later is installed. The program also needs a minimum screen resolution of 1024*768 to run.
- VisualGPS
VisualGPS, LLC Free program whose main purpose is to display graphically specific NMEA 0183 sentences and show the effects of selective availability. It gives good visual overview over all satellites in view and signal quality. Can record NMEA sentences to a log file, and play them back later.
The program needs a minimum screen resolution of 800*600 to run.
Linux / Windows / OSX (cross platform)
Software
- JOSM with surveyor and livegps plugin. Unfortunately the needed gpsd is only available for Linux/OSX, therefore this isn't working under Windows.
- GPSylon
GPSylon
GPSylon is able to show maps downloaded from the Expedia map servers, maybe in the future from OSM. It may connect to a GPS device, track your position on the maps and export it to GPX. At the moment, it is able to read gpsdata in the NMEA standard from a serial GPS device, a file or a GPS daemon across a network. It's made in Java, so it's cross platform.
Linux
Software
Debian is a free Linux distribution with everything you need E.g:
- gpsd (and gpsd-clients)
- gpxlogger
- gpsdrive
- gpsbabel
- proj
- qgis
Gpsd
Gpsd interfaces to your GPS receiver, starts it up, and understands the NMEA and Sirf formats; you will likely need it to be running in order to use other programs (other programs do not understand NMEA or Sirf, but talk to gpsd to get the current position).
You can use the gpsd to just dump the data that comes in from the GPS, like this:
echo rw | nc localhost 2947 > CAR-Stockholm-Linköping.dump
This is very lite and technical, but it's almost completely foolproof. I've got a script that will convert this dump to a GPX, alas only for gpsd versions less than 2.29. The Gpsd dump can also be converted with gpsbabel. You can use the filters within gpsbabel to remove points close to each other, and unreliable points.
gpsbabel -i nmea -f gpsd.dump -o gpx -F gpsd.gpx
Gpxlogger
Gpxlogger needs a running Gpsd in your system, but it saves you from running gpsbabel through your data, as it writes .gpx files directly. If you just want a GPX log to upload it to OSM, gpxlogger is the best option.
Keep in mind that the "output file" option may be broken, so please redirect the standard output to a file:
gpxlogger a.gpx > b.gpx
Your trace will be in either "a.gpx" or "b.gpx", depending on your gpxlogger version.
In Debian, gpxlogger is part of the "gpsd-clients" package. In Mandriva, "urpmi gpsd-clients" works.
Gpsdrive
One option is gpsdrive. It can record a track of where you've been which can then be converted to GPX. gpsbabel understands the gpsdrive format, but will treat all the points as waypoints rather than making a track of it. I knocked up a quick 'n dirty tool, gpsdrive2gpx.pl which creates a track instead. Use it like follows:
./gpsdrive2gpx.pl < ~/.gpsdrive/track0000.sav > my-track.gpx
Alternatively you can import it with osmtrackfilter
./osm-filter.pl ~/.gpsdrive/track0000.sav output is: ~/.gpsdrive/track0000.sav.gpx
This can then be edited with osm-editor or imported.
If you get the error
Can't locate Date/Parse.pm in @INC
it's because you need the TimeDate module. On Gentoo for example
emerge dev-perl/TimeDate
On ubuntu
sudo apt-get install libtimedate-perl
Kismet
Configure kismet to log gps data (enabled in the default setup)
logtypes=network,csv,xml,gps
Kismet will then log track points to the gps file when it hasn't got any wireless network data to store, resulting in a usable tracklog. The script osmtrackfilter can convert kismet files to proper gpx files.
./osm-filter.pl kismet-xy.gps
Or use kismet2gpx.py like
python kismet2gpx.py < kismet-xy.gps > kismet-xy.gpx
The resulting .gpx file can be used for mapping.
Mapper
Mapper is a fork of Maemo Mapper that can use OSM data in different ways and runs on plain GTK+. It's still very much work-in-progress.
Hardware
A cheap old laptop can be used to make tracks. My system is an old dell with two battery slots which give it a 6 hour battery life, with the screen off and the hard drive powering down for much of the time. It has a broken screen and keyboard but is set up with a wifi network card and USB GPS unit. It records tracks automatically and handles powering off and the GPS being unplugged gracefully. Whenever it sees a known network you are allowed to use, the System emails or uploads you the GPXs it has recorded and then backs them up in case the email fails. A laptop is a little clunky but it has huge storage capacity. The software used will be detailed soon.
Ipod
I've tried hooking up a GPS to an Ipod running Linux, that worked for the minute or two we used it. YMMV.
PDAs
A PDA (or Smartphone) can be quite suited to logging data for use with OpenStreetMap. When used in a car the separate GPS receiver may be placed on the dashboard for best signal reception, while the PDA is mounted for convenient, legal access. PDAs typically have enough memory and processing power to store many tens or hundreds of thousands of points, ideal for logging a long journey or day of tracking. Their principal disadvantage is limited battery life, especially if power saving features disable bluetooth. However most car mounts integrate charging from the cigarette lighter socket.
Windows Mobile
Free Software
- creates and displays tracks, can add notes to trackpoints, tracks can be exported to GPX files. Should work on any reasonably modern smartphone either with built-in GPS or an external GPS puck.
Free of Charge
- OSMtracker is an application for the Windows Mobile PDA/Pocket PC. Features : waypoint annotations, voice annotation, logging to gpx, optional raw nmea logging, map display with position marker, speed graph
- Displays and positions Mapnik or Osmarender tiles (zoom 10 to 17) as you move. Records track data at user selected time intervals in GPX for export to JOSM. Records waypoint (POI) data with descriptions(optional voice description with playback). All data compatible with BSGPS(see Windows software) formats.
- Records track data in NMEA format.
- Records track data in NMEA format.
- Exports GPX files. Map display with position marker, trace and elevation.
- creates GPX files directly and has various options to control the frequency of recording. It displays the traces on the screen and can record waypoints, although they are not currently compatible with OSM (replace "rtept" with "wpt" in gpx file works as a work around). Stored traces can be followed with waypoint information being displayed (or played, if audio has been recorded) as they are approached. The current version (v1.2 build 263) has a problem with altitude which is incorrect both on the display and in the GPX files.
- VisualGPSce is a free PocketPC application (2002 / 2003 / Windows Mobile 5) that displays GPS data graphically as well as record the raw GPS data (NMEA 0813) to a file. Other features include NMEA logging/playback, GPS signal quality, satellite azimuth/elevation, analog gauges and statistical position averaging.
Commercial
- can display the driven track and display also garmin maps OSM Map On Garmin. Unfortunately there is an bug in the nmea log, that needed an extra converter to change the newline char (sed "s.\r.\n.g" < $file > ${file}a).
- GPSDash (23€)
- is known to work as a logger, with an external Bluetooth GPS receiver.
- OziExplorer CE (with trial, $30.00)
- can log the track while showing your position on a raster (eg. scanned) map.
- CompeGPS Pocket Land (limited demo, full 50.00 €)
- Navio (Shareware, 23 € ~ 24.9 $)
- I have found it quite practical and reliable for OSM tracking (on an iPaq 6915). Logs are in NMEA format. You have to buy a licence to make logs. Waymarking facilities are poor. Can display position on a downloaded PDF or JPEG map image but I haven't tested that.
- Glopus (sharewere, limited demo, full: €20,00) (PocketPC 2002)
A popular tool to convert many formats to GPX is GPSBabel. See Making GPX Tracks for more on this.
Linux
Zaurus
There are a few models of the Sharp Zaurus PDA which run Linux by default. These can be set up like the the Linux laptop above, but have a smaller memory and shorter battery life unless you plug them in to the cigarette lighter or something.
The Zaurus C860 (the C760 clamshell with a larger battery) lasts about 4 hours with a Compact Flash GPS card. Drivers for the SiRF GPS chipset have been ported to the Zaurus and ipkgs will be made available Real Soon Now...
QpeGPS comes with a (very old) gpsd binary and runs on any Zaurus.
Redirecting the gpsd output into a dump file and process it with gpsbabel (use filters to remove close and unreliable points) or read it directly with JOSM works nice together with QpeGPS.
On OpenZaurus you can run the following (provided that you have installed the "gpsd" package), then manually type 'rw <enter>' to start collection. Check the "Debian" section above for tips on using gpxlogger (in the "gpsd-clients" package).
nc localhost 2947 > trace
PyGPS takes in NMEA, logs your movements, and displays your location on any georeferenced image with a world fille.
Maemo
Maemo is a Debian based Linux distribution, maintained by Nokia. It has been used as operating system in Nokia's Internet Tablets N770, N800 and N810.
Maemo Mapper
Maemo Mapper is a free mapping software created for Maemo platform. It supports downloading maps from OpenStreetMap and stores GPS tracks in GPX format. Here are some notes on creating a track with Maemo-mapper
Mapper
Mapper is a fork of Maemo Mapper that can use OSM data in different ways. It's still very much work-in-progress.
Other
Also gpsd, GpsDrive and Kismet mentioned in Linux software section are available for Maemo. [1]
Palm OS
Any GPS receiver which outputs an NMEA stream (nearly all of them) should be suitable for use with a Palm. The connection can be made through a cable (normally offered or supplied with the receiver) or via Bluetooth. For Palms that have an SDIO slot, a miniature receiver that plugs directly into the PDA is available. Pocket GPS World reviews and compares many models.
There are a number of pieces of software for use with GPS on a Palm PDA. The cotoGPS application is freely downloadable, and has been found to work well in combination with a bluetooth GPS receiver. To produce a GPX file suitable for uploading to OpenStreetMap use cotoGPSDT. This desktop companion to cotoGPS is written in Java, so is crossplatform. When running cotoGPSDT, the following command line is recommened, to avoid running short of memory:
java -Xmx384m -jar /path/to/jcotoGPS-0.8.5.jar
It is also possible to convert cotoGPS tracks with gpsbabel:
gpsbabel -i coto -o gpx gpstrack.pdb gpstrack.gpx
Alternatively the freeware Cetus GPS software can record track logs, in its own proprietary format, which can then be converted to GPX tracks using either GPS Babel or GPS TrackData.
Other alternatives are GPS4Palm and nauta. In contrast to cotoGPS and Cetus GPS, both are open source freeware. GPS4Palm works with my Bluetooth GPS receiver but is somewhat limited by the fact that it tries to emulate a Garmin unit for exporting tracks. It also supports displaying the position on bitmap maps. Nauta didn't want to work for me, so I cannot comment on it.
The Java application trekbuddy, see "Mobile Phones / J2ME" below, can be used on a Palm device too.
It should be noted that Palm database files are limited to 65000 records, due to their 16 bit nature. This translates to 18 hours of logging at 1 point/sec in cotoGPS. Finally, if you choose to use cotoGPS, please send a postcard to the author.
OSMTiles is a free application for PalmOS. The main purpose is to represent the OSM map on the Palm. It can connect with a Bluetooth-GPS receiver and show the current position on the map. Additionally POI's can be saved as a GPX-file. A windows application comes with Palm software to download the tiles and convert them to a map that can be transfered onto the PDA.
Mobile Phones / J2ME
Free Software
- Vector display OSM data, zoom, can search map
- Mapnik and osmarenderer tiles as background, Display gps track as you record. Records waypoints. SMS capability. Saves (streams to file) track as GPX or KML.
- Works for J2me, Windows Mobile, PalmOS
- IBM J9 Java (Treo 650 and 700w, iPaq hw6515a)
- Very simple software, no graphical display, but a good alternative for old phones with few memory.
- Can send tracks directly via HTTP to a server
- Simple example.
Free of charge (not free software)
- Viewer and tracklogger for OpenStreetMap. It supports use of the phone's built in camera to capture images associated to a location.
- Records tracks, displays packaged osmarenderer maps using http://osm.bandnet.org/browse/ Higgy's utility. It also runs on Palm Tungsten T3.
- Vector display garmin map data and .osm data. Not open-source. Have to pay to get osm integrated into the midlet.
If you have a Nokia phone and compatible GPS (or a Nokia with a built in GPS) you can download the free SportsTracker software. This software produces a track log of you journey which can be exported in various formats including GPX. There are two versions dependant on your phone model. The currently supported phones are
Series 60 Version 3.0: Nokia N71, N73, N75, N76, N80, N80ie, N91, N92, N93, N93i, E50, E60, E61, E62, E65, E70, 3250, 5500 Sport, 6290; Series 60 Version 3.1: Nokia N95, E61i, E90, 6110 Navigator;
Nokia phone users can also geotag photos using Nokia Location Tagger. Tested with: Nokia N95, N95 8GB, N82, E90, E65, N73. Should work but not fully tested with: all Nokia Nseries devices based on S60 3rd edition.
Commercial
Bike GPS Mobile Can create track logs as the homepage says. I did not test it! The software costs 34,95 €.
mobitrackpro Can record and display tracks, possible to display osm. $25
Mobile Phones / C++
WhereAmI
WhereAmI GPLv3, Symbian OS C++ (S80,S90,S60v2,S60v3,UIQ3)
Downloads OSM vector data from API, Records GPX trails, Annotated locations can be saved to GPX or uploaded to test osm map correction api (burghthof.nl/osm), blog items to symbianos.org and postcodes to freethepostcode.org
It has it's own page in this wiki at WhereAmI.
Mobile Phones / Python
PyS60Editor
Christopher Schmidt (of OpenLayers fame) started hacking on an OSM editor for Symbian S60-based mobile phones. http://wiki.openstreetmap.org/index.php/PyS60Editor
gpspys60
Jype has written a lightweight Python script for S60 phones that dumps the NMEA-0183 lines into a file that works with most bluetooth GPS receiver.

