CoordinateOperationMethod
Description
- Derived from
-
GeoObject abstract
Abstract base class for coordinate operation methods.
This class also provided various default implementations for well-known transformations.
Public / Constants
Albers
Albers (conic, equal-area)
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:
-
EPSG-9822: Albers Equal Area
-
GeoTIFF-11: CT_AlbersEqualArea
-
OpenGIS WKT1:
Albers_Conic_Equal_Area
-
PROJ:
+proj=aea
Cassini
Cassini-Soldner (cylindrical)
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:
-
EPSG-9806: Cassini-Soldner
-
GeoTIFF-18: CT_CassiniSoldner
-
OpenGIS WKT1:
Cassini_Soldner
-
PROJ:
+proj=cass
Equirectangular
Equidistant (cylindrical)
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:
-
EPSG-1028: Equidistant Cylindrical
-
GeoTIFF-17: CT_Equirectangular
-
OpenGIS WKT1:
Equirectangular
-
PROJ:
+proj=eqc
When CoordinateOperationParameter.Latitude is set for this method, the value is applied to CoordinateOperationParameter.Parallel1 instead.
Face
Maps geographic coordinates (latitude, longitude) onto a cubemap face.
The mapping from geographic coordinates and cubemap face coordinates is established by the Cubemap class (see Cubemap.GeographicToCube2 and Cubemap.CubeToFace2). Map coordinates (easting, northing) are mapped to cubemap face coordinates as follows:
a = r * pi / 4 map(-a, -a) => face(0, 0); map( a, -a) => face(n, 0); map(-a, a) => face(0, n); map( a, a) => face(n, n);
where n
is the maximum cubemap coordinate and r
is the radius of the reference sphere (will be Ellipsoid.RadiusOfAuthalicSphere for ellipsoids).
These parameters are defined for this transform:
The latitude and longitude parameters are only used to choose the cubemap face. It is recommended to obtain their values by using LatLon.ForCubemapFace.
LambertAzimuthal
Lambert (azimuthal, equal-area)
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:
-
EPSG-9820: Lambert Azimuthal Equal Area
-
GeoTIFF-10: CT_LambertAzimEqualArea
-
OpenGIS WKT1:
Lambert_Azimuthal_Equal_Area
-
PROJ:
+proj=laea
LambertConic
Lambert (conic, conformal)
These parameters are defined for this transform:
For the 1SP variant:
For the 2SP variant:
The following coordinate operation methods are mapped to this transform factory:
-
PROJ:
+proj=lcc
For the 1SP variant:
-
EPSG-9801: Lambert Conic Conformal (1SP).
-
GeoTIFF-9: CT_LambertConfConic_Helmert
-
OpenGIS WKT1:
Lambert_Conformal_Conic_1SP
For the 2SP variant:
-
EPSG-9802: Lambert Conic Conformal (2SP)
-
GeoTIFF-8: CT_LambertConfConic_2SP
-
OpenGIS WKT1:
Lambert_Conformal_Conic_2SP
LambertCylindrical
Lambert (cylindrical, equal-area)
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:
-
EPSG-9835: Lambert Cylindrical Equal Area
-
GeoTIFF-28: CT_CylindricalEqualArea
-
OpenGIS WKT1:
Cylindrical_Equal_Area
-
PROJ:
+proj=cea
When CoordinateOperationParameter.Latitude is set for this method, the value is applied to CoordinateOperationParameter.Parallel1 instead.
Mercator
Mercator (cylindrical, conformal)
These parameters are defined for this transform:
For the A variant:
-
CoordinateOperationParameter.Scale, if not 1
For the B variant:
The following coordinate operation methods are mapped to this transform factory:
-
GeoTIFF-7: CT_Mercator
-
PROJ:
+proj=merc
For the A variant:
-
EPSG-9804: Mercator (variant A)
-
OpenGIS WKT1:
Mercator_1SP
For the B variant:
-
EPSG-9805: Mercator (variant B)
-
OpenGIS WKT1:
Mercator_2SP
ObliqueMercatorA
Oblique Mercator (cylindrical, conformal)
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:
-
EPSG-9812: Hotine Oblique Mercator (variant A)
-
GeoTIFF-3: CT_ObliqueMercator
-
OpenGIS WKT1:
Hotine_Oblique_Mercator
-
PROJ:
+proj=omerc
ObliqueMercatorB
Oblique Mercator (cylindrical, conformal)
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:
-
EPSG-9815: Hotine Oblique Mercator (variant B)
-
GeoTIFF-9815: CT_HotineObliqueMercatorAzimuthCenter
-
OpenGIS WKT1:
Hotine_Oblique_Mercator_Azimuth_Center
-
PROJ:
+proj=omerc
ObliqueStereographic
Oblique Stereographic (azimuthal, conformal)
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:
-
EPSG-9809: Oblique Stereographic
-
GeoTIFF-14: CT_Stereographic
-
GeoTIFF-16: CT_ObliqueStereographic
-
OpenGIS WKT1:
Stereographic
-
OpenGIS WKT1:
Oblique_Stereographic
-
PROJ:
+proj=sterea
PolarStereographic
Polar Stereographic (azimuthal, conformal)
These parameters are defined for this transform:
For the variant A:
The following coordinate operation methods are mapped to this transform factory:
-
GeoTIFF-15: CT_PolarStereographic
-
OpenGIS WKT1:
Polar_Stereographic
-
PROJ:
+proj=stere
For the variant A:
-
EPSG-9810: Polar Stereographic (variant A)
For the variant B:
-
EPSG-9829: Polar Stereographic (variant B)
PopularMercator
Popular Visualisation Pseudo Mercator
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:
-
EPSG-1024: Popular Visualisation Pseudo Mercator
-
OpenGIS WKT1:
Mercator_Auxiliary_Sphere
Sinusoidal
Sinusoidal (pseudo-cylindrical, equal-area)
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:
-
GeoTIFF-24: CT_Sinusoidal
-
OpenGIS WKT1:
Sinusoidal
-
PROJ:
+proj=sinu
Toast
TOAST (Tessellated Octahedral Adaptive Subdivision Transform)
https://docs.worldwidetelescope.org/data-guide/1/spherical-projections/toast-projection
The following figure illustrates the mapping that is established by this coordinate operation:
(A)-----(B)-----(C) | /|\ | | X | Y | LAT | LON-1 | LON-2 | | / | \ | ---+------+------+------+-------+-------+ | / | \ | A | -90° | 90° | 90°S | - | - | | (D) | (E) | B | 0° | 90° | 0° | 90°E | 90°W | | / | \ | C | 90° | 90° | 90°S | - | - | | / | \ | D | -45° | 45° | 0° | 135°E | 45°W | |/ | \| E | 45° | 45° | 0° | 45°E | 135°W | (F)-----(G)-----(H) F | -90° | 0° | 0° | 180° | 0° | |\ | /| G | 0° | 0° | 90°N | - | - | | \ | / | H | 90° | 0° | 0° | 0° | 180° | | \ | / | I | -45° | -45° | 0° | 135°W | 45°E | | (I) | (J) | J | 45° | -45° | 0° | 45°W | 135°E | | \ | / | K | -90° | -90° | 90°S | - | - | | \ | / | L | 0° | -90° | 0° | 90°W | 90°E | | \|/ | M | 90° | -90° | 90°S | 45°W | 135°E | (K)-----(L)-----(M) X: Easting, Y: Northing, LAT := Latitude LON-1: Longitude (inside), LON-2: Longitude (outside)
These parameters are defined for this transform:
The sign of the CoordinateOperationParameter.Scale parameters chooses between the inside and outside projections:
-
CoordinateOperationParameter.Scale >= 0 : outside
-
CoordinateOperationParameter.Scale < 0 : inside
The floor of the absolute value of the CoordinateOperationParameter.Scale parameter chooses the projection variant:
-
0 : linear interpolation, according to the figure above.
-
1 : spherical interpolation using the base octahedron.
-
n : spherical interpolation using the (n-1)-th octahedron subdivision.
Commonly used subdivision levels are 0
(e.g. Hallo Northern SKY planetarium program) and 6
(e.g. WorldWide Telescope). The maximum value for n
is 8
; larger values will be clamped.
TransverseMercator
Transverse Mercator (cylindrical, conformal)
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:
-
EPSG-9807: Transverse Mercator
-
GeoTIFF-1: CT_TransverseMercator
-
OpenGIS WKT1:
Transverse_Mercator
-
PROJ:
+proj=tmerc
TransverseMercatorSouth
Transverse Mercator South Oriented (cylindrical, conformal)
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:
-
EPSG-9808: Transverse Mercator (South Oriented)
-
GeoTIFF-27: CT_TransvMercator_SouthOriented
-
OpenGIS WKT1:
Transverse_Mercator_South_Orientated
Public / Constructors
Topocentric
Creates a coordinate system which uses this coordinate operation method and is centered at the given coordinates.
The following coordinate operation parameters are initialized by this method:
The final values for easting and northing will be chosen so that center in is mapped to Vec2D.Zero.
- GeorefException
-
If the geo-reference parameters are incomplete or invalid.
Public / Methods
CreateCoordinateTransform
Creates a new instance of ICoordinateTransform, using the given parameters.
- GeorefException
-
If parameters in are incomplete.
FixedParameter
Tries to substitute the given parameter in with the correct one, if it is ignored by this coordinate operation method.
This method is used to fix incorrect coordinate operation specifications:
-
Specification of ignored CoordinateOperationParameter.Latitude when the method expects CoordinateOperationParameter.Parallel1.
IgnoredParameter
Checks if the given parameter in is ignored by this coordinate operation method.
Although values may be specified for ignored parameters, they will not influence the behaviour of the coordinate operation method.
Protected / Constructors
CoordinateOperationMethod
2 overloads
Creates a new instance of CoordinateOperationMethod.
Creates a new instance of CoordinateOperationMethod.