-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Geodetic calculations -- -- Geodetic calculations including Vincenty and Great Circle @package Geodetic @version 0.3 module Data.Geo.Accessor.Value class Value a b | a -> b value :: (Value a b) => a -> b module Data.Geo.Accessor.EllipsoidalDistance class EllipsoidalDistance a ellipsoidalDistance :: (EllipsoidalDistance a) => a -> Double module Data.Geo.Sphere data Sphere sphere :: Double -> Sphere earthMean :: Sphere instance Eq Sphere instance Ord Sphere instance Enum Sphere instance Show Sphere instance Num Sphere instance Fractional Sphere instance Floating Sphere instance Value Sphere Double -- | A longitude on earth in degrees. module Data.Geo.Longitude data Longitude -- | Construct a longitude using the given number of degrees between -180 -- and 180. longitude :: Double -> Longitude instance Eq Longitude instance Ord Longitude instance Enum Longitude instance Show Longitude instance Num Longitude instance Fractional Longitude instance Floating Longitude instance Value Longitude Double module Data.Geo.Accessor.Lon class Lon a lon :: (Lon a) => a -> Longitude -- | A latitude on earth in degrees. module Data.Geo.Latitude data Latitude -- | Construct a latitude using the given number of degrees between -90 and -- 90. latitude :: Double -> Latitude instance Eq Latitude instance Ord Latitude instance Enum Latitude instance Show Latitude instance Num Latitude instance Fractional Latitude instance Floating Latitude instance Value Latitude Double module Data.Geo.Accessor.Lat class Lat a lat :: (Lat a) => a -> Latitude -- | An ellipsoid with parameters such as flattening. module Data.Geo.Ellipsoid -- | Ellipsoidal parameters. Some are derivable from others. data Ellipsoid -- | The semi major axis in metres. semiMajor :: Ellipsoid -> Double -- | The semi minor axis in metres. semiMinor :: Ellipsoid -> Double -- | The ellipsoidal flattening. flattening :: Ellipsoid -> Double -- | The inverse of the ellipsoidal flattening. inverseFlattening :: Ellipsoid -> Double -- | Construct an ellipsoid with the given parameters. ellipsoid :: Double -> Double -> Double -> Double -> Ellipsoid -- | Construct an ellipsoid using only a semi major axis and inverse -- flattening. Other parameters are computed. semiMajorInverseF :: Double -> Double -> Ellipsoid -- | Construct an ellipsoid using only a semi major axis and flattening. -- Other parameters are computed. semiMajorFlattening :: Double -> Double -> Ellipsoid wgs84 :: Ellipsoid grs80 :: Ellipsoid grs67 :: Ellipsoid ans :: Ellipsoid wgs72 :: Ellipsoid au1965 :: Ellipsoid krasovsky1940 :: Ellipsoid international1924 :: Ellipsoid hayford1909 :: Ellipsoid airy1830 :: Ellipsoid everest1830 :: Ellipsoid bessel1841 :: Ellipsoid clarke1858 :: Ellipsoid clarke1866 :: Ellipsoid clarke1880 :: Ellipsoid instance Eq Ellipsoid instance Show Ellipsoid -- | An elevation in metres, above 0. module Data.Geo.Elevation data Elevation -- | Construct an elevation with the given number of metres. elevation :: Double -> Elevation instance Eq Elevation instance Ord Elevation instance Enum Elevation instance Show Elevation instance Num Elevation instance Fractional Elevation instance Floating Elevation instance Value Elevation Double module Data.Geo.Accessor.Ele class Ele a ele :: (Ele a) => a -> Elevation -- | A bearing in a degrees between 0 and 360. module Data.Geo.Bearing data Bearing -- | Construct a bearing with the number of degrees. bearing :: Double -> Bearing instance Eq Bearing instance Ord Bearing instance Enum Bearing instance Show Bearing instance Num Bearing instance Fractional Bearing instance Floating Bearing instance Value Bearing Double -- | Convert types to and from radians/degrees. module Data.Geo.Radians class Radians a toRadians :: (Radians a) => a -> Double fromRadians :: (Radians a) => Double -> a -- | Convert two values to radians. radians :: (Radians a, Radians b) => a -> b -> (Double, Double) instance Radians Bearing instance Radians Longitude instance Radians Latitude instance Radians Double -- | A coordinate on earth with a latitude and longitude. module Data.Geo.Coord data Coord -- | Construct a coordinate with the given latitude and longitude. (|.|) :: Latitude -> Longitude -> Coord -- |