-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A representation of latitude and longitude -- @package coordinate @version 0.0.18 module Data.Geo.Coordinate.Seconds data Seconds class AsSeconds p f s _Seconds :: AsSeconds p f s => Optic' p f s Seconds -- | Setting a value >= 60 will get that value -- (rem 60). -- --
-- >>> remSeconds 7 -- Seconds 7.0000 ---- --
-- >>> remSeconds 0 -- Seconds 0.0000 ---- --
-- >>> remSeconds (-0.0001) -- Seconds 59.9999 ---- --
-- >>> remSeconds 60 -- Seconds 0.0000 ---- --
-- >>> remSeconds 59.99999 -- Seconds 60.0000 ---- --
-- >>> remSeconds 59.999 -- Seconds 59.9990 --remSeconds :: Double -> Seconds instance Eq Seconds instance Ord Seconds instance (Choice p, Applicative f) => AsSeconds p f Double instance AsSeconds p f Seconds instance Show Seconds module Data.Geo.Coordinate.Minutes data Minutes class AsMinutes p f s _Minutes :: AsMinutes p f s => Optic' p f s Minutes -- | Setting a value >= 60 will get that value (rem -- 60). -- --
-- >>> remMinutes 7 -- Minutes 7 ---- --
-- >>> remMinutes 0 -- Minutes 0 ---- --
-- >>> remMinutes 60 -- Minutes 0 ---- --
-- >>> remMinutes 1 -- Minutes 1 ---- --
-- >>> remMinutes 59 -- Minutes 59 --remMinutes :: Int -> Minutes instance Eq Minutes instance Ord Minutes instance Show Minutes instance (Choice p, Applicative f) => AsMinutes p f Int instance AsMinutes p f Minutes module Data.Geo.Coordinate.DegreesLongitude data DegreesLongitude class AsDegreesLongitude p f s _DegreesLongitude :: AsDegreesLongitude p f s => Optic' p f s DegreesLongitude -- | Setting a value >= 180 will get that value (rem -- 180). -- --
-- >>> remDegreesLongitude 7 -- DegreesLongitude 7 ---- --
-- >>> remDegreesLongitude 0 -- DegreesLongitude 0 ---- --
-- >>> remDegreesLongitude 180 -- DegreesLongitude 0 ---- --
-- >>> remDegreesLongitude 1 -- DegreesLongitude 1 ---- --
-- >>> remDegreesLongitude 179 -- DegreesLongitude 179 --remDegreesLongitude :: Int -> DegreesLongitude instance Eq DegreesLongitude instance Ord DegreesLongitude instance Show DegreesLongitude instance (Choice p, Applicative f) => AsDegreesLongitude p f Int instance AsDegreesLongitude p f DegreesLongitude module Data.Geo.Coordinate.Longitude data Longitude class AsLongitude p f s _Longitude :: AsLongitude p f s => Optic' p f s Longitude instance Eq Longitude instance Ord Longitude instance Show Longitude instance (p ~ (->), Functor f) => AsSeconds p f Longitude instance (p ~ (->), Functor f) => AsMinutes p f Longitude instance (p ~ (->), Functor f) => AsDegreesLongitude p f Longitude instance (Choice p, Applicative f) => AsLongitude p f Double instance (Profunctor p, Functor f) => AsLongitude p f (DegreesLongitude, Minutes, Seconds) instance AsLongitude p f Longitude module Data.Geo.Coordinate.DegreesLatitude data DegreesLatitude class AsDegreesLatitude p f s _DegreesLatitude :: AsDegreesLatitude p f s => Optic' p f s DegreesLatitude -- | Setting a value >= 90 will get that value (rem -- 90). -- --
-- >>> remDegreesLatitude 7 -- DegreesLatitude 7 ---- --
-- >>> remDegreesLatitude 0 -- DegreesLatitude 0 ---- --
-- >>> remDegreesLatitude 90 -- DegreesLatitude 0 ---- --
-- >>> remDegreesLatitude 1 -- DegreesLatitude 1 ---- --
-- >>> remDegreesLatitude 89 -- DegreesLatitude 89 --remDegreesLatitude :: Int -> DegreesLatitude instance Eq DegreesLatitude instance Ord DegreesLatitude instance Show DegreesLatitude instance (Choice p, Applicative f) => AsDegreesLatitude p f Int instance AsDegreesLatitude p f DegreesLatitude module Data.Geo.Coordinate.Latitude data Latitude class AsLatitude p f s _Latitude :: AsLatitude p f s => Optic' p f s Latitude instance Eq Latitude instance Ord Latitude instance Show Latitude instance (p ~ (->), Functor f) => AsSeconds p f Latitude instance (p ~ (->), Functor f) => AsMinutes p f Latitude instance (p ~ (->), Functor f) => AsDegreesLatitude p f Latitude instance (Choice p, Applicative f) => AsLatitude p f Double instance (Profunctor p, Functor f) => AsLatitude p f (DegreesLatitude, Minutes, Seconds) instance AsLatitude p f Latitude module Data.Geo.Coordinate.Coordinate data Coordinate class AsCoordinate p f s _Coordinate :: AsCoordinate p f s => Optic' p f s Coordinate -- | Build a coordinate from a latitude and longitude. (.#.) :: Latitude -> Longitude -> Coordinate -- | Build a coordinate from a fractional latitude and fractional -- longitude. Fails if either are out of range. (<°>) :: Double -> Double -> Maybe Coordinate instance Eq Coordinate instance Ord Coordinate instance Show Coordinate instance (p ~ (->), Functor f) => AsDegreesLongitude p f Coordinate instance (p ~ (->), Functor f) => AsLongitude p f Coordinate instance (p ~ (->), Functor f) => AsDegreesLatitude p f Coordinate instance (p ~ (->), Functor f) => AsLatitude p f Coordinate instance (Choice p, Applicative f) => AsCoordinate p f (Double, (DegreesLongitude, Minutes, Seconds)) instance (Choice p, Applicative f) => AsCoordinate p f ((DegreesLatitude, Minutes, Seconds), Double) instance (Choice p, Applicative f) => AsCoordinate p f (Double, Longitude) instance (Choice p, Applicative f) => AsCoordinate p f (Latitude, Double) instance (Choice p, Applicative f) => AsCoordinate p f (Double, Double) instance (Profunctor p, Functor f) => AsCoordinate p f ((DegreesLongitude, Minutes, Seconds), (DegreesLatitude, Minutes, Seconds)) instance (Profunctor p, Functor f) => AsCoordinate p f ((DegreesLatitude, Minutes, Seconds), (DegreesLongitude, Minutes, Seconds)) instance (Profunctor p, Functor f) => AsCoordinate p f ((DegreesLongitude, Minutes, Seconds), Latitude) instance (Profunctor p, Functor f) => AsCoordinate p f (Latitude, (DegreesLongitude, Minutes, Seconds)) instance (Profunctor p, Functor f) => AsCoordinate p f (Longitude, (DegreesLatitude, Minutes, Seconds)) instance (Profunctor p, Functor f) => AsCoordinate p f ((DegreesLatitude, Minutes, Seconds), Longitude) instance (Profunctor p, Functor f) => AsCoordinate p f (Longitude, Latitude) instance (Profunctor p, Functor f) => AsCoordinate p f (Latitude, Longitude) instance AsCoordinate p f Coordinate module Data.Geo.Coordinate