Parsing¶
The parsing module is the entry point for data ingestion in PyTECGg. It leverages a high-performance Rust backend to handle the heavy lifting of reading RINEX files, ensuring that even large multi-constellation observation files are processed with minimal latency. By delegating the parsing logic to Rust and returning native Polars DataFrames, PyTECGg avoids the common bottlenecks of Python-based RINEX readers. The module automatically handles:
- Format detection: support for standard
.rnx, Hatanaka-compressed.crx, and gz-ipped.gzfiles. - Metadata extraction: retrieval of the receiver ECEF position and RINEX version.
- Timezone normalization: epochs are automatically converted to UTC to ensure consistency across different GNSS datasets.
API Reference¶
read_rinex_obs(path)
¶
Parses a RINEX observation file and returns the extracted observation data as a Polars DataFrame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str or Path
|
Path to the RINEX observation file (.rnx, .crx, or .gz). |
required |
Returns:
| Type | Description |
|---|---|
tuple
|
|
read_rinex_nav(path)
¶
Parses a RINEX navigation file into a dictionary of DataFrames.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str or Path
|
Path to the RINEX navigation file. |
required |
Returns:
| Type | Description |
|---|---|
dict[str, DataFrame]
|
Dictionary keyed by constellation (e.g., 'GPS'), containing DataFrames with 'epoch' as datetime[μs, UTC] and orbital parameters. |