astrodynamics-gnss 0.9.1

GNSS domain layer (SP3, broadcast ephemeris, multi-GNSS single-point positioning, ionosphere/troposphere, DOP) built on the astrodynamics core
Documentation
//! Ephemeris products and satellite orbit/clock evaluation.
//!
//! This is the main public home for loaded GNSS ephemeris data. Use
//! [`Sp3`] for precise SP3 products and [`BroadcastEphemeris`] for broadcast
//! navigation products parsed from RINEX NAV files. Both implement
//! [`EphemerisSource`] so they can feed [`crate::positioning::solve`].

pub use crate::broadcast::{
    eccentric_anomaly, satellite_clock_offset_s, satellite_position_ecef, satellite_state,
    ClockOffset, ClockPolynomial, ConstellationConstants, EccentricAnomaly, KeplerianElements,
    OrbitState, SatelliteState,
};
pub use crate::rinex_nav::{
    is_beidou_geo, BroadcastRecord, GlonassRecord, IonoCorrections, KlobucharAlphaBeta, NavMessage,
};
pub use crate::sp3::{Sp3, Sp3DataType, Sp3Flags, Sp3Header, Sp3State, Sp3Version};
pub use crate::spp::EphemerisSource;

/// Broadcast navigation ephemeris store selected by satellite and query epoch.
///
/// The underlying implementation type is `BroadcastStore`; the public alias
/// names the role rather than the storage detail.
pub type BroadcastEphemeris = crate::rinex_nav::BroadcastStore;

/// Acronym-preserving alias for users who prefer the format name spelling.
///
/// Rust item names normally use `Sp3`; this alias keeps `SP3` available without
/// making the implementation type fight Rust naming conventions.
#[allow(clippy::upper_case_acronyms)]
pub type SP3 = Sp3;