Skip to main content

Mgrs

Struct Mgrs 

Source
pub struct Mgrs { /* private fields */ }
Expand description

An MGRS cell, only constructible through the validated paths LatLon::to_mgrs, UtmUps::to_mgrs, and str::parse, so Display is total.

A cell is discrete: Eq and Hash allow deduplication, and the string form through Display and FromStr is the serialization.

Implementations§

Source§

impl Mgrs

Source

pub fn precision(&self) -> Precision

The digit-pair count of this reference.

Source

pub fn to_utmups(&self) -> UtmUps

The center of this cell: the southwest corner plus half a cell in each axis. A corner seeker subtracts half a cell, 10^(5-p)/2 metres, from each axis of the result.

Source

pub fn to_latlon(&self) -> LatLon

The geodetic coordinate of the cell center.

use mgrs_convert::Mgrs;
let cell: Mgrs = "18TWL8566411315".parse()?;
let p = cell.to_latlon();
assert!((p.lat() - 40.748333).abs() < 1e-5);

Trait Implementations§

Source§

impl Clone for Mgrs

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 Debug for Mgrs

Source§

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

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

impl Display for Mgrs

Source§

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

Uppercase, no separators, zone as two digits. Total by construction: no unwrap, no expect, no assertion.

Source§

impl Eq for Mgrs

Source§

impl FromStr for Mgrs

Source§

fn from_str(s: &str) -> Result<Mgrs, Error>

Parses an MGRS reference: ASCII only, outer whitespace trimmed, case folded. Precision is derived from the digit count, and odd counts or counts above 22 are rejected before any digit is read.

Source§

type Err = Error

The associated error which can be returned from parsing.
Source§

impl Hash for Mgrs

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Mgrs

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 Mgrs

Auto Trait Implementations§

§

impl Freeze for Mgrs

§

impl RefUnwindSafe for Mgrs

§

impl Send for Mgrs

§

impl Sync for Mgrs

§

impl Unpin for Mgrs

§

impl UnsafeUnpin for Mgrs

§

impl UnwindSafe for Mgrs

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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.