fbonetti / elm-geodesy / Geodesy

Types


type alias Coordinates =
( Basics.Float, Basics.Float )

Latitude & longitude pair, in decimal degrees


type alias DegreesMinutesSeconds =
( Basics.Int, Basics.Int, Basics.Float )

Representation of degrees in degrees, minutes, and seconds


type Unit
    = Kilometers
    | Meters
    | Miles
    | Feet

Distance can be returned as kilometers, meters, miles, or feet

Helpers

decimalDegrees : DegreesMinutesSeconds -> Basics.Float

Converts degrees, minutes, and seconds into decimal degrees

degreesMinutesSeconds : Basics.Float -> DegreesMinutesSeconds

Converts decimal degrees into degrees, minutes, and seconds

Great-circle path ("as the crow flies")

distance : Coordinates -> Coordinates -> Unit -> Basics.Float

Great-circle distance between two points on a sphere

initialBearing : Coordinates -> Coordinates -> Basics.Float

The initial compass bearing of a great-circle path

finalBearing : Coordinates -> Coordinates -> Basics.Float

The final compass bearing of a great-circle path

midpoint : Coordinates -> Coordinates -> Coordinates

Half-way point along a great circle path

Rhumb line

rhumbDistance : Coordinates -> Coordinates -> Unit -> Basics.Float

Rhumb line distance between two points

rhumbBearing : Coordinates -> Coordinates -> Basics.Float

Constant compass bearing needed to traverse a rhumb line

rhumbMidpoint : Coordinates -> Coordinates -> Coordinates

Half-way point along a rhumb line