Skip to content

Main content

Molodensky Datum Shift Simplified A-B-Delta Converter

Apply standard first-order Molodensky shifts using caller-established source ellipsoid, three translations and target-minus-source da/df; no built-in datum parameters, rotations or global accuracy guarantee.

Loading tool…

Description

Apply first-order Molodensky coordinate shifts using explicit translations and ellipsoid changes.

Geodesy distinguishes a mathematical reference ellipsoid, a realized coordinate datum and the physical gravity field. Geodetic latitude follows the ellipsoid normal; geocentric latitude follows a radius from the center. Ellipsoidal height, orthometric height and geoid undulation are separate signed quantities. Keep the declared ellipsoid, coordinate axes, angular units and time scale with a result.

Apply first-order Molodensky coordinate shifts using explicit translations and ellipsoid changes.

Molodensky shifting works directly with geographic coordinates and supplied Cartesian translations plus ellipsoid differences. The coordinate values alone do not select the datum-shift parameters.1

When to use this tool

Use this tool when you need to apply first-order Molodensky coordinate shifts using explicit translations and ellipsoid changes.

How to use the tool and how it works

  1. Enter semiMajorMeters, flattening, latitudeDegrees, longitudeDegrees, ellipsoidalHeightMeters, translationMeters, semiMajorDeltaMeters, flatteningDelta using the definitions below.
  2. Run the operation. Resolve input-format errors before interpreting an output.
  3. Read result.latitudeDegrees, result.longitudeDegrees, result.ellipsoidalHeightMeters, result.latitudeShiftArcseconds, result.longitudeShiftArcseconds, result.heightShiftMeters, using the stated boundary, ordering, sign and absence conventions.

Apply the first-order full Molodensky geographic corrections using source ellipsoid, position, three Cartesian translations, delta-a and delta-f. Divide the north-like correction by M+h and east-like correction by (N+h)cos(phi), then return corrected coordinates and signed shifts.2

Input fieldMeaning and unitsAccepted input
semiMajorMetersEquatorial semiaxis a in meters, 1–10⁸. It is a radius, not a diameter.Finite numeric value satisfying the stated comparisons.
flatteningDimensionless ordinary flattening f=(a-b)/a, from zero through 0.02; supply f rather than inverse flattening.Finite numeric value satisfying the stated comparisons.
latitudeDegreesGeodetic latitude in degrees, north positive; the operation’s pole restrictions apply.Finite numeric value satisfying the stated comparisons.
longitudeDegreesEast-positive longitude in degrees from −180 through 180.Finite numeric value satisfying the stated comparisons.
ellipsoidalHeightMetersSigned height above the reference ellipsoid in meters; the operation-specific height bounds apply.Finite numeric value satisfying the stated comparisons.
translationMetersThree translations [dX,dY,dZ] in meters; Molodensky limits each to ±10,000.Dense list of at most 128 finite numbers, under the stated integer/range rules.
semiMajorDeltaMetersTarget-minus-source semimajor-axis change in meters, within ±10,000.Finite numeric value satisfying the stated comparisons.
flatteningDeltaTarget-minus-source dimensionless flattening change, magnitude≤0.001.Finite numeric value satisfying the stated comparisons.
Output fieldInterpretation
resultObject containing the fields below.
result.latitudeDegreesResulting geodetic latitude in degrees, or null on direct-geodesic nonconvergence.
result.longitudeDegreesResulting east-positive longitude in [−180,180) degrees, or null on direct-geodesic nonconvergence.
result.ellipsoidalHeightMetersSigned ellipsoidal height in meters on the supplied model.
result.latitudeShiftArcsecondsTarget-minus-source Molodensky latitude change in arcseconds.
result.longitudeShiftArcsecondsTarget-minus-source Molodensky longitude change in arcseconds before longitude wrapping.
result.heightShiftMetersTarget-minus-source ellipsoidal height change in meters.
json
{
  "input": {
    "semiMajorMeters": 10,
    "flattening": 0,
    "latitudeDegrees": 0,
    "longitudeDegrees": 0,
    "ellipsoidalHeightMeters": 0,
    "translationMeters": [
      1,
      2,
      3
    ],
    "semiMajorDeltaMeters": 0,
    "flatteningDelta": 0
  },
  "output": {
    "result": {
      "latitudeDegrees": 17.188733853924695,
      "longitudeDegrees": 11.45915590261643,
      "ellipsoidalHeightMeters": 1,
      "latitudeShiftArcseconds": 61879.441874128905,
      "longitudeShiftArcseconds": 41252.96124941927,
      "heightShiftMeters": 1
    }
  }
}

Limitations and assumptions

  • Latitude magnitude must be below 89.9°, abs(h)≤10⁵ m with h>−0.1a, translation/delta-a magnitudes≤10,000 m, and abs(delta-f)≤0.001; target ellipsoid must remain valid. This is a linearized shift with explicitly supplied parameters, without rotations, epochs or grid corrections.
  • All quantities are finite and retain the units stated for this operation. Ellipsoid-parameter tools use semi-major axis 1–10⁸ m and dimensionless flattening 0–0.02; explicit-axis tools use 0.9a≤b≤a unless a tighter bound is stated. These tools do not fetch datums, geoid grids, satellite observations or Earth-orientation updates.
  • Every declared outer field is required and unknown outer fields are rejected. Strings and JSON text have size limits, lists are bounded to 128 entries, and JSON nesting/node counts are bounded. Tighter operation-specific bounds stated above take precedence.
  • Numeric results must be finite. Large physical magnitudes are allowed by the output evidence checks, while integer fields and source schemas retain their exactness rules. Source indexes are zero-based. Floating-point residues can remain even where an ideal formula gives an exact zero.

Alternative or Complementary methods

Use a coordinate transform for a change of representation and explicit datum parameters for a change of reference frame. Preserve model and convergence metadata, and use observation and datum information appropriate to a real survey before interpreting a computed tolerance as accuracy.

References

  1. Molodensky transform: geographic datum-shift parameters — PROJ

  2. Tool behavior and example: Molodensky Datum Shift Simplified A-B-Delta Converter — tool.io

Similar or alternative tools