-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Geometry on a sphere -- -- Functions in pure Haskell for geometric computations on the surface of -- a sphere. @package spherical @version 0.1.2.2 module Math.Geometry.Spherical -- | Compute the area of a triangle using L'Huillier's formula areaTriangle :: Floating a => a -> (a, a) -> (a, a) -> (a, a) -> a -- | Take the area of the polygon and divide by the perimeter squared. -- Dimensionless. compactness :: Floating a => [(a, a)] -> a -- | Relative compactness. Dimensionless. relativeCompactness :: Floating a => [(a, a)] -> a -- | Compute the area of a convex polygon on the surface of a sphere. areaConvex :: Floating a => a -> [(a, a)] -> a perimeterPolygon :: Floating a => a -> [(a, a)] -> a -- | Uses areal projection; then finds area of the polygon by the shoelace -- method. -- -- This is morally dubious in that it uses the Bonne projection centered -- around DC, so it will blow up in some cases. areaPolygon :: Floating a => a -> [(a, a)] -> a -- | Distance in kilometers between two points given in degrees. distance :: Floating a => a -> (a, a) -> (a, a) -> a -- | Albers projection for a given reference point. -- --
--   ablers washingtonDC
--   
albers :: Floating a => (a, a) -> (a, a) -> (a, a) -- | Littow retroazimuthal + conformal projection littow :: Floating a => (a, a) -> (a, a) -- | Craig retroazimuthal projection craig :: (Floating a, Eq a) => (a, a) -> (a, a) -> (a, a) -- | Winkel Tripel projection winkel3 :: (Eq a, Floating a) => (a, a) -> (a, a) -- | Mercator projection. mercator :: Floating a => (a, a) -> (a, a) -- | Bonne projection. bonne :: Floating a => a -> a -> (a, a) -> (a, a) -- | For use as a reference point washingtonDC :: Floating a => (a, a) -- | For use as a reference point mecca :: Floating a => (a, a) -- | Convert from degrees to radians. radians :: Floating a => a -> a -- | Convert both coördinates to radians. toRadians :: Floating a => (a, a) -> (a, a) -- | Project a given polygon project :: (Floating a, Functor f) => ((a, a) -> (a, a)) -> f (a, a) -> f (a, a)