| Copyright | (c) 2020 Cedric Liegeois |
|---|---|
| License | BSD3 |
| Maintainer | Cedric Liegeois <ofmooseandmen@yahoo.fr> |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Data.Geo.Jord.Transformation
Contents
Description
Coordinates transformation between ellipsoidal models.
In order to use this module you should start with the following imports:
import Data.Geo.Jord.Position
import Data.Geo.Jord.Transformation
Synopsis
- transformCoords :: (Ellipsoidal a, Ellipsoidal b) => Position a -> b -> TxGraph TxParams7 -> Maybe (Position b)
- transformCoords' :: (Ellipsoidal a, Ellipsoidal b) => Position a -> b -> TxParams7 -> Position b
- transformCoordsAt :: (EllipsoidalT0 a, EllipsoidalT0 b) => Position a -> Epoch -> b -> TxGraph TxParams15 -> Maybe (Position b)
- transformCoordsAt' :: (EllipsoidalT0 a, EllipsoidalT0 b) => Position a -> Epoch -> b -> TxParams15 -> Position b
- module Data.Geo.Jord.Tx
- module Data.Geo.Jord.Txs
Documentation
transformCoords :: (Ellipsoidal a, Ellipsoidal b) => Position a -> b -> TxGraph TxParams7 -> Maybe (Position b) Source #
transformCoords p1 m2 g transforms the coordinates of the position p1 from its coordinate
system into the coordinate system defined by the model m2 using the graph g to find the
sequence of transformation parameters. Returns Nothing if the given graph does not contain a
transformation from m1 to m2 - see txParamsBetween.
Examples
>>>import Data.Geo.Jord.Position>>>import Data.Geo.Jord.Transformation>>>>>>let pWGS84 = wgs84Pos 48.6921 6.1844 (metres 188)>>>transformCoords pWGS84 NAD83 staticTxsJust 48°41'31.523"N,6°11'3.723"E 188.1212m (NAD83)
transformCoords' :: (Ellipsoidal a, Ellipsoidal b) => Position a -> b -> TxParams7 -> Position b Source #
transformCoords' p1 m2 tx transforms the coordinates of the position p1 from its coordinate system
into the coordinate system defined by the model m2 using the 7-parameters transformation tx.
Notes: this function does not checks whether both models are equals. It should be used when the
7-parameter transformation is known. Most of the time prefer using transformCoords.
Examples
>>>import Data.Geo.Jord.Position>>>import Data.Geo.Jord.Transformation>>>>>>let tx = txParams7 (995.6, -1910.3, -521.5) (-0.62) (25.915, 9.426, 11.599) -- WGS84 -> NAD83>>>let pWGS84 = wgs84Pos 48.6921 6.1844 (metres 188)>>>transformCoords' pWGS84 NAD83 tx48°41'31.523"N,6°11'3.723"E 188.1212m (NAD83)
transformCoordsAt :: (EllipsoidalT0 a, EllipsoidalT0 b) => Position a -> Epoch -> b -> TxGraph TxParams15 -> Maybe (Position b) Source #
transformCoordsAt p1 e m2 g transforms the coordinates of the position p1 observed at epoch e
from its coordinate system into the coordinate system defined by the model m2 using the graph g to
find the sequence of transformation parameters. Returns Nothing if the given graph does not contain a
transformation from m1 to m2 - see txParamsBetween.
Examples
>>>import Data.Geo.Jord.Position>>>import Data.Geo.Jord.Transformation>>>>>>let pITRF2014 = latLongHeightPos 48.6921 6.1844 (metres 188) ITRF2014>>>transformCoordsAt pITRF2014 (Epoch 2019.0) NAD83_CORS96 dynamicTxs -- through ITRF2000Just 48°41'31.538"N,6°11'3.722"E 188.112035m (NAD83_CORS96)
transformCoordsAt' :: (EllipsoidalT0 a, EllipsoidalT0 b) => Position a -> Epoch -> b -> TxParams15 -> Position b Source #
transformCoordsAt' p1 e m2 tx transforms the coordinates of the position p1 observed at epoch e
from its coordinate system into the coordinate system defined by the model m2 using
the 15-parameters transformation tx.
Notes: this function does not checks whether both models are equals. It should be used when the
15-parameter transformation is known. Most of the time prefer using transformCoords.
Examples
>>>import Data.Geo.Jord.Position>>>import Data.Geo.Jord.Transformation>>>>>>let tx7 = txParams7 (53.7, 51.2, -55.1) 1.2 (0.891, 5.39, -8.712)>>>let txR = txRates (0.1, 0.1, -1.9) 0.11 (0.81, 0.49, -0.792)>>>let tx = TxParams15 (Epoch 2000.0) tx7 txR -- ITRF2014 -> ETRF2000>>>let pITRF2014 = latLongHeightPos 48.6921 6.1844 (metres 188) ITRF2014>>>transformCoordsAt' pITRF2014 (Epoch 2019.0) ETRF2000 tx48°41'31.561"N,6°11'3.865"E 188.0178m (ETRF2000)
re-exported for convenience
module Data.Geo.Jord.Tx
module Data.Geo.Jord.Txs