-- 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.2 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_ab2z where lat = (.) lL lat lon = (.) lL lon lL :: HasLL c_ab2z => Lens' c_ab2z LL lat :: HasLL c_ab2z => Lens' c_ab2z Double lon :: HasLL c_ab2z => Lens' c_ab2z Double -- |
--   >>> ((27.34, 152.15) ^. degrees)
--   LL {_lat = 0.47717301749524965, _lon = 2.6555184569093724}
--   
-- --
--   >>> (degrees # LL 0.47717 2.65552)
--   (27.33982711025749,152.15008841258037)
--   
degrees :: Iso' (Double, Double) LL -- |
--   >>> 27.34 <◦> 152.15
--   LL {_lat = 0.47717301749524965, _lon = 2.6555184569093724}
--   
-- --
--   >>> 61.94 <◦> (-152.15)
--   LL {_lat = 1.0810569386852877, _lon = -2.6555184569093724}
--   
(<◦>) :: Double -> Double -> LL 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_acTq where height = (.) lLH height lLH :: HasLLH c_acTq => Lens' c_acTq LLH height :: HasLLH c_acTq => Lens' c_acTq 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_adHD where x = (.) xY x y = (.) xY y xY :: HasXY c_adHD => Lens' c_adHD XY x :: HasXY c_adHD => Lens' c_adHD Double y :: HasXY c_adHD => Lens' c_adHD 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_aevt where flattening = (.) ellipsoid flattening semiMajor = (.) ellipsoid semiMajor ellipsoid :: HasEllipsoid c_aevt => Lens' c_aevt Ellipsoid flattening :: HasEllipsoid c_aevt => Lens' c_aevt Double semiMajor :: HasEllipsoid c_aevt => Lens' c_aevt Double flatteningReciprocal :: HasEllipsoid e => Lens' e Double wgs84 :: Ellipsoid grs80 :: Ellipsoid grs67 :: Ellipsoid ans :: Ellipsoid wgs72 :: Ellipsoid au1965 :: Ellipsoid krasovsky1940 :: Ellipsoid international1924 :: Ellipsoid hayford1909 :: Ellipsoid airy1830 :: Ellipsoid everest1830 :: Ellipsoid bessel1841 :: Ellipsoid clarke1858 :: Ellipsoid clarke1866 :: Ellipsoid clarke1880 :: 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.Sphere newtype Sphere Sphere :: Double -> Sphere -- |
--   >>> earthMean
--   Sphere 6367450.0
--   
earthMean :: Sphere -- |
--   >>> ellipsoidSphere # Sphere 77
--   Ellipsoid {_semiMajor = 77.0, _flattening = 1.0}
--   
-- --
--   >>> Ellipsoid 77 1 ^? ellipsoidSphere
--   Just (Sphere 77.0)
--   
-- --
--   >>> Ellipsoid 77 2 ^? ellipsoidSphere
--   Nothing
--   
ellipsoidSphere :: Prism' Ellipsoid Sphere instance Data.Geodetic.Sphere.Sphere ~ t0 => Control.Lens.Wrapped.Rewrapped Data.Geodetic.Sphere.Sphere t0 instance Control.Lens.Wrapped.Wrapped Data.Geodetic.Sphere.Sphere instance GHC.Show.Show Data.Geodetic.Sphere.Sphere instance GHC.Classes.Ord Data.Geodetic.Sphere.Sphere instance GHC.Classes.Eq Data.Geodetic.Sphere.Sphere module Data.Geodetic.ECEF data ECEF ECEF :: XY -> Double -> ECEF [_xy] :: ECEF -> XY [_z] :: ECEF -> Double class HasECEF c_ajBp where xy = (.) eCEF xy z = (.) eCEF z eCEF :: HasECEF c_ajBp => Lens' c_ajBp ECEF xy :: HasECEF c_ajBp => Lens' c_ajBp XY z :: HasECEF c_ajBp => Lens' c_ajBp 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