-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A representation of latitude and longitude -- @package coordinate @version 0.0.19 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 latitudeMinutes :: (AsCoordinate (->) f coord, Functor f) => Optic' (->) f coord Minutes latitudeSeconds :: (AsCoordinate (->) f coord, Functor f) => Optic' (->) f coord Seconds longitudeMinutes :: (AsCoordinate (->) f coord, Functor f) => Optic' (->) f coord Minutes longitudeSeconds :: (AsCoordinate (->) f coord, Functor f) => Optic' (->) f coord Seconds -- | Build a coordinate from a latitude and longitude. (.#.) :: (AsLatitude (->) (Const Latitude) lat, AsLongitude (->) (Const Longitude) lon) => lat -> lon -> 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 ~ (->), Applicative f) => AsSeconds p f Coordinate instance (p ~ (->), Applicative f) => AsMinutes p f 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