| Safe Haskell | None |
|---|
Data.Geo.Geodetic.Bearing
Description
A bearing in degrees between 0 and 360.
- data Bearing
- class HasBearing t where
- modBearing :: Double -> Bearing
- degreeBearing :: Prism' Double Bearing
- radianBearing :: Prism' Double Bearing
Documentation
class HasBearing t whereSource
Instances
modBearing :: Double -> BearingSource
Construct a bearing such that if the given value is out of bounds, a modulus is taken to keep it within 0 inclusive and 360 exclusive.
>>>modBearing 7Bearing 7.0000
>>>modBearing 0Bearing 0.0000
>>>modBearing (-0.0001)Bearing 359.9999
>>>modBearing 360Bearing 0.0000
>>>modBearing 359.99999Bearing 360.0000
>>>modBearing 359.999Bearing 359.9990
degreeBearing :: Prism' Double BearingSource
A prism on bearing to a double between 0 inclusive and 360 exclusive.
>>>7 ^? degreeBearingJust (Bearing 7.0000)
>>>0 ^? degreeBearingJust (Bearing 0.0000)
>>>359 ^? degreeBearingJust (Bearing 359.0000)
>>>359.997 ^? degreeBearingJust (Bearing 359.9970)
>>>360 ^? degreeBearingNothing
all (\m -> degreeBearing # m == n) (n ^? degreeBearing)
radianBearing :: Prism' Double BearingSource
A prism on bearing to a double between 0 and π exclusive.
>>>(2 * pi - 0.0000000001) ^? radianBearingJust (Bearing 360.0000)
>>>0 ^? radianBearingJust (Bearing 0.0000)
>>>0.001 ^? radianBearingJust (Bearing 0.0573)
>>>1.78391 ^? radianBearingJust (Bearing 102.2105)
>>>pi ^? radianBearingJust (Bearing 180.0000)
>>>(2 * pi) ^? radianBearingNothing
>>>(-0.001) ^? radianBearingNothing