
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
/flightearth organisation
you’ll find a set of solutions to geodesy problems in various programming
languages.
flightearth
/meridianarc for F#. Also published on nuget as meridianarc. Interestingly, the math doesn’t work quite the same on all platforms (Windows, Mac and Ubuntu) I tested with.glideangle
/flightearth for Haskell. I’m waiting on a fix for theuomplugin
dependency to land before I move the package between organisations, fromglideangle
toflightearth
.flightearth
/flatearth for Unison. Also published on unison share but I’m not finding it.flightearth
/corioliseffect for Koka.
Issues Found Incidentally
kokalang
/koka
Found issues compilingflightearth
/corioliseffect.unisonweb
/unison
Found issues compilingflightearth
/flatearth.