| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Geo.Coordinate.Latitude
- data Latitude
- class AsLatitude p f s where
- modLatitude :: Int -> Int -> Double -> Latitude
- antipodeLatitude :: Iso' Latitude Latitude
Documentation
Instances
| Eq Latitude Source | |
| Ord Latitude Source | |
| Show Latitude Source | |
| ((~) (* -> * -> *) p (->), Functor f) => AsSeconds p f Latitude Source | |
| ((~) (* -> * -> *) p (->), Functor f) => AsMinutes p f Latitude Source | |
| ((~) (* -> * -> *) p (->), Functor f) => AsDegreesLatitude p f Latitude Source | |
| AsLatitude p f Latitude Source | |
| (Choice p, Applicative f) => AsCoordinate p f (Latitude, Double) Source | |
| (Profunctor p, Functor f) => AsCoordinate p f ((DegreesLongitude, Minutes, Seconds), Latitude) Source | |
| (Profunctor p, Functor f) => AsCoordinate p f (Latitude, (DegreesLongitude, Minutes, Seconds)) Source | |
| (Profunctor p, Functor f) => AsCoordinate p f (Longitude, Latitude) Source | |
| (Profunctor p, Functor f) => AsCoordinate p f (Latitude, Longitude) Source |
class AsLatitude p f s where Source
Minimal complete definition
Nothing
Instances
| (Choice p, Applicative f) => AsLatitude p f Double Source | A prism on latitude to a double between -90 and 90 exclusive.
|
| AsLatitude p f Latitude Source | |
| ((~) (* -> * -> *) p (->), Functor f) => AsLatitude p f Coordinate Source | |
| (Profunctor p, Functor f) => AsLatitude p f (DegreesLatitude, Minutes, Seconds) Source | An isomorphism on the triple of degrees latitude, minutes, seconds to a latitude.
|
modLatitude :: Int -> Int -> Double -> Latitude Source
Setting a latitude using modulo arithmetic.
>>>modLatitude 20 20 20Latitude (DegreesLatitude 20) (Minutes 20) (Seconds 20.0000)
>>>modLatitude 20 20 (-20)Latitude (DegreesLatitude 20) (Minutes 19) (Seconds 40.0000)
>>>modLatitude 20 20 80Latitude (DegreesLatitude 20) (Minutes 21) (Seconds 20.0000)
>>>modLatitude 20 80 20Latitude (DegreesLatitude 21) (Minutes 20) (Seconds 20.0000)
>>>modLatitude 20 80 80Latitude (DegreesLatitude 21) (Minutes 21) (Seconds 20.0000)
>>>modLatitude 20 80 (-20)Latitude (DegreesLatitude 21) (Minutes 19) (Seconds 40.0000)
>>>modLatitude 110 20 20Latitude (DegreesLatitude (-70)) (Minutes 20) (Seconds 20.0000)
>>>modLatitude 110 20 80Latitude (DegreesLatitude (-70)) (Minutes 21) (Seconds 20.0000)
>>>modLatitude 110 80 20Latitude (DegreesLatitude (-69)) (Minutes 20) (Seconds 20.0000)
>>>modLatitude 110 20 (-20)Latitude (DegreesLatitude (-70)) (Minutes 19) (Seconds 40.0000)
>>>modLatitude 110 (-20) (-20)Latitude (DegreesLatitude (-71)) (Minutes 39) (Seconds 40.0000)
>>>modLatitude 110 (-80) (-20)Latitude (DegreesLatitude (-72)) (Minutes 39) (Seconds 40.0000)
>>>modLatitude 20 20 3620Latitude (DegreesLatitude 21) (Minutes 20) (Seconds 20.0000)
>>>modLatitude 20 20 (-3580)Latitude (DegreesLatitude 19) (Minutes 20) (Seconds 20.0000)
>>>modLatitude 110 20 3620Latitude (DegreesLatitude (-69)) (Minutes 20) (Seconds 20.0000)
>>>modLatitude 110 20 (-3580)Latitude (DegreesLatitude (-71)) (Minutes 20) (Seconds 20.0000)
antipodeLatitude :: Iso' Latitude Latitude Source
The latitude that is symmetrical around the equator.
>>>fmap (\x -> antipodeLatitude # x) (do d <- (7 :: Int) ^? _DegreesLatitude; m <- (7 :: Int) ^? _Minutes; s <- (7 :: Double) ^? _Seconds; (d, m, s) ^? _Latitude :: Maybe Latitude)Just (Latitude (DegreesLatitude (-7)) (Minutes 7) (Seconds 7.0000))