coordinate-0.1.2: A representation of latitude and longitude

Safe HaskellNone
LanguageHaskell2010

Data.Geodetic.EllipsoidReaderT

Synopsis

Documentation

newtype EllipsoidReaderT f a Source #

Constructors

EllipsoidReaderT (Ellipsoid -> f a) 

Instances

MonadTrans EllipsoidReaderT Source # 

Methods

lift :: Monad m => m a -> EllipsoidReaderT m a #

Monad f => Monad (EllipsoidReaderT f) Source # 
Functor f => Functor (EllipsoidReaderT f) Source # 

Methods

fmap :: (a -> b) -> EllipsoidReaderT f a -> EllipsoidReaderT f b #

(<$) :: a -> EllipsoidReaderT f b -> EllipsoidReaderT f a #

MonadFix f => MonadFix (EllipsoidReaderT f) Source # 

Methods

mfix :: (a -> EllipsoidReaderT f a) -> EllipsoidReaderT f a #

Applicative f => Applicative (EllipsoidReaderT f) Source # 
MonadZip f => MonadZip (EllipsoidReaderT f) Source # 
MonadIO f => MonadIO (EllipsoidReaderT f) Source # 

Methods

liftIO :: IO a -> EllipsoidReaderT f a #

Alternative f => Alternative (EllipsoidReaderT f) Source # 
MonadPlus f => MonadPlus (EllipsoidReaderT f) Source # 
Wrapped (EllipsoidReaderT f0 a0) Source # 

Associated Types

type Unwrapped (EllipsoidReaderT f0 a0) :: * #

(~) * (EllipsoidReaderT f0 a0) t0 => Rewrapped (EllipsoidReaderT f1 a1) t0 Source # 
type Unwrapped (EllipsoidReaderT f0 a0) Source # 
type Unwrapped (EllipsoidReaderT f0 a0) = Ellipsoid -> f0 a0

eccentricitySquared :: Applicative f => EllipsoidReaderT f Double Source #

>>> wgs84' eccentricitySquared
6.6943799901413165e-3

eccentricitySquared' :: Applicative f => EllipsoidReaderT f Double Source #

>>> wgs84' eccentricitySquared'
6.694455244784511e-3

normal :: Applicative f => EllipsoidReaderT f (Double -> Double) Source #

>>> wgs84' normal 7
6387371.845852088
>>> wgs84' normal 71
6397535.266650572
>>> wgs84' normal 711
6393308.675975408
>>> wgs84' normal (-7)
6387371.845852088

earthGeo :: Applicative f => EllipsoidReaderT f (ReifiedIso' ECEF LLH) Source #

>>> ECEF (XY (-5019624) 2618621) (-2927516) ^. runIso (wgs84' earthGeo)
LLH {ll = LL {_lat = -0.4799654447089294, _lon = 2.66075442877903}, _height = 100.20987554546446}
>>> ECEF (XY 9919623 (-3116612)) (-2396517) ^. runIso (wgs84' earthGeo)
LLH {ll = LL {_lat = -0.22740831363634992, _lon = -0.30442061911398305}, _height = 4293252.6636643605}
>>> LLH (LL 0.48 2.661) 100 ^. from (runIso (wgs84' earthGeo))
ECEF {_xy = XY {_x = -5020176.908575072, _y = 2617341.3240995244}, _z = 2927710.5079646683}
>>> LLH (LL (-0.22741) (-0.30442)) 4293252.66 ^. from (runIso (wgs84' earthGeo))
ECEF {_xy = XY {_x = 9919621.069754401, _y = -3116604.645933256}, _z = -2396534.4668575544}