Geodetic-0.1: Data/Geo/Elevation.hs
{-# LANGUAGE GeneralizedNewtypeDeriving, MultiParamTypeClasses #-}
-- | An elevation in metres, above 0.
module Data.Geo.Elevation(
Elevation,
elevation
) where
import Data.Geo.Accessor.Value
newtype Elevation = Elevation Double
deriving (Eq, Ord, Enum, Show, Num, Fractional, Floating)
-- | Construct an elevation with the given number of metres.
elevation :: Double -> Elevation
elevation = Elevation . abs
instance Value Elevation Double where
value (Elevation x) = x