GPSDECODE(1)

NAME
gpsdecode - decode GPS, RTCM or AIS streams into a readable format

SYNOPSIS

gpsdecode [-?] [--ais] [--decode] [--debug LVL] [--encode] [--help] [--json] [--minlength] [--nmea] [--split24] [--types typelist] [--unscaled] [--verbose] [--version] [-c] [-d] [-D LVL] [-e] [-h] [-j] [-m] [-n] [-s] [-t typelist] [-u] [-v] [-V]

DESCRIPTION

This tool is a batch-mode decoder for NMEA and various binary packet formats associated with GPS, AIS, and differential-correction services. It produces a JSON dump on standard output from binary on standard input. The JSON is the same format documented in gpsd(8); this tool uses the same decoding logic as gpsd, but with a simpler interface intended for batch processing of data files.

All sensor-input formats known to the GPSD project can be decoded by this tool. These include: NMEA, AIVDM (the NMEA-derived sentence format used by AIS, the marine Automatic Identification System), RTCM2, and all supported GPS binary formats (notably including SiRF). See gpsd(8) for applicable standards and known limitations of the decoding logic.

You can use this tool with nc(1) to examine AIS feeds from AIS pooling services, RTCM feeds from RTCM receivers or NTRIP broadcasters.

OPTIONS

-?, -h, --help
    Output a usage mssage, then exit.

-c, --json
    Sets the AIS dump format to separate fields with an ASCII pipe symbol. Fields are dumped in the order they occur in the AIS packet. Numerics are not scaled (-u is forced). Strings are unpacked from six-bit to full ASCII

-d, --decode
    Decode packets presented on standard input to standard output. This is the default behavior.

-D LVL, --debug LVL
    Set the debug verbosity level to LVL. It is mainly of interest to for troubleshooting.

-e, --encode
    Encode JSON on standard input to JSON on standard output. This option is only useful for regression-testing of the JSON dumping and parsing code.

-j, --json
    Sets the output dump format to JSON (the default behavior).

-m, --minlength
    Dump minimum lengths for each packet type in the input (ignoring comment packets). This is probably of interest only to GSD developers.

-n, --nmea
    Dump the generated pseudo-NME0183.

-s, --split24
    Report AIS Type 24 sentence halves separately rather than attempting to aggregate them.

-t TYPES, --types TYPES
    A comma-separated list of numeric types. Packets with a numeric AIS, RTCM2, or RTCM3 type are passed through and output only if they match a type in the list. Packets of other kinds (in particular GPS packets) are passed through unconditionally.

-u, --unsscaled
    Suppress scaling of AIS data to float quantities and text expansion of numeric codes. A dump with this option is lossless.

-v, --verbose
    Dump textual packets to output as they are received on input, immediately preceding corresponding output.

-V, --version
    Print version number, then exit.

AIS DSV FORMAT

With the -c, --ais option, dump lines are values of AIS payload fields, pipe-separated, in the order that they occur in the payload. Spans of fields expressing a date are emitted as an ISO8601 timestamp (look for colons and the trailing Z indicating Zulu/UTC time), and the 19-bit group of TDMA status fields found at the end of message types 1-4 are are dumped as a single unsigned integer (in hex preceded by "0x"). Unused regional-authority fields are also dumped (in hex preceded by "0x"). Variable-length binary fields are dumped as an integer bit length, followed by a colon, followed by a hex dump.

SEE ALSO

gpsd(8), gpsctl(1), gpsdctl(8), gps(1), libgps(3), libgpsmm(3), gpsprof(1), gpsfake(1),

AUTHOR

Eric S. Raymond <esr@thyrsus.com>.