pub struct PreciseEphemerisSample {
pub sat: GnssSatelliteId,
pub epoch: Instant,
pub position_ecef_m: [f64; 3],
pub clock_s: Option<f64>,
pub clock_event: bool,
}Expand description
One precise-ephemeris sample: a satellite’s ECEF position (and optional clock) at one epoch, in SI units.
This is the canonical serialization-independent IR element. position_ecef_m
is the ITRF/IGS ECEF position in meters; clock_s is the satellite clock
offset in seconds, None when the source carried no clock estimate.
clock_event mirrors the SP3 E clock-event flag: when true this epoch
marks a clock discontinuity, and the interpolator splits the clock arc there
(it never interpolates a clock across a reset). The common case carries no
event; use PreciseEphemerisSample::new for it and set the field directly
when reconstructing a flagged epoch.
Fields§
§sat: GnssSatelliteIdThe satellite this sample describes.
epoch: InstantThe sample epoch, tagged with its time scale.
position_ecef_m: [f64; 3]Satellite position in the ITRF/IGS ECEF frame, meters.
clock_s: Option<f64>Satellite clock offset in seconds (None when no clock estimate exists).
clock_event: boolWhether this epoch carries the SP3 E clock-event flag: true splits
the clock interpolation arc here (a clock reset takes effect at this
epoch), matching super::Sp3Flags::clock_event. Defaults to false.
Implementations§
Source§impl PreciseEphemerisSample
impl PreciseEphemerisSample
Sourcepub fn new(
sat: GnssSatelliteId,
epoch: Instant,
position_ecef_m: [f64; 3],
clock_s: Option<f64>,
) -> Self
pub fn new( sat: GnssSatelliteId, epoch: Instant, position_ecef_m: [f64; 3], clock_s: Option<f64>, ) -> Self
Build a sample with no clock-event flag (the common, no-reset case).
clock_event defaults to false. For an epoch that carries an SP3 E
clock reset, construct with this and then set clock_event = true.
Trait Implementations§
Source§impl Clone for PreciseEphemerisSample
impl Clone for PreciseEphemerisSample
Source§fn clone(&self) -> PreciseEphemerisSample
fn clone(&self) -> PreciseEphemerisSample
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PreciseEphemerisSample
Source§impl Debug for PreciseEphemerisSample
impl Debug for PreciseEphemerisSample
Source§impl PartialEq for PreciseEphemerisSample
impl PartialEq for PreciseEphemerisSample
Source§fn eq(&self, other: &PreciseEphemerisSample) -> bool
fn eq(&self, other: &PreciseEphemerisSample) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PreciseEphemerisSample
Auto Trait Implementations§
impl Freeze for PreciseEphemerisSample
impl RefUnwindSafe for PreciseEphemerisSample
impl Send for PreciseEphemerisSample
impl Sync for PreciseEphemerisSample
impl Unpin for PreciseEphemerisSample
impl UnsafeUnpin for PreciseEphemerisSample
impl UnwindSafe for PreciseEphemerisSample
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.