Skip to main content

Crate astrodynamics_gnss

Crate astrodynamics_gnss 

Source
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 core astrodynamics state crate works in kilometers; conversions happen explicitly at the boundary, never implicitly.)
  • Time / clock: seconds (_s). Epochs are represented by the core astrodynamics time 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§

GnssSatelliteId
A satellite identifier: a constellation plus its within-system PRN/slot.

Enums§

Error
Errors produced by the astrodynamics-gnss crate.
GnssSystem
A GNSS constellation (satellite system).

Type Aliases§

Result
Result alias for fallible astrodynamics-gnss operations.