pub trait EphemerisSource {
// Required method
fn position_clock_at_j2000_s(
&self,
sat: GnssSatelliteId,
t_j2000_s: f64,
) -> Option<([f64; 3], f64)>;
}Expand description
A source of satellite position and clock at a transmit epoch.
The SPP pipeline is written against this trait rather than a concrete product
so it can run on either a precise SP3 ephemeris or a broadcast navigation
message. The contract is exactly what the transmit-time iteration needs: the
ECEF position (meters) and the satellite clock offset (seconds) at a given
J2000 second, or None if the source has no usable ephemeris for that
satellite at that instant.
Required Methods§
Sourcefn position_clock_at_j2000_s(
&self,
sat: GnssSatelliteId,
t_j2000_s: f64,
) -> Option<([f64; 3], f64)>
fn position_clock_at_j2000_s( &self, sat: GnssSatelliteId, t_j2000_s: f64, ) -> Option<([f64; 3], f64)>
ECEF position (m) and satellite clock offset (s) for sat at t_j2000_s.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".