Skip to main content

RinexParser

Python scripts to analyse Rinex data. Supports Rinex 2 and Rinex 3

Install

python -m pip install RinexParser

Within your program you can then import the package.

Datastructure

After parsing the data is stored in a dictionary. I tried to use Xarray, netCDF4, pickles, etc. but the parsing and storing took either very long or consumed a lot of storage. That's why i sticked with a classic dictionary.

The rnx_parser.datadict shows the following structure:

d: {
    "epochs": [
        {
            "id": "YYYY-mm-ddTHH:MM:SSZ",
            "satellites": [
                {
                    "id": "G01",
                    "observations": {
                        "C1P_value": ...,
                        "C1P_lli": ...,
                        "C1P_ssi": ...,
                        ...
                    }
                }, 
                { ... }
            ]            
        }
    ]
}

Known Issues

  • Epoch dates are zero-padded ("2025 02 01 00 00 00.000000 0 35")
  • Doppler values for example are also zero padded (-0.124 vs -.124)
  • RinexHeader values are different sorted compared to input file

Examples

Example to parse and write Rinex

#!/usr/bin/python

from rinex_parser.obs_parser import RinexParser

input_file = "full_path_to_your.rnx"

rnx_parser = RinexParser(rinex_file=RINEX3_FILE, rinex_version=3, sampling=30)
rnx_parser.run()

out_file = os.path.join(
    os.path.dirname(input_file),
    rnx_parser.get_rx3_long()
)

# Output Rinex File
with open(out_file, "w") as rnx:
    logger.info(f"Write to file: {rnx_parser.get_rx3_long()}")
    rnx.write(rnx_parser.rinex_reader.header.to_rinex3())
    rnx.write("\n")
    rnx.write(rnx_parser.rinex_reader.to_rinex3())
    rnx.write("\n")

There is an entry point that allows you to use it from the command line:

usage: ridah-main [-h] [--fout FOUT] [--smp SMP] [--country COUNTRY] [--rnx-version {2,3}] finp
ridah-main: error: the following arguments are required: finp

Notice

This code is currently under active development and is provided as-is. The author makes no warranties, express or implied, regarding the functionality, reliability, or safety of this code. By using this code, you assume all risks associated with its use. The author is not liable for any damages, loss of data, or other issues that may arise from the use of this code. Please use at your own discretion.

Release files for rinexparser 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rinexparser 1.1.1
File Size Uploaded
rinexparser-1.1.1.tar.gz 56.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rinexparser 1.1.1
File Interpreter ABI Platform
rinexparser-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 126.5 kB

Release files / rinexparser-1.1.1.tar.gz

Download URL rinexparser-1.1.1.tar.gz
Size 56.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3cc5fd986ebdff8daed58710e76681d6fa39c1a0af8022c96fcdab0543936e35
BLAKE2b-256 checksum
How to use checksums
60cd311f2b6d17f5571a12a6338210649d4acc16271b941e566aa7a82e06c488
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release files / rinexparser-1.1.1-py3-none-any.whl

Download URL rinexparser-1.1.1-py3-none-any.whl
Size 70.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b33817d21eb7ffab6d1cfb0ff0e940bd08a61e60bca0d38c749a8a358d98a134
BLAKE2b-256 checksum
How to use checksums
92f481d9315118a12caa2a4f415de6fa71c419da027666c777ba2eab807389a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page