Skip to content

moudzx/Helmert-transformation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

Helmert-transformation

Execution Output

output1

output2

Overview

The Earth's actual shape is complex..
It's lumpy and irregular due to uneven mass distribution (mountains, ocean trenches, dense rock underground).

In geodesy and geographic information systems (GIS), the Earth is represented by localized reference ellipsoids. Because these reference systems (datums) differ between regions or satellite generations (e.g., mapping old local datums to modern global systems like WGS84), coordinates cannot simply be plotted across them directly.

gcs

GPS uses a global datum (called WGS84), which uses an ellipsoid that is the "best fit" for the entire planet. Different countries and organizations optimize their own local datums; so when the GPS satalleits produces a raw position in WGS84, this position is transformed into the correct local datums to match the map we use.

This application acts as a specialized geodetic conversion utility. It handles the rigorous, three-step mathematical pipeline necessary to transform positions safely without distortion:

Transform coordinates

transformation

  1. Geographic to Geocentric Projection:

    Converts curved surface positions ($\text{Latitude}, \text{Longitude}, \text{Ellipsoidal Height } h$) relative to a chosen source ellipsoid into straight 3D Earth-Centered, Earth-Fixed (ECEF) Cartesian coordinate vectors ($X, Y, Z$ in meters).

    1

  2. Helmert 7-Parameter Matrix Transformation:

    Applies a linear 3D transformation matrix using three translation shifts ($T_x, T_y, T_z$), three axis rotation angles ($R_x, R_y, R_z$), and a uniform scale factor correction ($s$, expressed in parts-per-million).

    2

  3. Geocentric to Geographic Backward Projection:

    Inverts the Cartesian positions back onto the destination reference ellipsoid to derive the translated target coordinates ($\text{Latitude}, \text{Longitude}, \text{Height}$).

    3
    4


Build

Linux: chmod +x build.sh && ./build.sh

Windows: double click build.bat

Run

Linux: java -jar helmert.jar

Windows: double click helmert.jar

About

GUI Application built in Java-Swing that implements the 7-parameter Helmert transformation for converting geographic coordinates between datums.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages