Skip to main content

Finding

Enum Finding 

Source
#[non_exhaustive]
pub enum Finding {
Show 38 variants ObsFatalParse { at: FindingRef, message: String, }, ObsUnpublishedVersion { at: FindingRef, version: f64, }, ObsMissingHeader { at: FindingRef, label: &'static str, }, ObsMissingObsTypes { at: FindingRef, }, ObsInvalidObsCode { at: FindingRef, system: GnssSystem, code: String, }, ObsDuplicateObsCode { at: FindingRef, system: GnssSystem, code: String, }, ObsTimeOfFirstMismatch { at: FindingRef, declared: ObsEpochTime, declared_scale: TimeScale, observed: ObsEpochTime, observed_scale: TimeScale, }, ObsTimeOfLastMismatch { at: FindingRef, declared: ObsEpochTime, declared_scale: TimeScale, observed: ObsEpochTime, observed_scale: TimeScale, }, ObsIntervalMismatch { at: FindingRef, declared_s: f64, observed_s: f64, }, ObsSatelliteCountMismatch { at: FindingRef, declared: usize, observed: usize, }, ObsPrnObsCountMismatch { at: FindingRef, satellite: GnssSatelliteId, code: String, declared: Option<usize>, observed: usize, }, ObsGlonassSlotIssue { at: FindingRef, satellite: GnssSatelliteId, issue: &'static str, }, ObsPhaseShiftUndeclaredCode { at: FindingRef, system: GnssSystem, code: String, }, ObsScaleFactorIssue { at: FindingRef, system: GnssSystem, code: Option<String>, }, ObsMarkerTypeIssue { at: FindingRef, marker_type: String, }, ObsIdentityFieldIssue { at: FindingRef, label: &'static str, value: String, }, ObsImplausibleApproxPosition { at: FindingRef, radius_m: f64, }, ObsImplausibleAntennaDelta { at: FindingRef, component: usize, value_m: f64, }, ObsEpochOrder { at: FindingRef, previous: ObsEpochTime, current: ObsEpochTime, }, ObsDuplicateEpoch { at: FindingRef, epoch: ObsEpochTime, }, ObsSkippedRecords { at: FindingRef, count: usize, }, ObsEpochSatCountMismatch { at: FindingRef, declared: usize, retained: usize, }, ObsEventSpecialRecords { at: FindingRef, count: usize, }, ObsUnretainedHeader { at: FindingRef, label: String, }, ObsPseudorangeOutOfRange { at: FindingRef, code: String, value_m: f64, }, ObsLossOfLockOutOfRange { at: FindingRef, code: String, lli: u8, }, ObsEventEpoch { at: FindingRef, flag: u8, }, ObsEmptySatelliteRecord { at: FindingRef, }, ObsEpochGap { at: FindingRef, gap_s: f64, interval_s: f64, }, NavFatalParse { at: FindingRef, message: String, }, NavLeapSecondsAbsent { at: FindingRef, }, NavIonoMalformed { at: FindingRef, message: String, }, NavDroppedBlock { at: FindingRef, satellite: String, message: String, }, NavDuplicateRecord { at: FindingRef, satellite: GnssSatelliteId, same_payload: bool, }, NavUnsortedRecords { at: FindingRef, }, NavImplausibleRecord { at: FindingRef, satellite: GnssSatelliteId, field: &'static str, value: f64, }, NavUnhealthyRecords { at: FindingRef, system: GnssSystem, count: usize, }, NavOutOfScopeRecords { at: FindingRef, class: String, count: usize, },
}
Expand description

A typed RINEX lint finding.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

ObsFatalParse

OBS parse failed before a parsed product existed.

Fields

§message: String
§

ObsUnpublishedVersion

OBS version is not one of the published versions covered here.

Fields

§version: f64
§

ObsMissingHeader

A mandatory OBS header retained by the current product is absent.

Fields

§label: &'static str
§

ObsMissingObsTypes

OBS header has no observation-code table.

Fields

§

ObsInvalidObsCode

OBS code syntax is not valid for this first slice.

Fields

§system: GnssSystem
§code: String
§

ObsDuplicateObsCode

OBS code is duplicated in one system table.

Fields

§system: GnssSystem
§code: String
§

ObsTimeOfFirstMismatch

TIME OF FIRST OBS disagrees with the body.

Fields

§declared: ObsEpochTime
§declared_scale: TimeScale
§observed: ObsEpochTime
§observed_scale: TimeScale
§

ObsTimeOfLastMismatch

TIME OF LAST OBS disagrees with the body epoch or with the file time system declared by TIME OF FIRST OBS (RINEX 3.05: TIME OF FIRST OBS defines the time system; TIME OF LAST OBS must agree with it).

Fields

§declared: ObsEpochTime
§declared_scale: TimeScale
§observed: ObsEpochTime
§observed_scale: TimeScale
§

ObsIntervalMismatch

INTERVAL disagrees with the dominant epoch spacing.

Fields

§declared_s: f64
§observed_s: f64
§

ObsSatelliteCountMismatch

§OF SATELLITES disagrees with the body.

Fields

§declared: usize
§observed: usize
§

ObsPrnObsCountMismatch

PRN / # OF OBS disagrees with body tallies.

Fields

§code: String
§declared: Option<usize>
§observed: usize
§

ObsGlonassSlotIssue

GLONASS observations need a valid slot/frequency table.

Fields

§issue: &'static str
§

ObsPhaseShiftUndeclaredCode

SYS / PHASE SHIFT names a code absent from SYS / # / OBS TYPES.

Fields

§system: GnssSystem
§code: String
§

ObsScaleFactorIssue

SYS / SCALE FACTOR is invalid or names an undeclared code.

Fields

§system: GnssSystem
§

ObsMarkerTypeIssue

MARKER TYPE is not a RINEX Table 8 keyword.

Fields

§marker_type: String
§

ObsIdentityFieldIssue

Identity/header field exceeds width or has non-printable ASCII.

Fields

§label: &'static str
§value: String
§

ObsImplausibleApproxPosition

Approximate position is implausible for a fixed marker.

Fields

§radius_m: f64
§

ObsImplausibleAntennaDelta

Antenna height/east/north offset is implausible.

Fields

§component: usize
§value_m: f64
§

ObsEpochOrder

Epoch times are not strictly increasing.

Fields

§previous: ObsEpochTime
§

ObsDuplicateEpoch

Two normal epochs carry the same timestamp.

§

ObsSkippedRecords

The parser skipped satellite records it could not represent.

Fields

§count: usize
§

ObsEpochSatCountMismatch

Epoch record count disagreed with retained satellite records.

Fields

§declared: usize
§retained: usize
§

ObsEventSpecialRecords

A retained event epoch had special records that are not retained.

Fields

§count: usize
§

ObsUnretainedHeader

Header record is outside the retained OBS product.

Fields

§label: String
§

ObsPseudorangeOutOfRange

A pseudorange value is outside the configured plausibility window.

Fields

§code: String
§value_m: f64
§

ObsLossOfLockOutOfRange

LLI digit is outside the three defined bits.

Fields

§code: String
§lli: u8
§

ObsEventEpoch

Event epoch retained with no special records.

Fields

§flag: u8
§

ObsEmptySatelliteRecord

Satellite record has all observation fields blank.

Fields

§

ObsEpochGap

Epoch gap is larger than 1.5 times the dominant interval.

Fields

§gap_s: f64
§interval_s: f64
§

NavFatalParse

NAV parse failed before a parsed product existed.

Fields

§message: String
§

NavLeapSecondsAbsent

NAV header has no LEAP SECONDS record.

Fields

§

NavIonoMalformed

NAV ionospheric correction records are malformed.

Fields

§message: String
§

NavDroppedBlock

NAV record block was dropped by lenient parsing.

Fields

§satellite: String
§message: String
§

NavDuplicateRecord

Duplicate NAV records share an identity.

Fields

§same_payload: bool
§

NavUnsortedRecords

NAV records are not in canonical order.

Fields

§

NavImplausibleRecord

NAV broadcast fields are outside this slice’s plausibility limits.

Fields

§field: &'static str
§value: f64
§

NavUnhealthyRecords

NAV records include unhealthy satellite records.

Fields

§system: GnssSystem
§count: usize
§

NavOutOfScopeRecords

NAV records outside the retained/writable scope are present.

Fields

§class: String
§count: usize

Implementations§

Source§

impl Finding

Source

pub const fn code(&self) -> &'static str

Stable rule identifier.

Source

pub const fn severity(&self) -> Severity

Rule severity.

Source

pub const fn spec_ref(&self) -> &'static str

Standard or policy reference for the rule.

Source

pub const fn at(&self) -> &FindingRef

Finding location.

Source

pub const fn is_repairable(&self) -> bool

Whether this finding can be changed by the repair helpers in this slice.

Trait Implementations§

Source§

impl Clone for Finding

Source§

fn clone(&self) -> Finding

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Finding

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Finding

Source§

fn eq(&self, other: &Finding) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Finding

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,

Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.