|
GeodeticsWhere on Earth are we? |
I’ve coded up solutions to the direct and indirect problems of geodetics in Haskell, F#, Unison and Koka and in so doing have been able to find problems with some of these compilers.
The Direct or Forward Geodetics Problem
- {x} The departure point on the ellipsoid.
- {α₁} The azimuth from the departure point.
- {s} The distance to the arrival point.
Given the above inputs, find:
- {y} The arrival point.
- {α₂} The azimuth at the arrival point.
The Inverse or Reverse Geodetics Problem
- {x} The departure point.
- {y} The arrival point.
Given the above inputs, find:
- {s} The distance between departure and arrival points.
- {α₁} The azimuth at the departure point.
- {α₂} The azimuth at the arrival point.
Geodetics Solutions
At the github
/flight-earth organisation
you’ll find a set of solutions to geodesy problems in various programming
languages.
flight-earth
/meridian-arc for F#. Also published on nuget as meridian-arc. Interestingly, the math doesn’t work quite the same on all platforms (Windows, Mac and Ubuntu) I tested with.glide-angle
/flight-earth for Haskell. I’m waiting on a fix for theuom-plugin
dependency to land before I move the package between organisations, fromglide-angle
toflight-earth
.flight-earth
/flat-earth for Unison. Also published on unison share but I’m not finding it.flight-earth
/coriolis-effect for Koka.
Issues Found Incidentally
koka-lang
/koka
Found issues compilingflight-earth
/coriolis-effect.unisonweb
/unison
Found issues compilingflight-earth
/flat-earth.