Copyright | (c) 2020 Cedric Liegeois |
---|---|
License | BSD3 |
Maintainer | Cedric Liegeois <ofmooseandmen@yahoo.fr> |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Definition of celestial body models.
see Data.Geo.Jord.Models for supported models.
Synopsis
- data LongitudeRange
- newtype ModelId = ModelId String
- newtype Epoch = Epoch Double
- class (Eq a, Show a) => Model a where
- modelId :: a -> ModelId
- surface :: a -> Ellipsoid
- longitudeRange :: a -> LongitudeRange
- class Model a => Spherical a
- class Model a => Ellipsoidal a
- class Ellipsoidal a => EllipsoidalT0 a where
Documentation
data LongitudeRange Source #
Longitude range.
identifier of a model.
Epoch (decimal years) such as 2018.60: the 219th day of the year or August 7, 2018 in the Gregorian calendar.
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...).
:: a | |
-> ModelId | model identifier, must be unique for coordinate transformation. |
:: a | |
-> Ellipsoid | surface of the celestial body. |
:: a | |
-> LongitudeRange | longitude range. |
Instances
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 # | |
Defined in Data.Geo.Jord.Models | |
Spherical SMars2000 Source # | |
Defined in Data.Geo.Jord.Models | |
Spherical S84 Source # | |
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
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.
Instances
EllipsoidalT0 GDA94 Source # | |
EllipsoidalT0 NAD83_CORS96 Source # | |
Defined in Data.Geo.Jord.Models epoch :: NAD83_CORS96 -> Epoch Source # | |
EllipsoidalT0 ETRF2000 Source # | |
EllipsoidalT0 WGS84_G1150 Source # | |
Defined in Data.Geo.Jord.Models epoch :: WGS84_G1150 -> Epoch Source # | |
EllipsoidalT0 WGS84_G1674 Source # | |
Defined in Data.Geo.Jord.Models epoch :: WGS84_G1674 -> Epoch Source # | |
EllipsoidalT0 WGS84_G1762 Source # | |
Defined in Data.Geo.Jord.Models epoch :: WGS84_G1762 -> Epoch Source # | |
EllipsoidalT0 ITRF91 Source # | |
EllipsoidalT0 ITRF93 Source # | |
EllipsoidalT0 ITRF2000 Source # | |
EllipsoidalT0 ITRF2005 Source # | |
EllipsoidalT0 ITRF2008 Source # | |
EllipsoidalT0 ITRF2014 Source # | |