Skip to main content

ProjectionMethod

Enum ProjectionMethod 

Source
pub enum ProjectionMethod {
Show 23 variants WebMercator, TransverseMercator { lon0: f64, lat0: f64, k0: f64, false_easting: f64, false_northing: f64, }, PolarStereographic { lon0: f64, lat_ts: f64, k0: f64, false_easting: f64, false_northing: f64, }, LambertConformalConic { lon0: f64, lat0: f64, lat1: f64, lat2: f64, k0: f64, false_easting: f64, false_northing: f64, }, LambertConformalConicMichigan { lon0: f64, lat0: f64, lat1: f64, lat2: f64, ellipsoid_scaling_factor: f64, false_easting: f64, false_northing: f64, }, LambertConformalConic1SPVariantB { lon0: f64, lat0: f64, k0: f64, lat_false_origin: f64, false_easting: f64, false_northing: f64, }, AlbersEqualArea { lon0: f64, lat0: f64, lat1: f64, lat2: f64, false_easting: f64, false_northing: f64, }, LambertAzimuthalEqualArea { lon0: f64, lat0: f64, false_easting: f64, false_northing: f64, }, LambertAzimuthalEqualAreaSpherical { lon0: f64, lat0: f64, false_easting: f64, false_northing: f64, }, ObliqueStereographic { lon0: f64, lat0: f64, k0: f64, false_easting: f64, false_northing: f64, }, HotineObliqueMercator { latc: f64, lonc: f64, azimuth: f64, rectified_grid_angle: f64, k0: f64, false_easting: f64, false_northing: f64, variant_b: bool, }, CassiniSoldner { lon0: f64, lat0: f64, false_easting: f64, false_northing: f64, }, Mercator { lon0: f64, lat_ts: f64, k0: f64, false_easting: f64, false_northing: f64, }, EquidistantCylindrical { lon0: f64, lat_ts: f64, false_easting: f64, false_northing: f64, }, ColombiaUrban { lon0: f64, lat0: f64, h0: f64, false_easting: f64, false_northing: f64, }, KrovakNorthOrientated { lon0: f64, lat0: f64, co_latitude_cone_axis: f64, lat_pseudo_standard_parallel: f64, k0: f64, false_easting: f64, false_northing: f64, }, KrovakModifiedNorthOrientated { lon0: f64, lat0: f64, co_latitude_cone_axis: f64, lat_pseudo_standard_parallel: f64, k0: f64, false_easting: f64, false_northing: f64, }, EqualEarth { lon0: f64, false_easting: f64, false_northing: f64, }, AmericanPolyconic { lon0: f64, lat0: f64, false_easting: f64, false_northing: f64, }, AzimuthalEquidistant { lon0: f64, lat0: f64, false_easting: f64, false_northing: f64, }, GuamProjection { lon0: f64, lat0: f64, false_easting: f64, false_northing: f64, }, PolarStereographicVariantC { lon0: f64, lat_ts: f64, easting_false_origin: f64, northing_false_origin: f64, }, LabordeObliqueMercator { lon0: f64, lat0: f64, azimuth: f64, k0: f64, false_easting: f64, false_northing: f64, },
}
Expand description

All supported projection methods with their parameters.

Angle parameters are stored in degrees. Conversion to radians happens at projection construction time (once), not per-transform.

Variants§

§

WebMercator

Web Mercator (EPSG:3857) — spherical Mercator on WGS84 semi-major axis.

§

TransverseMercator

Transverse Mercator (includes UTM zones).

Fields

§lon0: f64

Central meridian (degrees).

§lat0: f64

Latitude of origin (degrees).

§k0: f64

Scale factor on central meridian.

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

PolarStereographic

Polar Stereographic.

Fields

§lon0: f64

Central meridian / straight vertical longitude (degrees).

§lat_ts: f64

Latitude of true scale (degrees). Determines the hemisphere.

§k0: f64

Scale factor (used when lat_ts = ±90°, otherwise derived from lat_ts).

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

LambertConformalConic

Lambert Conformal Conic (1SP or 2SP).

Fields

§lon0: f64

Central meridian (degrees).

§lat0: f64

Latitude of origin (degrees).

§lat1: f64

First standard parallel (degrees).

§lat2: f64

Second standard parallel (degrees). Set equal to lat1 for 1SP variant.

§k0: f64

Scale factor at the natural origin (1SP variant); 1.0 for 2SP.

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

LambertConformalConicMichigan

Lambert Conic Conformal (2SP Michigan), EPSG method 1051: LCC 2SP with an ellipsoid scaling factor applied to the semi-major axis.

Fields

§lon0: f64

Central meridian (degrees).

§lat0: f64

Latitude of false origin (degrees).

§lat1: f64

First standard parallel (degrees).

§lat2: f64

Second standard parallel (degrees).

§ellipsoid_scaling_factor: f64

Ellipsoid scaling factor (EPSG parameter 1038).

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

LambertConformalConic1SPVariantB

Lambert Conic Conformal (1SP variant B), EPSG method 1102: the cone is defined at the natural origin with a scale factor, while false easting/northing apply at a separate false origin.

Fields

§lon0: f64

Longitude of false origin (degrees).

§lat0: f64

Latitude of natural origin (degrees).

§k0: f64

Scale factor at the natural origin.

§lat_false_origin: f64

Latitude of false origin (degrees).

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

AlbersEqualArea

Albers Equal Area Conic.

Fields

§lon0: f64

Central meridian (degrees).

§lat0: f64

Latitude of origin (degrees).

§lat1: f64

First standard parallel (degrees).

§lat2: f64

Second standard parallel (degrees).

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

LambertAzimuthalEqualArea

Lambert Azimuthal Equal Area.

Fields

§lon0: f64

Longitude of natural origin (degrees).

§lat0: f64

Latitude of natural origin (degrees).

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

LambertAzimuthalEqualAreaSpherical

Lambert Azimuthal Equal Area (spherical).

Fields

§lon0: f64

Longitude of natural origin (degrees).

§lat0: f64

Latitude of natural origin (degrees).

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

ObliqueStereographic

EPSG Oblique Stereographic (Roussilhe / double stereographic).

Fields

§lon0: f64

Longitude of natural origin (degrees).

§lat0: f64

Latitude of natural origin (degrees).

§k0: f64

Scale factor at natural origin.

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

HotineObliqueMercator

Hotine Oblique Mercator / Rectified Skew Orthomorphic.

Fields

§latc: f64

Latitude of projection centre (degrees).

§lonc: f64

Longitude of projection centre (degrees).

§azimuth: f64

Azimuth of central line at projection centre (degrees clockwise from north).

§rectified_grid_angle: f64

Angle from rectified to skew grid (degrees).

§k0: f64

Scale factor at projection centre.

§false_easting: f64

False easting or easting at projection centre (meters).

§false_northing: f64

False northing or northing at projection centre (meters).

§variant_b: bool

EPSG variant B offsets the natural origin to the projection centre.

§

CassiniSoldner

Cassini-Soldner.

Fields

§lon0: f64

Longitude of natural origin (degrees).

§lat0: f64

Latitude of natural origin (degrees).

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

Mercator

Standard Mercator (ellipsoidal, distinct from Web Mercator).

Fields

§lon0: f64

Central meridian (degrees).

§lat_ts: f64

Latitude of true scale (degrees). 0 for 1SP variant.

§k0: f64

Scale factor (for 1SP when lat_ts = 0).

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

EquidistantCylindrical

Equidistant Cylindrical / Plate Carrée.

Fields

§lon0: f64

Central meridian (degrees).

§lat_ts: f64

Latitude of true scale (degrees).

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

ColombiaUrban

Colombia Urban (EPSG method 1052): plane projection at the elevation of the mapped city. h0 is the projection plane origin height in meters.

Fields

§lon0: f64
§lat0: f64
§h0: f64
§false_easting: f64
§false_northing: f64
§

KrovakNorthOrientated

Krovak (North Orientated), EPSG method 1041: oblique conformal conic with east/north axis orientation, so Czech and Slovak coordinates are negative. Longitudes are referenced to the base CRS’s prime meridian.

Fields

§lon0: f64

Longitude of origin (degrees).

§lat0: f64

Latitude of projection centre (degrees).

§co_latitude_cone_axis: f64

Co-latitude of cone axis (degrees).

§lat_pseudo_standard_parallel: f64

Latitude of pseudo standard parallel (degrees).

§k0: f64

Scale factor on pseudo standard parallel.

§false_easting: f64

False easting (meters), applied on the native westing axis.

§false_northing: f64

False northing (meters), applied on the native southing axis.

§

KrovakModifiedNorthOrientated

Krovak Modified (North Orientated), EPSG method 1043: Krovak plus the S-JTSK/05 polynomial distortion correction whose coefficients are defining constants of the EPSG method.

Fields

§lon0: f64

Longitude of origin (degrees).

§lat0: f64

Latitude of projection centre (degrees).

§co_latitude_cone_axis: f64

Co-latitude of cone axis (degrees).

§lat_pseudo_standard_parallel: f64

Latitude of pseudo standard parallel (degrees).

§k0: f64

Scale factor on pseudo standard parallel.

§false_easting: f64

False easting (meters), applied on the native westing axis.

§false_northing: f64

False northing (meters), applied on the native southing axis.

§

EqualEarth

Equal Earth (EPSG method 1078): pseudocylindrical equal-area world projection through the authalic latitude.

Fields

§lon0: f64

Longitude of natural origin (degrees).

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

AmericanPolyconic

American Polyconic (EPSG method 9818): each parallel projected as the arc of a tangent cone.

Fields

§lon0: f64

Longitude of natural origin (degrees).

§lat0: f64

Latitude of natural origin (degrees).

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

AzimuthalEquidistant

Azimuthal Equidistant (EPSG methods 1125 and 9832): true distance and azimuth from the projection centre.

Fields

§lon0: f64

Longitude of natural origin (degrees).

§lat0: f64

Latitude of natural origin (degrees).

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

GuamProjection

Guam Projection (EPSG method 9831): the simplified azimuthal equidistant used by the Guam and Yap island grids.

Fields

§lon0: f64

Longitude of natural origin (degrees).

§lat0: f64

Latitude of natural origin (degrees).

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

§

PolarStereographicVariantC

Polar Stereographic variant C (EPSG method 9830): defined by a standard parallel, with the false origin on that parallel instead of at the pole (Terre Adelie grids).

Fields

§lon0: f64

Longitude of origin (degrees).

§lat_ts: f64

Latitude of standard parallel (degrees).

§easting_false_origin: f64

Easting at false origin (meters).

§northing_false_origin: f64

Northing at false origin (meters).

§

LabordeObliqueMercator

Laborde Oblique Mercator (EPSG method 9813): the Madagascar grid’s conformal-sphere oblique construction.

Fields

§lon0: f64

Longitude of projection centre (degrees).

§lat0: f64

Latitude of projection centre (degrees).

§azimuth: f64

Azimuth at projection centre (degrees).

§k0: f64

Scale factor at projection centre.

§false_easting: f64

False easting (meters).

§false_northing: f64

False northing (meters).

Trait Implementations§

Source§

impl Clone for ProjectionMethod

Source§

fn clone(&self) -> ProjectionMethod

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 ProjectionMethod

Source§

impl Debug for ProjectionMethod

Source§

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

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

impl PartialEq for ProjectionMethod

Source§

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

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.