Rust tool suites to parse, analyze and process RINEX and GNSS data.
The Wiki pages contain all documentation and example applications of this toolbox.
Use Github Issues to report bugs and other malfunctions.
You can also open a Discussion or leave us a message on Discord.
rinex
is the core library rinex-cli
is a command line application to process RINEX, SP3 and soon Ublox, and dedicated to typical GNSS post processing.tutorials
is a superset of scripts (Linux/MacOS compatible)
to get started quickly. The examples span pretty much everything our applications allow.sp3
High Precision Orbits (by IGS) rnx2crx
is a RINEX compressor (RINEX to Compact RINEX)crx2rnx
is a CRINEX decompresor (Compact RINEX to RINEX)rinex-qc
is a library dedicated to RINEX files analysis qc-traits
declares Traits that are shared between rinex
and rinex-qc
sinex
SNX dedicated core libraryublox-rnx
is an application to generate RINEX files from Ublox receivers.tools
are utility scripts and development toolslogs
is dedicated to store session logs, if you work within this workspace directly.If you need to reference this work, please use the following model:
GeoRust RINEX Team (2023), RINEX: analysis and processing (Apache-2/MIT), https://georust.org
rinex-cli
is our main application, build it without any features to obtain its smallest form.
The available options are:
kml
: allows formatting PPP solutions as KML tracksgpx
: allows formatting PPP solutions as GPX trackscggtts
: enable CGGTTS solutions solverThe core library supports parsing RINEX V4.0, that includes RINEX V4 Navigation files.
We support the latest revisions for both IONEX and Clock RINEX.
We support the latest (rev D) SP3 format.
Type | Parser | Writer | CLI | Content | Record Iteration | Timescale |
---|---|---|---|---|---|---|
Navigation (NAV) | :heavy_check_mark: | :construction: | :heavy_check_mark: :chart_with_upwards_trend: | Ephemerides, Ionosphere models | Epoch | SV System time broadcasting this message |
Observation (OBS) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: :chart_with_upwards_trend: | Phase, Pseudo Range, Doppler, SSI | Epoch | GNSS (any) |
CRINEX (Compressed OBS) | :heavy_check_mark: | RNX2CRX1 :heavy_check_mark: RNX2CRX3 :construction: | :heavy_check_mark: :chart_with_upwards_trend: | Phase, Pseudo Range, Doppler, SSI | Epoch | GNSS (any) |
Meteorological data (MET) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: :chart_with_upwards_trend: | Meteo sensors data (Temperature, Moisture..) | Epoch | UTC |
Clocks (CLK) | :heavy_check_mark: | :construction: | :heavy_check_mark: :chart_with_upwards_trend: | Precise SV and Reference Clock states | Epoch | GNSS (any) |
Antenna (ATX) | :heavy_check_mark: | :construction: | :construction: | Precise RX/SV Antenna calibration | antex::Antenna |
:heavy_minus_sign: |
Ionosphere Maps (IONEX) | :heavy_check_mark: | :construction: | :heavy_check_mark: :chart_with_upwards_trend: | Ionosphere Electron density | Epoch | UTC |
DORIS RINEX | :heavy_check_mark: | :construction: | :heavy_check_mark: | Temperature, Moisture, Pseudo Range and Phase observations | Epoch | TAI |
SINEX (SNX) | :construction: | :construction: | :heavy_minus_sign: | SINEX are special RINEX, they are managed by a dedicated core library | Epoch | :question: |
Troposphere (TRO) | :construction: | :construction: | :question: | Troposphere modeling | Epoch | :question: |
Bias (BIA) | :heavy_check_mark: | :construction: | :question: | Bias estimates, like DCB.. | Epoch | :question: |
:heavy_check_mark: means all revisions supported
:construction: : means Work in Progress
CLI : possibility to load this format in the apps.
CLI + :chart_with_upwards_trend: : possibility to project or extract and plot this format.
RINEX-Cli
accepts more than RINEX data.
Type | Parser | Writer | CLI | Content | Record Iteration | Timescale |
---|---|---|---|---|---|---|
SP3 | :heavy_check_mark: | :construction: Work in progress | :heavy_check_mark: :chart_with_upwards_trend: | High precision SV orbital state | Epoch | GNSS (any) |
Format | File name restrictions | Support |
---|---|---|
RINEX | :heavy_minus_sign: | :heavy_check_mark: |
CRINEX | :heavy_minus_sign: | :heavy_check_mark: |
gzip compressed RINEX | Name must end with .gz |
--flate2 feature must be enabled |
gzip compressed CRINEX | Name must end with .gz |
--flate2 feature must be enabled |
.Z compressed RINEX | Not supported | Not supported |
DORIS RINEX | :heavy_minus_sign: | :construction: Work in progress |
gzip compressed DORIS | Name must end with .gz |
--flate2 feature must be enabled |
.Z compressed DORIS | Not supported | Not supported |
SP3 | :heavy_minus_sign: | :heavy_check_mark: |
gzip compressed SP3 | Name must end with .gz |
--flate2 feature must be enabled |
.Z compressed SP3 | Not supported | Not supported |
BINEX | :heavy_minus_sign: | :heavy_minus_sign: We do not support proprietary formats |
UBX | :heavy_minus_sign: | :construction: Work in progress |
:heavy_minus_sign: No restrictions: file names do not have to follow naming conventions.
These tools would not exist without the great libraries written by C. Rabotin, check out his work.
Some features would not exist without the invaluable help of J. Lesouple, through our countless discussions. Check out his PhD manuscript (french)
Contributions are welcomed, do not hesitate to open new issues and submit Pull Requests through Github.
If you want to take part in active developments, check out our contribution guidelines and hints to navigate this library quicker.