Note: This page describes the development version of GPSBabel. It may substantially differ from the latest released GPSBabel.

NMEA 0183 sentences (nmea)

This format can...

  • read and write waypoints

  • read and write tracks

This format has the following options: snlen, gprmc, gpgga, gpvtg, gpgsa, date, get_posn, pause, append_positioning, baud, gisteq, ignore_fix .

This format is the file representation of the NMEA (National Marine Electronics Association) 0183 log and waypoint format for GPS devices. Some hardware and software that work with NMEA-0183 formatted data include:

GPS Data Logger VisualGPS SparkFun GPS Datalogger
GPS TrackMaker GPS Utility AMOD 3080 GPS
GPSMaster GeoConv Wintec WPL-1000 GPS
NMEAlog CommLinx GPS recorder Sony GPS_CS1

This module also supports realtime tracking which allows realtime position reports from a GPS, such as one connected serially, over Bluetooth, or a USB module emulating a serial port, to be used with selected output formats. Just specify an input file that is the device name such as COM1: for Windows or a device-dependent name like /dev/cu.usbserial for Mac or /dev/ttyUSB0 for Linux. (Note that serial device names vary on Mac and Linux.)

When used in realtime tracking mode, if GPSBabel does not sense incoming NMEA sentences arriving from the port, it will send Sirf "reset to NMEA" commands to the port at a variety of speeds in an attempt to communicate with an attached GPS. This lets devices like the Microsoft GPS or Pharos GPS that are Sirf chips with an integrated USB/Serial adapter work with this input format.

snlen option

Max length of waypoint name to write.

This option specifies the maximum length to be used for waypoint names in the GPWPL sentence. Longer names will be shortened to no more than this length, but all waypoint names will remain unique.

gprmc option

Read/write GPRMC sentences.

This option tells GPSBabel whether to read (on input) or write (on output) GPRMC sentences. The default is to read or write GPRMC sentences. To disable GPRMC sentences, specify gprmc=0.

GPRMC sentences contain the "recommended mimimum" positional information, including date and time, heading, and velocity. Note that they do not include altitude. For altitude, you will have to include GPGGA sentences.

gpgga option

Read/write GPGGA sentences.

This option tells GPSBabel whether to read (on input) or write (on output) GPGGA sentences. The default is to read or write GPGGA sentences. To disable GPGGA sentences, specify gpgga=0.

GPGGA sentences contain the location and quality of the GPS position fix.

gpvtg option

Read/write GPVTG sentences.

This option tells GPSBabel whether to read (on input) or write (on output) GPVTG sentences. The default is to read or write GPVTG sentences. To disable GPVTG sentences, specify gpvtg=0.

GPVTG sentences contain information about the heading and the speed at the time of the fix. They do not contain any location information; for that you will need either or both of GPGGA or GPRMC.

gpgsa option

Read/write GPGSA sentences.

This option tells GPSBabel whether to read (on input) or write (on output) GPGSA sentences. The default is to read or write GPGSA sentences. To disable GPGSA sentences, specify gpgsa=0.

GPGSA sentences contain information on the quality of the positional fix and the individual satellites from which it was derived. However, GPSBabel neither reads nor writes the individual satellite data. On input, the satellite fields are ignored and on output they are left blank.

date option

Complete date-free tracks with given date (YYYYMMDD)..

On input, track points with times but no dates will have this date applied.

This is necessary because some NMEA sentences contain times but no dates. If this option is not specified and the date cannot be determined from one or more of the available NMEA sentences, the tracks will be discarded.

get_posn option

Return current position as a waypoint.

This options, when specified, returns the current position as a single waypoint.

pause option

Decimal seconds to pause between groups of strings.

This option tells GPSBabel to pause between individual track records when used on output. This may be used with appropriate external software or hardware to simulate a GPS receiver for testing purposes. On Unix, for example, you may use a named pipe to feed the output from GPSBabel to gpsd.

If a value for this option is specified, it is in seconds and it may be either a whole number of seconds or a fraction (e.g. 0.5 for a 1/2 second pause between trackpoints.)

If this option is specified without a value, the time between adjacent trackpoints will be computed and used for the length of the pause. That is, if your trackpoints are 5 seconds apart, GPSBabel will pause 5 seconds between trackpoints.

Note that very long tracks may be subject to clock drift, as GPSBabel does not take into account the amount of time it may take to write the NMEA sentences. Also, there is no guarantee that it will pause for exactly the specified number of seconds between samples; different operating systems will allow greater or lesser precision for timers, so actual precision may be as much as plus or minus 100 milliseconds.

If you are using this option with compressed or simplified tracks from your handheld GPS receiver, you might find the interpolate filter useful.

append_positioning option

Append realtime positioning data to the output file instead of truncating.

When writing NMEA realtime positioning data, append to the output file instead of truncating it on each successive position fix.

baud option

Speed in bits per second of serial port (baud=4800).

To the "nmea" module, the "baud" option specifies the baud rate of the serial connection when used with the real-time tracking option.

gisteq option

Write tracks for Gisteq Phototracker.

This option writes the Gisteq format - which has the extension of .GPS - to allow third-party GPS hardware with the Gisteq PhotoTrackr software.

The Gisteq PhotoTrackr is a GPS data logger hardware and software package that allows one to easily record the locations of where the user has taken photos. The PhotoTrackr software works by comparing EXIF timestamps in digital photos with the timestamps in the tracking data. In doing so, the software plots the locations of the photos using Google Maps. The logging format used by the Gisteq hardware is very close to NMEA format, but with a few small quirks.

More information can be found at the Gisteq site.

ignore_fix option

Accept position fixes in gpgga marked invalid.