Skip to main content

PositionReport

Struct PositionReport 

Source
pub struct PositionReport {
Show 15 fields pub kind: u8, pub mmsi: TargetId, pub status: Option<NavigationStatus>, pub turn: Option<Turn>, pub speed: Option<Speed>, pub accurate: bool, pub position: Option<Position>, pub course: Option<TrueCourse>, pub heading: Option<TrueCourse>, pub second: Option<u8>, pub raim: bool, pub name: Option<InlineStr<20>>, pub ship_type: Option<ShipType>, pub dimensions: Option<Dimensions>, pub fixing_device: Option<PositionFixingDevice>,
}
Expand description

Position report.

Every field that can be “not available” is an Option, None when unavailable — never a zero that reads as a valid course or a stopped ship.

Fields§

§kind: u8

Message type: 1, 2 or 3 (class A), 18 or 19 (class B).

§mmsi: TargetId

MMSI.

§status: Option<NavigationStatus>

Navigational status; class A only.

§turn: Option<Turn>

Rate of turn; class A only.

§speed: Option<Speed>

Speed over ground, 0.1 kn resolution. 102.2 kn means 102.2 kn or more.

§accurate: bool

Position accuracy flag: DGNSS, better than 10 m.

§position: Option<Position>

Position, 1/10 000 minute resolution.

§course: Option<TrueCourse>

Course over ground, 0.1° resolution.

§heading: Option<TrueCourse>

True heading, 1° resolution.

§second: Option<u8>

UTC second of the report, 0..=59; None if no time is available or the position is dead-reckoned or manual.

§raim: bool

RAIM flag.

§name: Option<InlineStr<20>>

Name, up to 20 characters; message 19 only (others use static data).

§ship_type: Option<ShipType>

Ship type; message 19 only.

§dimensions: Option<Dimensions>

Dimensions around the position; message 19 only.

§fixing_device: Option<PositionFixingDevice>

Position fixing device; message 19 only.

Implementations§

Source§

impl PositionReport

Source

pub const fn station_class(&self) -> StationClass

Station class.

Source

pub fn ground_track(&self) -> Option<GroundTrack>

Course and speed over ground, if both are reported.

Trait Implementations§

Source§

impl Clone for PositionReport

Source§

fn clone(&self) -> Self

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 Copy for PositionReport

Source§

impl Debug for PositionReport

Source§

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

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

impl PartialEq for PositionReport

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for PositionReport

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> 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 = !

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

fn try_from(value: U) -> Result<T, !>

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.