pub struct ObliqueMercatorProjection<const C: i64> { /* private fields */ }Expand description
§Oblique Mercator
Classification: Conformal cylindrical
Available forms: Forward and inverse, spherical and ellipsoidal
Defined area: Global, but reasonably accurate only within 15 degrees of the oblique central line
Alias: omerc
Domain: 2D
Input type: Geodetic coordinates
Output type: Projected coordinates
§Projection String
+proj=omerc +lat_1=45 +lat_2=55§Required Parameters
+lat_1=<value>: Latitude of the first point on the central line.+lat_2=<value>: Latitude of the second point on the central line.
§Optional Parameters
+alpha=<value>: Azimuth of the centerline clockwise from north at the center point of the line.+gamma=<value>: Azimuth of the centerline clockwise from north of the rectified bearing of the centerline.+lonc=<value>: Longitude of the projection center (overrides+lon_0).+lat_0=<value>: Latitude of the projection center.+no_rot: Disables rectification (historical reason).+no_off: Disables origin offset to the center of projection.+k_0=<value>: Scale factor at the central line.+x_0=<value>: False easting.+y_0=<value>: False northing.
§Usage Example
echo 12 55 | proj +proj=omerc +alpha=90 +ellps=GRS80
echo 12 55 | proj +proj=omerc +alpha=0 +R=6400000
echo 12 55 | proj +proj=omerc +lon_1=0 +lat_1=-1 +lon_2=0 +lat_2=0 +R=6400000
echo 12 55 | proj +proj=tmerc +R=6400000
echo 12 55 | proj +proj=omerc +lon_1=-1 +lat_1=1 +lon_2=0 +lat_2=0 +ellps=GRS80
echo 10.536498003 56.229892362 | cs2cs +proj=longlat +ellps=GRS80 +to +proj=omerc +axis=wnu +lonc=9.46 +lat_0=56.13333333 +x_0=-266906.229 +y_0=189617.957 +k=0.9999537 +alpha=-0.76324 +gamma=0 +ellps=GRS80§Caveats
The two-point method with no rectification is probably only marginally useful.

Trait Implementations§
Source§impl<const C: i64> Clone for ObliqueMercatorProjection<C>
impl<const C: i64> Clone for ObliqueMercatorProjection<C>
Source§fn clone(&self) -> ObliqueMercatorProjection<C>
fn clone(&self) -> ObliqueMercatorProjection<C>
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<const C: i64> CoordinateStep for ObliqueMercatorProjection<C>
impl<const C: i64> CoordinateStep for ObliqueMercatorProjection<C>
Source§impl<const C: i64> Debug for ObliqueMercatorProjection<C>
impl<const C: i64> Debug for ObliqueMercatorProjection<C>
Source§impl<const C: i64> PartialEq for ObliqueMercatorProjection<C>
impl<const C: i64> PartialEq for ObliqueMercatorProjection<C>
Source§impl<const C: i64> ProjectCoordinates for ObliqueMercatorProjection<C>
impl<const C: i64> ProjectCoordinates for ObliqueMercatorProjection<C>
impl<const C: i64> StructuralPartialEq for ObliqueMercatorProjection<C>
Auto Trait Implementations§
impl<const C: i64> !Freeze for ObliqueMercatorProjection<C>
impl<const C: i64> !RefUnwindSafe for ObliqueMercatorProjection<C>
impl<const C: i64> !Send for ObliqueMercatorProjection<C>
impl<const C: i64> !Sync for ObliqueMercatorProjection<C>
impl<const C: i64> Unpin for ObliqueMercatorProjection<C>
impl<const C: i64> !UnwindSafe for ObliqueMercatorProjection<C>
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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