pub struct Ellipsoid { /* private fields */ }Expand description
Reference ellipsoid.
Defined by equatorial radius and flattening; polar radius and eccentricities
are derived. Common chart ellipsoids are provided; others via
Ellipsoid::new.
Implementations§
Source§impl Ellipsoid
impl Ellipsoid
Sourcepub const GRS80: Self
pub const GRS80: Self
GRS 80 (ITRF and most national datums); differs from WGS 84 by 0.1 mm at the pole.
Sourcepub const INTERNATIONAL_1924: Self
pub const INTERNATIONAL_1924: Self
International 1924 (Hayford): ED50 and many older charts.
Sourcepub const CLARKE_1866: Self
pub const CLARKE_1866: Self
Clarke 1866: NAD27.
Defined by both axes; inverse flattening derived as a / (a − b).
Sourcepub const KRASSOWSKY_1940: Self
pub const KRASSOWSKY_1940: Self
Krassowsky 1940: Pulkovo 1942, charts of the former USSR.
Sourcepub const BESSEL_1841: Self
pub const BESSEL_1841: Self
Bessel 1841: Tokyo datum, DHDN.
Sourcepub const AUSTRALIAN_NATIONAL: Self
pub const AUSTRALIAN_NATIONAL: Self
Australian National Spheroid: AGD66; same figure as GRS 1967 Modified (SAD69).
Sourcepub fn new(semi_major_axis: Distance, inverse_flattening: f64) -> Result<Self>
pub fn new(semi_major_axis: Distance, inverse_flattening: f64) -> Result<Self>
Ellipsoid from equatorial radius and inverse flattening.
§Errors
KernelError::OutOfRange for a non-positive radius or an inverse
flattening below 1 (f64::INFINITY, a sphere, is accepted).
Sourcepub fn semi_major_axis(&self) -> Distance
pub fn semi_major_axis(&self) -> Distance
Equatorial radius a.
Sourcepub fn semi_minor_axis(&self) -> Distance
pub fn semi_minor_axis(&self) -> Distance
Polar radius b = a (1 − f).
Sourcepub fn flattening(&self) -> f64
pub fn flattening(&self) -> f64
Flattening f = (a − b) / a.
Sourcepub const fn inverse_flattening(&self) -> f64
pub const fn inverse_flattening(&self) -> f64
Inverse flattening 1 / f.
Sourcepub fn first_eccentricity_squared(&self) -> f64
pub fn first_eccentricity_squared(&self) -> f64
First eccentricity squared e² = 2f − f².