pub struct ObsStream {
pub version: CrinexVersion,
pub header: Vec<String>,
pub epochs: Vec<EpochRecord>,
}Expand description
Canonical, wire-format-agnostic observation stream recovered from a CRINEX file. This is the IR the decoder produces: the difference engines are undone, leaving the plain RINEX header verbatim and each epoch’s recovered observations as scaled integers plus reconstructed flag strings.
Two serializers consume it. [Decoder]’s RINEX path renders it back to plain
RINEX observation text (the decode output). encode_stream renders it
back to CRINEX. Because CRINEX compression is not unique, encode_stream
emits the canonical all-reset form rather than reproducing the original
CRINEX bytes; the round-trip guarantee is at the IR / RINEX-text level (see
encode_stream).
parse_stream builds it from a CRINEX stream; the encode_crinex entry
builds it from plain RINEX observation text, so the same container backs both
the decode and encode directions.
Fields§
§version: CrinexVersionStream revision (selects the epoch grammar).
header: Vec<String>The embedded plain RINEX header lines, verbatim, up to and including
END OF HEADER (the two CRINEX header lines are not part of the IR).
epochs: Vec<EpochRecord>Epoch records in file order.
Trait Implementations§
impl StructuralPartialEq for ObsStream
Auto Trait Implementations§
impl Freeze for ObsStream
impl RefUnwindSafe for ObsStream
impl Send for ObsStream
impl Sync for ObsStream
impl Unpin for ObsStream
impl UnsafeUnpin for ObsStream
impl UnwindSafe for ObsStream
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.