hcoord- Easily convert between latitude/longitude, UTM and OSGB.

Safe HaskellSafe



To represent a Universal Transverse Mercator (UTM) reference.



data UTMRef Source #





mkUTMRef Source #


:: Double

The easting in metres

-> Double

The northing in metres

-> Char

The latitude zone character

-> Int

The longitude zone number

-> Except String UTMRef

If any of the parameters are invalid. Be careful that a valid value for the easting does not necessarily mean that the UTM reference is well-formed. The current checks do not take into account the varying range of valid values for the easting for different latitudes.

Create a new UTM reference object. Checks are made to make sure that the given parameters are roughly valid, but the checks are not exhaustive with regards to the easting value. Catching an exception does not necessarily mean that the UTM reference is well-formed. This is because that valid values for the easting vary depending on the latitude.

toLatLng :: UTMRef -> Except String LatLng Source #

Convert this UTM reference to a latitude and longitude.

toUTMRef :: LatLng -> Except String UTMRef Source #

Convert latitude and longitude to a UTM reference. If an attempt is made to convert a LatLng that falls outside the area covered by the UTM grid. The UTM grid is only defined for latitudes south of 84°N and north of 80°S.

getUTMLatitudeZoneLetter :: Double -> Char Source #

Work out the UTM latitude zone from the latitude.