Home

Awesome

RINEX

Rust Rust crates.io crates.io

minimum rustc: 1.64 License License

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.

Advantages :rocket:

Disadvantages :warning:

Repository

Relevant Ecosystem

Citation and referencing

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

rinex-cli is our main application, build it without any features to obtain its smallest form. The available options are:

Formats & revisions

The 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.

RINEX formats & applications

TypeParserWriterCLIContentRecord IterationTimescale
Navigation (NAV):heavy_check_mark::construction::heavy_check_mark: :chart_with_upwards_trend:Ephemerides, Ionosphere modelsEpochSV System time broadcasting this message
Observation (OBS):heavy_check_mark::heavy_check_mark::heavy_check_mark: :chart_with_upwards_trend:Phase, Pseudo Range, Doppler, SSIEpochGNSS (any)
CRINEX (Compressed OBS):heavy_check_mark:RNX2CRX1 :heavy_check_mark: RNX2CRX3 :construction::heavy_check_mark: :chart_with_upwards_trend:Phase, Pseudo Range, Doppler, SSIEpochGNSS (any)
Meteorological data (MET):heavy_check_mark::heavy_check_mark::heavy_check_mark: :chart_with_upwards_trend:Meteo sensors data (Temperature, Moisture..)EpochUTC
Clocks (CLK):heavy_check_mark::construction::heavy_check_mark: :chart_with_upwards_trend:Precise SV and Reference Clock statesEpochGNSS (any)
Antenna (ATX):heavy_check_mark::construction::construction:Precise RX/SV Antenna calibrationantex::Antenna:heavy_minus_sign:
Ionosphere Maps (IONEX):heavy_check_mark::construction::heavy_check_mark: :chart_with_upwards_trend:Ionosphere Electron densityEpochUTC
DORIS RINEX:heavy_check_mark::construction::heavy_check_mark:Temperature, Moisture, Pseudo Range and Phase observationsEpochTAI
SINEX (SNX):construction::construction::heavy_minus_sign:SINEX are special RINEX, they are managed by a dedicated core libraryEpoch:question:
Troposphere (TRO):construction::construction::question:Troposphere modelingEpoch: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.

Other formats

RINEX-Cli accepts more than RINEX data.

TypeParserWriterCLIContentRecord IterationTimescale
SP3:heavy_check_mark::construction: Work in progress:heavy_check_mark: :chart_with_upwards_trend:High precision SV orbital stateEpochGNSS (any)

File formats

FormatFile name restrictionsSupport
RINEX:heavy_minus_sign::heavy_check_mark:
CRINEX:heavy_minus_sign::heavy_check_mark:
gzip compressed RINEXName must end with .gz--flate2 feature must be enabled
gzip compressed CRINEXName must end with .gz--flate2 feature must be enabled
.Z compressed RINEXNot supportedNot supported
DORIS RINEX:heavy_minus_sign::construction: Work in progress
gzip compressed DORISName must end with .gz--flate2 feature must be enabled
.Z compressed DORISNot supportedNot supported
SP3:heavy_minus_sign::heavy_check_mark:
gzip compressed SP3Name must end with .gz--flate2 feature must be enabled
.Z compressed SP3Not supportedNot 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.

Special Thanks

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

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.