jord: Geographical Position Calculations

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

Please see the README on GitHub at https://github.com/ofmooseandmen/jord#readme


[Skip to ReadMe]

Properties

Versions0.1.0.0, 0.2.0.0, 0.3.0.0, 0.3.1.0, 0.3.1.0, 0.4.0.0, 0.4.1.0, 0.4.2.0
Change logChangeLog.md
Dependenciesbase (>=4.9 && <5), haskeline (==0.7.*), jord [details]
LicenseBSD-3-Clause
Copyright2018 Cedric Liegeois
AuthorCedric Liegeois
MaintainerCedric Liegeois <ofmooseandmen@yahoo.com>
CategoryGeography
Home pagehttps://github.com/ofmooseandmen/jord
Bug trackerhttps://github.com/ofmooseandmen/jord/issues
Source repositoryhead: git clone https://github.com/ofmooseandmen/jord
Executablesjord-exe
UploadedSun Aug 12 04:23:41 UTC 2018 by CedricLiegeois

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees


Readme for jord-0.3.1.0

[back to package description]

Jord - Geographical Position Calculations

travis build status Hackage license

Jord [Swedish] is Earth [English]

What is this?

Jord is a Haskell library that implements various geographical position calculations using the algorithms described in Gade, K. (2010). A Non-singular Horizontal Position Representation.

How do I build it?

If you have Stack, then:

$ stack build --test

How do I use it?

See documentation on Hackage

import Data.Geo.Jord

-- Delta between positions in frameL
let p1 = decimalLatLongHeight 1 2 (metres (-3))
let p2 = decimalLatLongHeight 4 5 (metres (-6))
let w = decimalDegrees 5 -- wander azimuth
deltaBetween p1 p2 (frameL w) wgs84 -- = deltaMetres 359490.579 302818.523 17404.272

-- destination position from 531914N0014347W having travelled 500Nm on a heading of 96.0217°
-- using mean earth radius derived from the WG84 ellipsoid
destination (readLatLong "531914N0014347W") (decimalDegrees 96.0217) (nauticalMiles 500) r84

-- surface distance between 54°N,154°E and its antipodal position
-- using mean earth radius derived from the WG84 ellipsoid
let p = decimalLatLong 54 154
surfaceDistance p (antipode p) r84

Jord comes with a REPL (built with haskeline):

$ jord-exe
jord> finalBearing (destination (antipode 54°N,154°E) 54° 1000m) 54°N,154°E
jord> angle: 126°0'0.0" (126.0)