-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A representation of latitude and longitude -- @package coordinate @version 0.0.13 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 `(mod 60)`. -- --
-- >>> modSeconds 7 -- Seconds 7.0000 ---- --
-- >>> modSeconds 0 -- Seconds 0.0000 ---- --
-- >>> modSeconds (-0.0001) -- Seconds 59.9999 ---- --
-- >>> modSeconds 60 -- Seconds 0.0000 ---- --
-- >>> modSeconds 59.99999 -- Seconds 60.0000 ---- --
-- >>> modSeconds 59.999 -- Seconds 59.9990 --modSeconds :: 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 `(mod 60)`. -- --
-- >>> modMinutes 7 -- Minutes 7 ---- --
-- >>> modMinutes 0 -- Minutes 0 ---- --
-- >>> modMinutes 60 -- Minutes 0 ---- --
-- >>> modMinutes 1 -- Minutes 1 ---- --
-- >>> modMinutes 59 -- Minutes 59 --modMinutes :: 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 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 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