DatumTransform

Description

abstract class Tinman.Terrain.Georef.DatumTransform

Derived from

SerializableBase abstract
IDatumTransform

Abstract base class for IDatumTransform implementations.

Public / Constructors

Geocentric​Transform


public static method GeocentricTransform → (3)

source in : Ellipsoid

[not-null]
The source coordinate system (ellipsoid specification).

target in : Ellipsoid

[not-null]
The target coordinate system (ellipsoid specification).

transform in : Mat4D

The geocentric transformation matrix.

returns → IDatumTransform

The resulting datum transform.

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.

Geocentric​Translations


public static method GeocentricTranslations → (3)

source in : Ellipsoid

[not-null]
The source coordinate system (ellipsoid specification).

target in : Ellipsoid

[not-null]
The target coordinate system (ellipsoid specification).

in : Vec3D

EPSG-8605: X-axis translation (tX)
EPSG-8606: Y-axis translation (tY)
EPSG-8607: Z-axis translation (tZ)

returns → IDatumTransform

The resulting datum transform.

Geocentric translations (geog2D domain) EPSG dataset coordinate operation method code 9603

Geographic​Linear


public static method GeographicLinear → (4)

latitude in : float64

Latitude offset, in radians.

longitude in : float64

Longitude offset, in radians.

scale opt : float64 = 1

Height scale factor.

offset opt : float64 = 0

Height offset value.

returns → IDatumTransform

The resulting datum transform.

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).

Geographic​Offset


public static method GeographicOffset → (3)

latitude in : float64

The latitude offset, in radians.

longitude in : float64

The longitude offset, in radians.

height opt : float64 = 0

The height offset, in vertical units.

returns → IDatumTransform

The resulting datum transform.

Transforms 3D geographic coordinates by adding offset values to each component.

This method represents the following:

  • Longitude rotation, EPSG dataset coordinate operation method code 9601

  • Geographic2D offsets, EPSG dataset coordinate operation method code 9619

  • Geographic2D with Height Offsets, EPSG dataset coordinate operation method code 9618

Helmert


public static method Helmert → (5)

source in : Ellipsoid

[not-null]
The source coordinate system (ellipsoid specification).

target in : Ellipsoid

[not-null]
The target coordinate system (ellipsoid specification).

in : Vec3D

EPSG-8605: X-axis translation (tX)
EPSG-8606: Y-axis translation (tY)
EPSG-8607: Z-axis translation (tZ)

in : Vec3D

EPSG-8608: X-axis rotation (rX)
EPSG-8609: Y-axis rotation (rY)
EPSG-8610: Z-axis rotation (rZ)

dS in : float64

EPSG-8611: Scale difference (dS), specified in UnitOfMeasure.Unity.

returns → IDatumTransform

The resulting datum transform.

Position Vector transformation (geog2D domain), EPSG dataset coordinate operation method code 9606

When the axis rotation parameter in is flipped (see Vec3D.Neg), the returned datum transform represents the Coordinate Frame Rotation (geog2D domain), EPSG dataset coordinate operation method code 9607.

Molodensky


public static method Molodensky → (6)

source in : Ellipsoid

[not-null]
The source coordinate system (ellipsoid specification).

target in : Ellipsoid

[not-null]
The target coordinate system (ellipsoid specification).

in : Vec3D

EPSG-8605: X-axis translation (tX)
EPSG-8606: Y-axis translation (tY)
EPSG-8607: Z-axis translation (tZ)

in : Vec3D

EPSG-8608: X-axis rotation (rX)
EPSG-8609: Y-axis rotation (rY)
EPSG-8610: Z-axis rotation (rZ)

in : Vec3D

EPSG-8617: Ordinate 1 of evaluation point (Xp)
EPSG-8618: Ordinate 2 of evaluation point (Xp)
EPSG-8667: Ordinate 3 of evaluation point (Xp)

dS in : float64

EPSG-8611: Scale difference (dS), specified in UnitOfMeasure.Unity.

returns → IDatumTransform

The resulting datum transform.

Molodensky-Badekas (PV geog2D domain), EPSG dataset coordinate operation method code 1063

When the axis rotation parameter in is flipped (see Vec3D.Neg), the returned datum transform represents the Molodensky-Badekas (CF geog2D domain), EPSG dataset coordinate operation method code 9636.

Vertical​Offset


public static method VerticalOffset → (4)

source in : CoordinateSystem

[not-null]
The source coordinate system.

target in : CoordinateSystem

[not-null]
The target coordinate system.

verticalOffset in : float64

The vertical offset parameter.

unit opt : UnitOfMeasure = null

Unit of measure for vertical offset parameter. If null, UnitOfMeasure.Metre will be used.

returns → IDatumTransform

The resulting datum transform.

Vertical Offset, EPSG dataset coordinate operation method code 9616.

Protected / Constructors

Datum​Transform


protected constructor DatumTransform → (1)

serialType in : ISerialTypeInfo

[not-null]
The serial type ID.

Creates a new instance of DatumTransform.

Configuration

Config


public static attribute Config → (get)

value : IConfigurator<IDatumTransform>

[not-null]
The configurator object.

The configurator object for this type.