-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A representation of latitude and longitude -- -- -- A representation of latitude and longitude @package coordinate @version 0.1.1 module Data.Geodetic.HasDoubles class HasDoubles a doubles :: HasDoubles a => Traversal' a Double instance Data.Geodetic.HasDoubles.HasDoubles GHC.Types.Double module Data.Geodetic.LL data LL LL :: Double -> Double -> LL [_lat] :: LL -> Double [_lon] :: LL -> Double class HasLL c_aaz6 where lat = (.) lL lat lon = (.) lL lon lL :: HasLL c_aaz6 => Lens' c_aaz6 LL lat :: HasLL c_aaz6 => Lens' c_aaz6 Double lon :: HasLL c_aaz6 => Lens' c_aaz6 Double instance Data.Geodetic.LL.HasLL Data.Geodetic.LL.LL instance Data.Geodetic.HasDoubles.HasDoubles Data.Geodetic.LL.LL instance GHC.Show.Show Data.Geodetic.LL.LL instance GHC.Classes.Ord Data.Geodetic.LL.LL instance GHC.Classes.Eq Data.Geodetic.LL.LL module Data.Geodetic.LLH data LLH LLH :: LL -> Double -> LLH [ll] :: LLH -> LL [_height] :: LLH -> Double class HasLLH c_abnz where height = (.) lLH height lLH :: HasLLH c_abnz => Lens' c_abnz LLH height :: HasLLH c_abnz => Lens' c_abnz Double instance Data.Geodetic.LLH.HasLLH Data.Geodetic.LLH.LLH instance Data.Geodetic.LL.HasLL Data.Geodetic.LLH.LLH instance Data.Geodetic.HasDoubles.HasDoubles Data.Geodetic.LLH.LLH instance GHC.Show.Show Data.Geodetic.LLH.LLH instance GHC.Classes.Ord Data.Geodetic.LLH.LLH instance GHC.Classes.Eq Data.Geodetic.LLH.LLH module Data.Geodetic.XY data XY XY :: Double -> Double -> XY [_x] :: XY -> Double [_y] :: XY -> Double class HasXY c_accg where x = (.) xY x y = (.) xY y xY :: HasXY c_accg => Lens' c_accg XY x :: HasXY c_accg => Lens' c_accg Double y :: HasXY c_accg => Lens' c_accg Double instance Data.Geodetic.XY.HasXY Data.Geodetic.XY.XY instance Data.Geodetic.HasDoubles.HasDoubles Data.Geodetic.XY.XY instance GHC.Show.Show Data.Geodetic.XY.XY instance GHC.Classes.Ord Data.Geodetic.XY.XY instance GHC.Classes.Eq Data.Geodetic.XY.XY module Data.Geodetic.Ellipsoid data Ellipsoid Ellipsoid :: Double -> Double -> Ellipsoid [_semiMajor] :: Ellipsoid -> Double [_flattening] :: Ellipsoid -> Double class HasEllipsoid c_ad0s where flattening = (.) ellipsoid flattening semiMajor = (.) ellipsoid semiMajor ellipsoid :: HasEllipsoid c_ad0s => Lens' c_ad0s Ellipsoid flattening :: HasEllipsoid c_ad0s => Lens' c_ad0s Double semiMajor :: HasEllipsoid c_ad0s => Lens' c_ad0s Double flatteningReciprocal :: HasEllipsoid e => Lens' e Double wgs84 :: Ellipsoid instance Data.Geodetic.Ellipsoid.HasEllipsoid Data.Geodetic.Ellipsoid.Ellipsoid instance Data.Geodetic.HasDoubles.HasDoubles Data.Geodetic.Ellipsoid.Ellipsoid instance GHC.Show.Show Data.Geodetic.Ellipsoid.Ellipsoid instance GHC.Classes.Ord Data.Geodetic.Ellipsoid.Ellipsoid instance GHC.Classes.Eq Data.Geodetic.Ellipsoid.Ellipsoid module Data.Geodetic.ECEF data ECEF ECEF :: XY -> Double -> ECEF [_xy] :: ECEF -> XY [_z] :: ECEF -> Double class HasECEF c_ae3F where xy = (.) eCEF xy z = (.) eCEF z eCEF :: HasECEF c_ae3F => Lens' c_ae3F ECEF xy :: HasECEF c_ae3F => Lens' c_ae3F XY z :: HasECEF c_ae3F => Lens' c_ae3F Double instance Data.Geodetic.ECEF.HasECEF Data.Geodetic.ECEF.ECEF instance Data.Geodetic.XY.HasXY Data.Geodetic.ECEF.ECEF instance Data.Geodetic.HasDoubles.HasDoubles Data.Geodetic.ECEF.ECEF instance GHC.Show.Show Data.Geodetic.ECEF.ECEF instance GHC.Classes.Ord Data.Geodetic.ECEF.ECEF instance GHC.Classes.Eq Data.Geodetic.ECEF.ECEF module Data.Geodetic.EllipsoidReaderT newtype EllipsoidReaderT f a EllipsoidReaderT :: (Ellipsoid -> f a) -> EllipsoidReaderT f a type EllipsoidReader a = EllipsoidReaderT Identity a runEllipsoidReader :: Iso' (EllipsoidReader a) (Ellipsoid -> a) toEllipsoidReaderT :: Iso' (EllipsoidReaderT f a) (ReaderT Ellipsoid f a) hoistEllipsoidReader :: Applicative f => EllipsoidReader a -> EllipsoidReaderT f a arrEllipsoidReader :: Applicative f => (Ellipsoid -> a) -> EllipsoidReaderT f a readEllipsoid :: Applicative f => EllipsoidReaderT f Ellipsoid readSemiMajor :: Applicative f => EllipsoidReaderT f Double readFlattening :: Applicative f => EllipsoidReaderT f Double readFlatteningReciprocal :: Applicative f => EllipsoidReaderT f Double semiMinor :: Applicative f => EllipsoidReaderT f Double -- |
--   >>> wgs84' eccentricitySquared
--   6.6943799901413165e-3
--   
eccentricitySquared :: Applicative f => EllipsoidReaderT f Double -- |
--   >>> wgs84' eccentricitySquared'
--   6.694455244784511e-3
--   
eccentricitySquared' :: Applicative f => EllipsoidReaderT f Double distributeNormal :: Applicative f => Double -> EllipsoidReaderT f Double -- |
--   >>> wgs84' normal 7
--   6387371.845852088
--   
-- --
--   >>> wgs84' normal 71
--   6397535.266650572
--   
-- --
--   >>> wgs84' normal 711
--   6393308.675975408
--   
-- --
--   >>> wgs84' normal (-7)
--   6387371.845852088
--   
normal :: Applicative f => EllipsoidReaderT f (Double -> Double) wgs84' :: EllipsoidReader a -> a wgs84'' :: EllipsoidReaderT f a -> f a -- |
--   >>> 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}
--   
earthGeo :: Applicative f => EllipsoidReaderT f (ReifiedIso' ECEF LLH) instance Data.Geodetic.EllipsoidReaderT.EllipsoidReaderT f0 a0 ~ t0 => Control.Lens.Wrapped.Rewrapped (Data.Geodetic.EllipsoidReaderT.EllipsoidReaderT f1 a1) t0 instance Control.Lens.Wrapped.Wrapped (Data.Geodetic.EllipsoidReaderT.EllipsoidReaderT f0 a0) instance GHC.Base.Functor f => GHC.Base.Functor (Data.Geodetic.EllipsoidReaderT.EllipsoidReaderT f) instance GHC.Base.Applicative f => GHC.Base.Applicative (Data.Geodetic.EllipsoidReaderT.EllipsoidReaderT f) instance GHC.Base.Monad f => GHC.Base.Monad (Data.Geodetic.EllipsoidReaderT.EllipsoidReaderT f) instance GHC.Base.Alternative f => GHC.Base.Alternative (Data.Geodetic.EllipsoidReaderT.EllipsoidReaderT f) instance GHC.Base.MonadPlus f => GHC.Base.MonadPlus (Data.Geodetic.EllipsoidReaderT.EllipsoidReaderT f) instance Control.Monad.Trans.Class.MonadTrans Data.Geodetic.EllipsoidReaderT.EllipsoidReaderT instance Control.Monad.IO.Class.MonadIO f => Control.Monad.IO.Class.MonadIO (Data.Geodetic.EllipsoidReaderT.EllipsoidReaderT f) instance Control.Monad.Fix.MonadFix f => Control.Monad.Fix.MonadFix (Data.Geodetic.EllipsoidReaderT.EllipsoidReaderT f) instance Control.Monad.Zip.MonadZip f => Control.Monad.Zip.MonadZip (Data.Geodetic.EllipsoidReaderT.EllipsoidReaderT f) module Data.Geodetic