Copyright | (c) 2018 Cedric Liegeois |
---|---|
License | BSD3 |
Maintainer | Cedric Liegeois <ofmooseandmen@yahoo.fr> |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Types to represent a geographic position by its latitude and longitude.
Synopsis
- data LatLong
- latLong :: Angle -> Angle -> LatLong
- latLongE :: Angle -> Angle -> Either String LatLong
- latLongF :: MonadFail m => Angle -> Angle -> m LatLong
- latLongDecimal :: Double -> Double -> LatLong
- latLongDecimalE :: Double -> Double -> Either String LatLong
- latLongDecimalF :: MonadFail m => Double -> Double -> m LatLong
- readLatLong :: String -> LatLong
- readLatLongE :: String -> Either String LatLong
- readLatLongF :: MonadFail m => String -> m LatLong
- toDecimalDegrees' :: LatLong -> (Double, Double)
The LatLong
type
A geographic position (latitude and longitude).
Smart constructors
read
readLatLong :: String -> LatLong Source #
Obtains a LatLong
from the given string formatted as either:
- DD(MM)(SS)[N|S]DDD(MM)(SS)[E|W] - e.g. 553621N0130002E or 0116S03649E or 47N122W
Angle
[N|S]Angle
[E|W] - e.g. 55°36'21''N 13°0'02''E or 11°16'S 36°49'E or 47°N 122°W
This simply calls read s :: GeoPos
so error
should be handled at the call site.
readLatLongE :: String -> Either String LatLong Source #
Same as readLatLong
but returns a Either
.
readLatLongF :: MonadFail m => String -> m LatLong Source #
Same as readLatLong
but returns a MonadFail
.