Skip to main content

CoordRefSystem

Enum CoordRefSystem 

Source
#[non_exhaustive]
pub enum CoordRefSystem { Wgs84, }
Expand description

The reference system of the provided coordinates.

Currently only the WGS-84 coordinate reference system is supported. It defines the latitude and longitude of the GeoUri to be in decimal degrees and the altitude in meters.

For more details see the component description in RFC 5870.

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.
§

Wgs84

The WGS-84 coordinate reference system.

Implementations§

Source§

impl CoordRefSystem

Source

pub fn validate(&self, latitude: f64, longitude: f64) -> Result<(), Error>

Validates geolocation coordinates against the selected coordinate reference system.

§Examples
let crs = CoordRefSystem::Wgs84;
assert_eq!(crs.validate(52.107, 5.134), Ok(()));
assert_eq!(
    crs.validate(100.0, 5.134), // Latitude not in range `-90.0..=90.0`!
    Err(Error::OutOfRangeLatitude)
);
assert_eq!(
    crs.validate(51.107, -200.0), // Longitude not in range `-180.0..=180.0`!
    Err(Error::OutOfRangeLongitude)
);
§Errors

An error is returned if the latitude/longitude is out of range with respect to the coordinate reference system.

Trait Implementations§

Source§

impl Clone for CoordRefSystem

Source§

fn clone(&self) -> CoordRefSystem

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 CoordRefSystem

Source§

impl Debug for CoordRefSystem

Source§

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

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

impl Default for CoordRefSystem

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Eq for CoordRefSystem

Source§

impl PartialEq for CoordRefSystem

Source§

fn eq(&self, other: &CoordRefSystem) -> 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 CoordRefSystem

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> ErasedDestructor for T
where T: 'static,

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