module Data.Geo.Jord
(
module Data.Geo.Jord.LocalFrames
, module Data.Geo.Jord.Geodesic
, module Data.Geo.Jord.GreatCircle
, module Data.Geo.Jord.Kinematics
, module Data.Geo.Jord.Position
, module Data.Geo.Jord.Transformation
, destinationE
, finalBearingE
, initialBearingE
, surfaceDistanceE
, destinationS
, finalBearingS
, initialBearingS
, surfaceDistanceS
) where
import Data.Geo.Jord.Geodesic hiding (destination, finalBearing, initialBearing, surfaceDistance)
import qualified Data.Geo.Jord.Geodesic as Geodesic
import Data.Geo.Jord.GreatCircle hiding (destination, finalBearing, initialBearing, surfaceDistance)
import qualified Data.Geo.Jord.GreatCircle as GreatCircle
import Data.Geo.Jord.Kinematics
import Data.Geo.Jord.LocalFrames
import Data.Geo.Jord.Position
import Data.Geo.Jord.Transformation
destinationE :: (Ellipsoidal a) => Position a -> Angle -> Length -> Maybe (Position a)
destinationE = Geodesic.destination
finalBearingE :: (Ellipsoidal a) => Position a -> Position a -> Maybe Angle
finalBearingE = Geodesic.finalBearing
initialBearingE :: (Ellipsoidal a) => Position a -> Position a -> Maybe Angle
initialBearingE = Geodesic.initialBearing
surfaceDistanceE :: (Ellipsoidal a) => Position a -> Position a -> Maybe Length
surfaceDistanceE = Geodesic.surfaceDistance
destinationS :: (Spherical a) => Position a -> Angle -> Length -> Position a
destinationS = GreatCircle.destination
finalBearingS :: (Spherical a) => Position a -> Position a -> Maybe Angle
finalBearingS = GreatCircle.finalBearing
initialBearingS :: (Spherical a) => Position a -> Position a -> Maybe Angle
initialBearingS = GreatCircle.initialBearing
surfaceDistanceS :: (Spherical a) => Position a -> Position a -> Length
surfaceDistanceS = GreatCircle.surfaceDistance