Ellipsoid

Struct Ellipsoid 

Source
pub struct Ellipsoid {
    pub A: f64,
    pub B: f64,
    pub E: f64,
    pub F: f64,
}
Expand description

Ellipsoid struct that defines all values contained by reference ellipsoids.

Values for pre-defined ellipsoids are taken from the EPSG Geodetic Parameter Dataset, Map projections: A working manual (John P. Snyder, 1987) or Proj documentation.

Because Rust consts currently do not support floating-point operations, const_soft_float crates is used to pre-define Ellipsoids as consts. The crater maintains consistent precision across all targets.

Users can define their own ellipsoids as consts using the new function.

Fields§

§A: f64

Ellipsoid semi-major axis

§B: f64

Ellipsoid semi-minor axis

§E: f64

Ellipsoid eccentricity

§F: f64

Ellipsoid flattening

Implementations§

Source§

impl Ellipsoid

Source

pub const SPHERE: Self

Ellipsoid for a sphere with radius of 6,370,997.0 meters.

Source

pub const WGS84: Self

World Geodetic System 1984 (WGS84) ellipsoid (EPSG:7030).

Source

pub const GRS80: Self

Geodetic Reference System 1980 (GRS 1980) ellipsoid (EPSG:7019).

Source

pub const WGS72: Self

World Geodetic System 1972 (WGS72) ellipsoid (EPSG:7043).

Source

pub const GRS67: Self

Geodetic Reference System 1967 (GRS 1967) ellipsoid (EPSG:7036).

Source

pub const AIRY1830: Self

Airy 1830 ellipsoid (EPSG:7001).

Source

pub const WGS66: Self

World Geodetic System 1966 (WGS66) ellipsoid.

Source

pub const WGS60: Self

World Geodetic System 1960 (WGS60) ellipsoid.

Source

pub const CLARKE1866: Self

Clarke 1866 ellipsoid (EPSG:7008).

Source

pub const fn new(semi_major_axis: f64, inverse_flattening: f64) -> Self

Ellipsoid constructor using semi-major axis and inverse flattening.

Trait Implementations§

Source§

impl Clone for Ellipsoid

Source§

fn clone(&self) -> Ellipsoid

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Ellipsoid

Source§

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

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

impl From<Ellipsoid> for Geodesic

Source§

fn from(ellps: Ellipsoid) -> Self

Converts to this type from the input type.
Source§

impl From<Geodesic> for Ellipsoid

Source§

fn from(geod: Geodesic) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Ellipsoid

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · 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 PartialOrd for Ellipsoid

Source§

fn partial_cmp(&self, other: &Ellipsoid) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Copy for Ellipsoid

Source§

impl StructuralPartialEq for Ellipsoid

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