← Back to carmenta.com
Carmenta Engine SDK Documentation
×

HotineObliqueMercatorProjection Class

A map projection also known as Rectified Skew Orthomorphic, or just Oblique Mercator.

Namespace: Carmenta.Engine
NuGet/Assembly: Carmenta.Engine.5.16.2.nupkg (in the CECore assembly)
Thread safety: Members defined in this class are thread-safe. Show

Syntax

C#
public class HotineObliqueMercatorProjection : Projection

Remarks

The Hotine Oblique Mercator is a kind of oblique Mercator projection, used for conformal mapping.

Of the slightly different variants of oblique Mercator projections, the Hotine Oblique Mercator is the most popular and has been used in Malaysia, Liberia, Michigan, southeast Alaska, and the Great Lakes; it can also be used in Denmark. However, it should not be used for Switzerland or Hungary (they use the RosenmundObliqueMercatorProjection), nor for Madagascar (they use the LabordeObliqueMercatorProjection).

But the original definition, by Martin Hotine for Malaysia, differs in two respects from most other projections.

  1. The true origin (the point whose projected coordinates are falseEasting and falseNorthing) was defined to be at the so-called natural origin near the equator, not at the central point. This does not make the formulas less useful, but their behavior can be somewhat surprising.

  2. True north did not equal grid north at the central point, but at the natural origin. This is a drawback for regions that are farther from the equator than Malaysia.

To improve the first issue, people have constructed a variant of the formulas, where the true origin is the central point. Although this variant is more like other projections, it means that we now have two ways to construct a Hotine Oblique Mercator, and we must be careful to use the correct one. In Carmenta Engine, the choice is controlled by the TrueOrigin parameter.

To improve the second issue, people have constructed several variants of the formulas, where true north can (or must) equal grid north at the central point. The HotineObliqueMercatorProjection supports the most general of these variants, which has two angle parameters instead of one (both Azimuth and RectifiedGridAngle).

Terminology

Since Hotine's original definition has been modified and generalized, there is no terminology that is accepted by all literature or GIS engines. The basic formulas are the same, but the projection can be regarded as a single projection class, as Carmenta Engine and the PROJ library do, or as two distinct projection classes, as EPSG does, or as several distinct projection classes, as ESRI does, etc. See TrueOrigin for more details.

Martin Hotine himself used the term Rectified Skew Orthomorphic, where Orthomorphic means the same as conformal, Skew means oblique, and Rectified refers to a final rotation that makes grid north (more) equal to true north. The term Hotine Oblique Mercator seems to be coined in the United States. In some texts, Rectified Skew Orthomorphic is regarded as a synonym for Hotine Oblique Mercator, but according to other texts, they differ in their number of parameters, or in their default behavior when parameters are omitted. See also Norm Olsen, 2008.

Inheritance Hierarchy

System.Object (not available in C#)
  EngineObject
    ResourceObject
      Projection
        HotineObliqueMercatorProjection

Platforms

Windows, Linux, Android

See Also

Reference

Core Module

HotineObliqueMercatorProjection Members

The HotineObliqueMercatorProjection type has the following members.

Constructors

NameDescription
HotineObliqueMercatorProjectionInitializes a new instance of the HotineObliqueMercatorProjection class.

Properties

NameDescription
AuthorityGets the name of an authority, which is often "epsg". Inherited from Projection
AuthorityCodeGets the unique code for the projection instance, according to the Authority, for example "19883". Inherited from Projection
AzimuthGets the true azimuth of the central line at the central point.
CentralLatitudeThe central latitude, also known as latitude of origin.
CentralLongitudeThe central longitude, also known as central meridian or longitude of origin.
FalseEastingOffset for the x coordinates.
FalseNorthingOffset for the y coordinates.
IsDisposedGets a value that tells whether the current HotineObliqueMercatorProjection has been disposed. Inherited from EngineObject
LengthUnitThe length unit of the projected coordinates.
Static LongLatGets a pre-defined LongLatProjection instance. Inherited from Projection
NameGets or sets the name of the HotineObliqueMercatorProjection. Inherited from ResourceObject
NativeHandleGets the native Carmenta Engine kernel object the current HotineObliqueMercatorProjection represents. Inherited from EngineObject
RectifiedGridAngleGets the grid azimuth of the central line.
ScaleFactorA scale factor, by which all projected coordinates will be multiplied.
TrueOriginGets a property telling where the true origin is located.
IUserProperties.UserPropertiesGets the AttributeSet that contains the user properties. Inherited from IUserProperties

Methods

NameDescription
CloneCreates a copy of an object. Inherited from EngineObject
DisposeReleases the reference to the native Carmenta Engine kernel instance the EngineObject represents. Inherited from EngineObject
EqualsDetermines whether this instance is equal to another. Inherited from EngineObject
Static UtmReturns one of the 120 predefined instances of Universal Transverse Mercator. Inherited from Projection

By accessing the information on this site you accept our terms and conditions and privacy policy.
This site uses cookies to enhance your experience and provide additional functionality.

Accept