From OpenStreetMap Wiki
Jump to navigation Jump to search

Your GPS receiver might output or record your tracks in NMEA format, this is a format that can easily be converted to GPX so you can upload it to our website. Even though GPX is preferred there are still several OpenStreetMap tools that support NMEA including new versions of JOSM.

Describing what is what in NMEA

You might need to know what the NMEA key words are, if you buy a GPS or if you want to setup and configure your device. E.g. a specification can say "This unit support the Commands: GGA, GSA, GSV, RMC, GLL och VTG"

NMEA command definitions


is the recommended minimum sentence, it


Global Positioning System Fix Data; can also contain DOP information (I think)


DOP values. My interpretation of this is (which might very well be wrong): If these values are high your data is guarnteed to be bad, if low you data might be bad anyways. It only indicates how the sattelites are positioned and how that effects your position, you might still have radio interference that might mess things up.


Satellites in view


Geographic Position - Latitude/Longitude


Track made good and Ground speed, how far, long and at what compass direction have been travelling (in short; speed, heading and log)


UTC Date/Time and Local Time Zone Offset (Log the timezone you have setup in the device)

NMEA information sources

Uploading NMEA text dumps (web interface)

At https://richard.dev.openstreetmap.org/upload.cgi , you can upload your tracks in NMEA (or any other) format to OSM.

The script will use gpsbabel to convert your tracks to GPX, then upload them to the main server, saving you the effort!

Support of NMEA

This is true for the NaviGPS and for Neo1973 using gllin driver. If your GPS receiver logs in NMEA format, you will need to convert the NMEA files to GPX before you can upload via the OSM website in order to make them public. New versions of JOSM can handle NMEA files.

It exists a windows application supporting live NMEA on OSM maps under http://gawisp.com/perry/nroute/

Raw NMEA Data

NMEA message strings are in the form:


Where the chars following $GP and preceding then first "," i the message type. They contain different sets of information, but the information is duplicated in different commands, so you will get your position in many of these commands.


The fields are

  1. Time (UTC)
  2. Latitude
  3. N for northern hemisphere and S for southern
  4. longitude
  5. East or West of prime meridian
  6. Type of GPS fix, 0=none, 1=fix, 2=DGPS
  7. Number of satellites used for fix
  8. HDOP. estimated error of position in the horizontal plane
  9. Altitude
  10. M=meters (unit of previous field)
  11. Geoidal separation
  12. M=meters (unit of previous field)
  13. DGPS channel


Data about what satellites we were using, and errors.

  1. xx
  2. type of fix: 1=none, 2=2D, 3=3D
  3. satellite IDs (lots of fields)
  4. PDOP (0-50 where 0 is good)
  5. HDOP
  6. VDOP
  7. Checksum

Software support

  • GPSBabel — CLI/GUI converter, can read and write NMEA
  • GpsPrune — for view and edit tracks: can read NMEA, but can't write in NMEA
  • JOSM — editor, can read NMEA, but can't write in NMEA