DatumTransform
Description
- Derived from
-
SerializableBase abstract
IDatumTransform
Abstract base class for IDatumTransform implementations.
Public / Constructors
CoordinateFrameRotation
EPSG-1133: Coordinate Frame rotation full matrix (geog2D)
EPSG-1140: Coordinate Frame rotation full matrix (geog3D)
GeocentricTransform
Applies the given transformation in the geocentric domain.
First, geographic coordinates are converted to geocentric coordinates using the source coordinate system. Then the matrix transformation is applied to the X-, Y- and Z-coordinates. Finally, the geocentric coordinates are converted back to geographic coordinates using the target coordinate system.
GeocentricTranslations
EPSG-1035: Geocentric translations (geog3D domain)
EPSG-9603: Geocentric translations (geog2D domain)
GeographicLinear
Creates a custom linear datum transform.
For the given input coordinates (lambda, phi, h), the transformation will give:
(lambda + longitude, phi + latitude, h * scale + offset)
This method represents the following:
-
EPSG-1131: Geog3D to Geog2D+GravityRelatedHeight
-
EPSG-1136: Geographic3D to GravityRelatedHeight
-
EPSG-9601: Longitude rotation
-
EPSG-9616: Vertical Offset
-
EPSG-9618: Geographic2D with Height Offsets
-
EPSG-9619: Geographic2D offsets
-
EPSG-9660: Geographic3D offsets
Helmert
EPSG-1037: Position Vector Transformation (geog3D domain)
EPSG-1038: Coordinate Frame Rotation (geog3D domain)
EPSG-1149: Coordinate Frame Rotation (geog3D to compound)
EPSG-9606: Position Vector Transformation (geog2D domain)
EPSG-9607: Coordinate Frame Rotation (geog2D domain)
For the PVT case, the axis rotation parameters (see r in) must be passed in unchanged. For the CFR case, the axis rotation parameters must be negated (see IVecOps.Neg) before passing them in.
Molodensky
EPSG-1039: Molodensky-Badekas (CF geog3D domain)
EPSG-1062: Molodensky-Badekas (PV geog3D domain)
EPSG-1063: Molodensky-Badekas (PV geog2D domain)
EPSG-9636: Molodensky-Badekas (CF geog2D domain)
For the PV case, the axis rotation parameters (see r in) must be passed in unchanged. For the CF case, the axis rotation parameters must be negated (see IVecOps.Neg) before passing them in.
PolynomialSin
Vertical offset computed by a polynomial of degree 4 on the sine of the latitude:
f(x) = c4 * x^4 + c3 * x^3 + c2 * x^2 + c1 * x^1 + c0 H_out = H_in + scale * f(sin(latitude))
where H_in is the vertical coordinate value in the source datum, H_out is the vertical coordinate value in the target datum and scale is the scale factor from metres to vertical units.