Safe Haskell | None |
---|
- data Longitude
- class HasLongitude t where
- dmsLongitude :: Iso' (DegreesLongitude, Minutes, Seconds) Longitude
- fracLongitude :: Prism' Double Longitude
Documentation
class HasLongitude t whereSource
dmsLongitude :: Iso' (DegreesLongitude, Minutes, Seconds) LongitudeSource
An isomorphism on the triple of degrees longitude, minutes, seconds to a longitude.
>>>
do deg <- 7 ^? nDegreesLongitude; min <- 7 ^? nMinutes; sec <- 7 ^? nSeconds; (deg, min, sec) ^? dmsLongitude
Just (Longitude (DegreesLongitude 7) (Minutes 7) (Seconds 7.0000))
>>>
do deg <- 179 ^? nDegreesLongitude; min <- 59 ^? nMinutes; sec <- 59 ^? nSeconds; (deg, min, sec) ^? dmsLongitude
Just (Longitude (DegreesLongitude 179) (Minutes 59) (Seconds 59.0000))
>>>
do deg <- (-7) ^? nDegreesLongitude; min <- 7 ^? nMinutes; sec <- 7 ^? nSeconds; (deg, min, sec) ^? dmsLongitude
Just (Longitude (DegreesLongitude (-7)) (Minutes 7) (Seconds 7.0000))
>>>
do deg <- (-179) ^? nDegreesLongitude; min <- 59 ^? nMinutes; sec <- 59 ^? nSeconds; (deg, min, sec) ^? dmsLongitude
Just (Longitude (DegreesLongitude (-179)) (Minutes 59) (Seconds 59.0000))
>>>
do deg <- 180 ^? nDegreesLongitude; min <- 59 ^? nMinutes; sec <- 59 ^? nSeconds; (deg, min, sec) ^? dmsLongitude
Nothing
>>>
do deg <- 179 ^? nDegreesLongitude; min <- 60 ^? nMinutes; sec <- 59 ^? nSeconds; (deg, min, sec) ^? dmsLongitude
Nothing
>>>
do deg <- 179 ^? nDegreesLongitude; min <- 59 ^? nMinutes; sec <- 60 ^? nSeconds; (deg, min, sec) ^? dmsLongitude
Nothing
fracLongitude :: Prism' Double LongitudeSource
A prism on longitude to a double between -180 and 180 inclusive.
>>>
7 ^? fracLongitude
Just (Longitude (DegreesLongitude 7) (Minutes 0) (Seconds 0.0000))
>>>
(-7) ^? fracLongitude
Just (Longitude (DegreesLongitude (-7)) (Minutes 0) (Seconds 0.0000))
>>>
7.12 ^? fracLongitude
Just (Longitude (DegreesLongitude 7) (Minutes 7) (Seconds 12.0000))
>>>
(-7.12) ^? fracLongitude
Just (Longitude (DegreesLongitude (-7)) (Minutes 7) (Seconds 12.0000))
>>>
180 ^? fracLongitude
Nothing
>>>
(-180) ^? fracLongitude
Nothing
>>>
15.63791 ^? fracLongitude
Just (Longitude (DegreesLongitude 15) (Minutes 38) (Seconds 16.4760))
>>>
179.1 ^? fracLongitude
Just (Longitude (DegreesLongitude 179) (Minutes 5) (Seconds 60.0000))
>>>
179.2 ^? fracLongitude
Just (Longitude (DegreesLongitude 179) (Minutes 11) (Seconds 60.0000))