pub struct LongRangePosition {
pub mmsi: u32,
pub position_accuracy: bool,
pub raim: bool,
pub nav_status: Option<NavigationStatus>,
pub longitude: Option<f64>,
pub latitude: Option<f64>,
pub sog: Option<u8>,
pub cog: Option<u16>,
pub gnss_position_status: bool,
}Expand description
AIS Type 27 — Long Range Position Report.
ITU-R M.1371 bit layout (96 bits):
- bits 0–5: message type (= 27)
- bits 6–7: repeat indicator
- bits 8–37: MMSI (30 bits)
- bit 38: position accuracy
- bit 39: RAIM flag
- bits 40–43: navigational status (4 bits)
- bits 44–61: longitude in 1/10° (18 bits, signed)
- bits 62–78: latitude in 1/10° (17 bits, signed)
- bits 79–84: SOG in knots (6 bits, integer, 63 = not available)
- bits 85–93: COG in degrees (9 bits, integer, 511 = not available)
- bit 94: GNSS position status
Fields§
§mmsi: u32§position_accuracy: boolHigh position accuracy (DGPS / differential fix).
raim: boolRAIM (Receiver Autonomous Integrity Monitoring) flag.
Navigational status. None if not defined.
longitude: Option<f64>Longitude in decimal degrees WGS-84 (1/10° precision). None if sentinel (181°).
latitude: Option<f64>Latitude in decimal degrees WGS-84 (1/10° precision). None if sentinel (91°).
sog: Option<u8>Speed over ground in integer knots. None if not available (raw = 63).
cog: Option<u16>Course over ground in integer degrees (0–359). None if not available (raw = 511).
gnss_position_status: booltrue = current GNSS position; false = not GNSS position (4 h old or more).
Trait Implementations§
Source§impl Clone for LongRangePosition
impl Clone for LongRangePosition
Source§fn clone(&self) -> LongRangePosition
fn clone(&self) -> LongRangePosition
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LongRangePosition
impl Debug for LongRangePosition
Source§impl PartialEq for LongRangePosition
impl PartialEq for LongRangePosition
impl StructuralPartialEq for LongRangePosition
Auto Trait Implementations§
impl Freeze for LongRangePosition
impl RefUnwindSafe for LongRangePosition
impl Send for LongRangePosition
impl Sync for LongRangePosition
impl Unpin for LongRangePosition
impl UnsafeUnpin for LongRangePosition
impl UnwindSafe for LongRangePosition
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
Mutably borrows from an owned value. Read more