geodetics-0.1.0: Terrestrial coordinate systems and geodetic calculations.

Safe HaskellNone



Distinguished coordinate systems for the United Kingdom.



data OSGB36 Source #

Ellipsoid definition for Great Britain. Airy 1830 offset from the centre of the Earth and rotated slightly.

The Helmert parameters are from the Ordnance Survey document "A Guide to Coordinate Systems in Great Britain", which notes that it can be in error by as much as 5 meters and should not be used in applications requiring greater accuracy. A more precise conversion requires a large table of corrections for historical inaccuracies in the triangulation of the UK.



data UkNationalGrid Source #

The UK National Grid is a Transverse Mercator projection with a true origin at 49 degrees North, 2 degrees West on OSGB36, and a false origin 400km West and 100 km North of the true origin. The scale factor is defined as 10**(0.9998268 - 1).



ukGrid :: GridTM OSGB36 Source #

Numerical definition of the UK national grid.

fromUkGridReference :: String -> Maybe (GridPoint UkNationalGrid, GridOffset) Source #

Convert a grid reference to a position, if the reference is valid. This returns the position of the south-west corner of the nominated grid square and an offset to its centre. Altitude is set to zero.

toUkGridReference :: Int -> GridPoint UkNationalGrid -> Maybe String Source #

Find the nearest UK grid reference point to a specified position. The Int argument is the number of digits precision, so 2 for a 4-figure reference and 3 for a 6-figure reference, although any value between 0 and 5 can be used (giving a 1 meter precision). Altitude is ignored. If the result is outside the area defined by the two letter grid codes then Nothing is returned.