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
- Enter semiMajorMeters, flattening, latitudeDegrees, longitudeDegrees, ellipsoidalHeightMeters, translationMeters, semiMajorDeltaMeters, flatteningDelta using the definitions below.
- Run the operation. Resolve input-format errors before interpreting an output.
- 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 field | Meaning and units | Accepted input |
|---|---|---|
| semiMajorMeters | Equatorial semiaxis a in meters, 1–10⁸. It is a radius, not a diameter. | Finite numeric value satisfying the stated comparisons. |
| flattening | Dimensionless ordinary flattening f=(a-b)/a, from zero through 0.02; supply f rather than inverse flattening. | Finite numeric value satisfying the stated comparisons. |
| latitudeDegrees | Geodetic latitude in degrees, north positive; the operation’s pole restrictions apply. | Finite numeric value satisfying the stated comparisons. |
| longitudeDegrees | East-positive longitude in degrees from −180 through 180. | Finite numeric value satisfying the stated comparisons. |
| ellipsoidalHeightMeters | Signed height above the reference ellipsoid in meters; the operation-specific height bounds apply. | Finite numeric value satisfying the stated comparisons. |
| translationMeters | Three 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. |
| semiMajorDeltaMeters | Target-minus-source semimajor-axis change in meters, within ±10,000. | Finite numeric value satisfying the stated comparisons. |
| flatteningDelta | Target-minus-source dimensionless flattening change, magnitude≤0.001. | Finite numeric value satisfying the stated comparisons. |
| Output field | Interpretation |
|---|---|
| result | Object containing the fields below. |
| result.latitudeDegrees | Resulting geodetic latitude in degrees, or null on direct-geodesic nonconvergence. |
| result.longitudeDegrees | Resulting east-positive longitude in [−180,180) degrees, or null on direct-geodesic nonconvergence. |
| result.ellipsoidalHeightMeters | Signed ellipsoidal height in meters on the supplied model. |
| result.latitudeShiftArcseconds | Target-minus-source Molodensky latitude change in arcseconds. |
| result.longitudeShiftArcseconds | Target-minus-source Molodensky longitude change in arcseconds before longitude wrapping. |
| result.heightShiftMeters | Target-minus-source ellipsoidal height change in meters. |
{
"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
Similar or alternative tools
- Helmert Transform Coordinate Rotation Applier
Apply a static small-angle seven-parameter Helmert transform with an explicit rotation-sign convention.
- ECEF X-Y-Z from Geodetic Coordinates Calculator
Convert ellipsoidal geodetic coordinates to right-handed ECEF meter coordinates.