Molodensky transform

New in version 5.0.0.

The Molodensky transformation resembles a Helmert transform with zero rotations and a scale of unity, but converts directly from geodetic coordinates to geodetic coordinates, without the intermediate shifts to and from cartesian geocentric coordinates, associated with the Helmert transformation. The Molodensky transformation is simple to implement and to parametrize, requiring only the 3 shifts between the input and output frame, and the corresponding differences between the semimajor axes and flattening parameters of the reference ellipsoids. Due to its algorithmic simplicity, it was popular prior to the ubiquity of digital computers. Today, it is mostly interesting for historical reasons, but nevertheless indispensable due to the large amount of data that has already been transformed that way [EversKnudsen2017].





Input type

Geodetic coordinates (horizontal), meters (vertical)

output type

Geodetic coordinates (horizontal), meters (vertical)

The Molodensky transform can be used to perform a datum shift from coordinate \((\phi_1, \lambda_1, h_1)\) to \((\phi_2, \lambda_2, h_2)\) where the two coordinates are referenced to different ellipsoids. This is based on three assumptions:

  1. The cartesian axes, \(X, Y, Z\), of the two ellipsoids are parallel.

  2. The offset, \(\delta X, \delta Y, \delta Z\), between the two ellipsoid are known.

  3. The characteristics of the two ellipsoids, expressed as the difference in semimajor axis (\(\delta a\)) and flattening (\(\delta f\)), are known.

The Molodensky transform is mostly used for transforming between old systems dating back to the time before computers. The advantage of the Molodensky transform is that it is fairly simple to compute by hand. The ease of computation come at the cost of limited accuracy.

A derivation of the mathematical formulas for the Molodensky transform can be found in [Deakin2004].


The abridged Molodensky:

proj=molodensky a=6378160 rf=298.25 da=-23 df=-8.120449e-8  dx=-134 dy=-48 dz=149 abridged

The same transformation using the standard Molodensky:

proj=molodensky a=6378160 rf=298.25 da=-23 df=-8.120449e-8  dx=-134 dy=-48 dz=149




Difference in semimajor axis of the defining ellipsoids.


Difference in flattening of the defining ellipsoids.


Offset of the X-axes of the defining ellipsoids.


Offset of the Y-axes of the defining ellipsoids.


Offset of the Z-axes of the defining ellipsoids.


The name of a built-in ellipsoid definition.

See Ellipsoids for more information, or execute proj -le for a list of built-in ellipsoid names.

Defaults to “GRS80”.



Use the abridged version of the Molodensky transform.