pub struct ReceiverSolution {
pub position: ItrfPositionM,
pub geodetic: Option<Wgs84Geodetic>,
pub rx_clock_s: f64,
pub system_clocks_s: Vec<(GnssSystem, f64)>,
pub dop: Option<Dop>,
pub residuals_m: Vec<f64>,
pub used_sats: Vec<GnssSatelliteId>,
pub rejected_sats: Vec<RejectedSat>,
pub metadata: SolutionMetadata,
}Expand description
A receiver position/clock solution with its geometry diagnostics.
Fields§
§position: ItrfPositionMConverged receiver position, ITRF/IGS ECEF meters.
geodetic: Option<Wgs84Geodetic>The geodetic form of the position, if the conversion was requested.
rx_clock_s: f64Receiver clock bias in seconds (clk_0 / c) for the reference GNSS - the
first entry of system_clocks_s. For a single-system solve this is the
only clock; for a multi-system solve the other systems’ absolute clocks
are in system_clocks_s.
system_clocks_s: Vec<(GnssSystem, f64)>The absolute receiver clock for each GNSS in the solve, in ascending
system order, in seconds. One entry for a single-system solve; one per
constellation for a multi-system solve. The first entry equals
rx_clock_s; the inter-system bias for any other system is its clock
minus that reference (these are absolute per-system clocks, not biases).
dop: Option<Dop>Dilution-of-precision scalars from the converged geometry. A
single-system solve uses the 0-ULP four-state cofactor; a multi-system
solve uses the general inverse with one clock column per constellation (a
deterministic diagnostic, not a 0-ULP target). None only if the
converged geometry is rank-deficient.
residuals_m: Vec<f64>Post-fit residuals in meters, in used_sats order (unweighted
P_meas - P_hat).
used_sats: Vec<GnssSatelliteId>The satellites that contributed to the solve, ascending id order.
rejected_sats: Vec<RejectedSat>The excluded satellites, each with its reason.
metadata: SolutionMetadataIteration / convergence / model metadata.
Trait Implementations§
Source§impl Clone for ReceiverSolution
impl Clone for ReceiverSolution
Source§fn clone(&self) -> ReceiverSolution
fn clone(&self) -> ReceiverSolution
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReceiverSolution
impl Debug for ReceiverSolution
Source§impl RaimSolution for ReceiverSolution
impl RaimSolution for ReceiverSolution
Source§fn raim_used_sats(&self) -> Vec<String>
fn raim_used_sats(&self) -> Vec<String>
Source§fn raim_residuals_m(&self) -> &[f64]
fn raim_residuals_m(&self) -> &[f64]
Auto Trait Implementations§
impl Freeze for ReceiverSolution
impl RefUnwindSafe for ReceiverSolution
impl Send for ReceiverSolution
impl Sync for ReceiverSolution
impl Unpin for ReceiverSolution
impl UnsafeUnpin for ReceiverSolution
impl UnwindSafe for ReceiverSolution
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
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.