Expand description
§astrodynamics-gnss
GNSS domain layer built on top of the astrodynamics core crate. This is
a sibling crate, not a cargo feature of astrodynamics: a
propagation-only consumer must never have to compile the IONEX/SP3 parsers.
This crate defines the foundational GNSS types and a public façade organized by user-facing tasks:
ephemeris— precise SP3 and broadcast ephemeris products,rinex— RINEX navigation/observation parsing and CRINEX decoding,positioning— single-point positioning and DOP diagnostics,atmosphere— ionosphere and troposphere corrections,orbit— compact reduced-orbit fitting/evaluation.
Implementation modules (sp3, rinex_nav, spp, etc.) are crate-private.
This is a clean 0.9 public surface rather than a compatibility shim around
the original implementation-shaped module layout.
§Units policy (internal representation)
All quantities are stored and computed in SI base units, with the frame
and datum encoded in the type name (per the spec’s frames-in-the-type-system
rule), never hidden behind a bare position_m:
- Length / position: meters (
_m). SP3 positions are ITRF/IGS-frame ECEF meters; SPP receiver positions are WGS84/ITRF-compatible ECEF meters. (The coreastrodynamicsstate crate works in kilometers; conversions happen explicitly at the boundary, never implicitly.) - Time / clock: seconds (
_s). Epochs are represented by the coreastrodynamicstime family (Instant/TimeScale), always scale-tagged; there is no bare ambiguous epoch. - Velocity: meters per second (
_m_s). - Angles: radians (
_rad) internally. Degrees appear only at I/O edges and are named_deg. - Frequency: hertz (
_hz).
Field and parameter names carry the unit suffix so the unit is visible at
every call site. Matrix/vector linear algebra uses nalgebra
(DMatrix/DVector) per the spec.
Re-exports§
pub use frame::ItrfPositionM;pub use frame::ItrfVelocityMS;pub use frame::Wgs84Geodetic;
Modules§
- atmosphere
- GNSS atmospheric correction models.
- constants
- Shared GNSS constants.
- ephemeris
- Ephemeris products and satellite orbit/clock evaluation.
- frame
- Frame-tagged position types.
- geometry
- GNSS geometry primitives.
- ils
- Bounded integer least squares — the integer-ambiguity-resolution kernel for precise / RTK positioning.
- orbit
- Compact orbit approximations.
- positioning
- Single-point positioning and GNSS geometry diagnostics.
- prelude
- Convenient imports for common GNSS workflows.
- rinex
- RINEX and CRINEX parsing.
- rtk_
filter - Sequential RTK baseline filter — state ABI (slice 1+2 of the kernel migration).
- terrain
- DTED tile reader and bilinear terrain lookup.
Structs§
- Gnss
Satellite Id - A satellite identifier: a constellation plus its within-system PRN/slot.
Enums§
- Error
- Errors produced by the
astrodynamics-gnsscrate. - Gnss
System - A GNSS constellation (satellite system).
Type Aliases§
- Result
- Result alias for fallible
astrodynamics-gnssoperations.