jord-1.0.0.0: Geographical Position Calculations

Copyright(c) 2020 Cedric Liegeois
LicenseBSD3
MaintainerCedric Liegeois <ofmooseandmen@yahoo.fr>
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Data.Geo.Jord.Model

Description

Definition of celestial body models.

see Data.Geo.Jord.Models for supported models.

Synopsis

Documentation

data LongitudeRange Source #

Longitude range.

Constructors

L180
-180°, 180°
range for Earth, Moon and Sun.
L360
0°, 360°
range for other celestial bodies (e.g. Mars).

newtype ModelId Source #

identifier of a model.

Constructors

ModelId String 
Instances
Eq ModelId Source # 
Instance details

Defined in Data.Geo.Jord.Model

Methods

(==) :: ModelId -> ModelId -> Bool #

(/=) :: ModelId -> ModelId -> Bool #

Show ModelId Source # 
Instance details

Defined in Data.Geo.Jord.Model

data Epoch Source #

Epoch (decimal years) such as 2018.60: the 219th day of the year or August 7, 2018 in the Gregorian calendar.

Constructors

Epoch Double 
Instances
Eq Epoch Source # 
Instance details

Defined in Data.Geo.Jord.Model

Methods

(==) :: Epoch -> Epoch -> Bool #

(/=) :: Epoch -> Epoch -> Bool #

Show Epoch Source # 
Instance details

Defined in Data.Geo.Jord.Model

Methods

showsPrec :: Int -> Epoch -> ShowS #

show :: Epoch -> String #

showList :: [Epoch] -> ShowS #

class (Eq a, Show a) => Model a where Source #

Model for a celestial body: the same celestial body can be represented by different models (e.g. Earth: WGS84, ITRF2014, Spherical, etc...).

Methods

modelId Source #

Arguments

:: a 
-> ModelId

model identifier, must be unique for coordinate transformation.

surface Source #

Arguments

:: a 
-> Ellipsoid

surface of the celestial body.

longitudeRange Source #

Arguments

:: a 
-> LongitudeRange

longitude range.

Instances
Model Moon Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model SMars2000 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model S84 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model GDA94 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model NAD83_CORS96 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model ETRF2000 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model WGS84_G1150 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model WGS84_G1674 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model WGS84_G1762 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model ITRF91 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model ITRF93 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model ITRF2000 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model ITRF2005 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model ITRF2008 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model ITRF2014 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model Mars2000 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model TokyoJapan Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model Potsdam Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model OSGB36 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model NTF Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model NAD27 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model Irl1975 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model ED50 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model NAD83 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model ETRS89 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model WGS72 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model GRS80 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Model WGS84 Source # 
Instance details

Defined in Data.Geo.Jord.Models

class Model a => Spherical a Source #

Models that approximate the surface of the celestial body to a sphere. Such an approximation is satisfactory for many purposes and allows a wide range of calculations: see Data.Geo.Jord.Kinematics, Data.Geo.Jord.GreatCircle and Data.Geo.Jord.LocalFrames.

Instances
Spherical Moon Source # 
Instance details

Defined in Data.Geo.Jord.Models

Spherical SMars2000 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Spherical S84 Source # 
Instance details

Defined in Data.Geo.Jord.Models

class Model a => Ellipsoidal a Source #

Models that represent the surface of the celestial body with an ellispoid. Compare to Spherical models, less calculations are available and they are more CPU intensive: see Data.Geo.Jord.Geodesic and Data.Geo.Jord.LocalFrames, however those calculations are more "correct". Supports coordinates transformation between different ellispoidal models using 7-parameter transformation (Helmert): see Data.Geo.Jord.Transformation.

Instances
Ellipsoidal GDA94 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal NAD83_CORS96 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal ETRF2000 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal WGS84_G1150 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal WGS84_G1674 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal WGS84_G1762 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal ITRF91 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal ITRF93 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal ITRF2000 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal ITRF2005 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal ITRF2008 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal ITRF2014 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal Mars2000 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal TokyoJapan Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal Potsdam Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal OSGB36 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal NTF Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal NAD27 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal Irl1975 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal ED50 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal NAD83 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal ETRS89 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal WGS72 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal GRS80 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Ellipsoidal WGS84 Source # 
Instance details

Defined in Data.Geo.Jord.Models

class Ellipsoidal a => EllipsoidalT0 a where Source #

Time-dependent Ellipsoidal models, such as International Terrestrial Reference Frames (ITRF). The epoch allows to account for unmodelled measurement biases and tectonic processes: supports coordinates transformation between different time-dependent ellispoidal models at given epoch using 15-parameter transformation (Helmert): see Data.Geo.Jord.Transformation.

Methods

epoch Source #

Arguments

:: a 
-> Epoch

epoch to which coordinates are referenced.

Instances
EllipsoidalT0 GDA94 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Methods

epoch :: GDA94 -> Epoch Source #

EllipsoidalT0 NAD83_CORS96 Source # 
Instance details

Defined in Data.Geo.Jord.Models

EllipsoidalT0 ETRF2000 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Methods

epoch :: ETRF2000 -> Epoch Source #

EllipsoidalT0 WGS84_G1150 Source # 
Instance details

Defined in Data.Geo.Jord.Models

EllipsoidalT0 WGS84_G1674 Source # 
Instance details

Defined in Data.Geo.Jord.Models

EllipsoidalT0 WGS84_G1762 Source # 
Instance details

Defined in Data.Geo.Jord.Models

EllipsoidalT0 ITRF91 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Methods

epoch :: ITRF91 -> Epoch Source #

EllipsoidalT0 ITRF93 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Methods

epoch :: ITRF93 -> Epoch Source #

EllipsoidalT0 ITRF2000 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Methods

epoch :: ITRF2000 -> Epoch Source #

EllipsoidalT0 ITRF2005 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Methods

epoch :: ITRF2005 -> Epoch Source #

EllipsoidalT0 ITRF2008 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Methods

epoch :: ITRF2008 -> Epoch Source #

EllipsoidalT0 ITRF2014 Source # 
Instance details

Defined in Data.Geo.Jord.Models

Methods

epoch :: ITRF2014 -> Epoch Source #