| 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.Tx
Description
Coordinates transformation parameters.
Synopsis
- data Tx a = Tx {}
- inverseTx :: TxParams a => Tx a -> Tx a
- class TxParams a where
- idTxParams :: a
- inverseTxParams :: a -> a
- data TxParams7
- data TxRates
- data TxParams15 = TxParams15 Epoch TxParams7 TxRates
- txParams7 :: (Double, Double, Double) -> Double -> (Double, Double, Double) -> TxParams7
- txRates :: (Double, Double, Double) -> Double -> (Double, Double, Double) -> TxRates
- txParamsAt :: Epoch -> TxParams15 -> TxParams7
- data TxGraph a
- txGraph :: TxParams a => [Tx a] -> TxGraph a
- txParamsBetween :: TxParams a => ModelId -> ModelId -> TxGraph a -> [a]
- transformGeoc :: Vector3d -> TxParams7 -> Vector3d
transformation parameters.
Coordinate transformation between 2 models (A & B).
class TxParams a where Source #
class for transformation parameters.
Methods
Arguments
| :: a | identity transformation parameters, i.e. |
Arguments
| :: a | |
| -> a | inverse transformation parameters. |
Instances
| TxParams TxParams15 Source # | |
Defined in Data.Geo.Jord.Tx | |
| TxParams TxParams7 Source # | |
Defined in Data.Geo.Jord.Tx | |
7-parameter transformation (Helmert); use txParams7 to construct.
Transformation rates for the 15-parameter transformation (Helmert); use txRates to construct.
data TxParams15 Source #
Epoch and 14-parameter transformation (Helmert).
Constructors
| TxParams15 Epoch TxParams7 TxRates |
Instances
| Show TxParams15 Source # | |
Defined in Data.Geo.Jord.Tx Methods showsPrec :: Int -> TxParams15 -> ShowS # show :: TxParams15 -> String # showList :: [TxParams15] -> ShowS # | |
| TxParams TxParams15 Source # | |
Defined in Data.Geo.Jord.Tx | |
Arguments
| :: (Double, Double, Double) | translation vector containing the three translations along the coordinate axes: tx, ty, tz in millimetres |
| -> Double | scale factor (unitless) expressed in parts per billion |
| -> (Double, Double, Double) | rotation matrix (orthogonal) consisting of the three axes rx, ry, rz in milliarcseconds |
| -> TxParams7 |
7-parameter transformation (Helmert) from given translation vector, scale factor and rotation matrix.
Arguments
| :: (Double, Double, Double) | translation rate in millimetres per year. |
| -> Double | scale factor rate in part per billion per year. |
| -> (Double, Double, Double) | rotation rate in milliarcseconds per year. |
| -> TxRates |
rates of the 15-parameter translation (Helmert) from given translation rates, scale factor rate and rotation rates.
txParamsAt :: Epoch -> TxParams15 -> TxParams7 Source #
txParamsAt e tx15 returns the 7-parameter transformation corresponding to the
15-parameter transformation tx15 at epoch e.
transformation graph.
Transformation graph: vertices are ModelId and edges are transformation parameters.
txGraph :: TxParams a => [Tx a] -> TxGraph a Source #
txGraph ts returns a transformation graph containing all given direct and inverse
(i.e. for each Tx: txParams & inverseTxParams) transformations.
txParamsBetween :: TxParams a => ModelId -> ModelId -> TxGraph a -> [a] Source #
txParamsBetween m0 m1 g computes the ordered list of transformation parameters to be
successively applied when transforming the coordinates of a position in model m0 to model m1.
The returned list is empty, if either model is not in the graph (i.e. not a vertex) or if no
such transformation exists (i.e. model m1 cannot be reached from model m0).