9 breaking releases

0.10.0 May 1, 2024
0.9.0 Mar 28, 2024
0.8.0 Jan 14, 2024
0.7.0 Dec 18, 2023
0.3.0 Jul 16, 2023

#744 in Encoding

Download history 11/week @ 2024-08-01 2/week @ 2024-09-19 22/week @ 2024-09-26 12/week @ 2024-10-03

647 downloads per month

MIT/Apache

35KB
812 lines

RTCM-JSON Converter

This is a command-line interface (CLI) application that facilitates the serialization and deserialization of RTCM v.3 to and from JSON format. The application is built on top of the rtcm-rs library and thus supports new message formats as they are introduced in the rtcm-rs updates.

The application supports several input and output options, including an NTRIP v. 1 client implementation.

Pre-Compiled Binaries

Pre-compiled binaries are provided for various platform to allow for quick and easy setup without the need for building the application from source.

Usage

The application is invoked through the command rtcm-json and accepts several options to customize the conversion process.

$ rtcm-json --help

Usage: rtcm-json [OPTIONS]

Options:
  -b, --backward
          backward conversion, i.e. from json (ndjson) to binary rtcm
  -i, --stdin-input
          input from standard input [default]
  -f, --file-input <file path>
          input from file
  -c, --tcp-client-input <<host>:<port>>
          input from tcp client connection
  -n, --ntrip-client-input <<host>:<port>>
          input from built-in Ntrip (v. 1) client. 
          (Requires mountpoint argument)
  -m, --mountpoint <Ntrip mountpoint>
          Ntrip caster mountpoint to connect to
  -u, --username <Ntrip username>
          username if required for connection to Ntrip caster
  -p, --password <Ntrip password>
          password if required for connection to Ntrip caster
  -l, --llh <<latitude>,<longitude>,<height>>>
          coordinate to supply to Ntrip caster in 
          nmea gga message if required
  -x, --xyz <<x>,<y>,<z>>>
          coordinate to supply to Ntrip caster in 
          nmea gga message if required
  -r, --nmea-repeat <NMEA repeat interval (s)>
          time interval between resend of NMEA GGA coordinates
  -O, --stdout-output
          output to standard output [default]
  -F, --file-output <file path>
          output to file
  -C, --tcp-client-output <<host>:<port>>
          output to tcp client connection
  -S, --tcp-server-output <<host>:<port>>
          serve output on <host>:<port>
  -P, --pretty-print
          pretty print json output (this format is not valid for backward conversion)
  -h, --help
          Print help
  -V, --version
          Print version

Building the Executable

To build the executable, run:

cargo build --release

This will compile the application and create an executable in the target/release/ directory.

Or you can build and install it with cargo:

cargo install rtcm-json

License

MIT or Apache-2.0

Dependencies

~3.5–5MB
~96K SLoC