Skip to content

Commit

Permalink
[BREAKING] Hermert: add +convention=position_vector/coordinate_frame,…
Browse files Browse the repository at this point in the history
… forbids +transpose (fixes OSGeo#1091)

As identified in OSGeo#1091, Helmert implementation in PROJ 5.0 and 5.1 is confusing.
It happens that by default it used the coordinate_frame convention, contrary to
the position_vector convention used traditionaly for +towgs84. The documentation
of Helmert was also wrongly specifying that the default convention was
position_vector.

This commit:
- bans the confusing +transpose parameter
- removes the concept of a default convention, since in practice both are
  equally found, and requires +convention as soon as a rotational term parameter
  is present.
  For translation only, convention is ignored and optional, as having no effect.
- fixes all the identified uses of proj=helmert in code, doc and tests

This is obviously a breaking change:
- users will have to adapt their pipeline expressions
- in particular, init files that would use helmert must be adapted

However, as designed, the break will be explicit, and not silent.
  • Loading branch information
rouault committed Aug 21, 2018
1 parent c1f0673 commit 16e8827
Show file tree
Hide file tree
Showing 11 changed files with 202 additions and 111 deletions.
4 changes: 2 additions & 2 deletions docs/source/operations/transformations/deformation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ to the Danish realisation of ETRS89 is in PROJ described as::
# ITRF2008@t_obs -> ITRF2000@t_obs
step init = ITRF2008:ITRF2000
# ITRF2000@t_obs -> ETRF2000@t_obs
step proj=helmert t_epoch = 2000.0 transpose
step proj=helmert t_epoch = 2000.0 convention=position_vector
x = 0.054 rx = 0.000891 drx = 8.1e-05
y = 0.051 ry = 0.00539 dry = 0.00049
z = -0.048 rz = -0.008712 drz = -0.000792
Expand All @@ -60,7 +60,7 @@ to the Danish realisation of ETRS89 is in PROJ described as::
xy_grids = ./nkgrf03vel_realigned_xy.ct2
z_grids = ./nkgrf03vel_realigned_z.gtx
# NKG_ETRF@2000.0 -> ETRF92@2000.0
step proj=helmert transpose s = -0.009420e
step proj=helmert convention=position_vector s = -0.009420e
x = 0.03863 rx = 0.00617753
y = 0.147 ry = 5.064e-05
z = 0.02776 rz = 4.729e-05
Expand Down
77 changes: 53 additions & 24 deletions docs/source/operations/transformations/helmert.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,25 +53,25 @@ Transforming coordinates from NAD72 to NAD83 using the 4 parameter 2D Helmert:

::

proj=helmert x=-9597.3572 y=.6112 s=0.304794780637 theta=-1.244048
proj=helmert convention=coordinate_frame x=-9597.3572 y=.6112 s=0.304794780637 theta=-1.244048

Simplified transformations from ITRF2008/IGS08 to ETRS89 using 7 parameters:

::

proj=helmert x=0.67678 y=0.65495 z=-0.52827
proj=helmert convention=coordinate_frame x=0.67678 y=0.65495 z=-0.52827
rx=-0.022742 ry=0.012667 rz=0.022704 s=-0.01070

Transformation from `ITRF2000@2017.0` to `ITRF93@2017.0` using 15 parameters:

::

proj=helmert
proj=helmert convention=position_vector
x=0.0127 y=0.0065 z=-0.0209 s=0.00195
dx=-0.0029 dy=-0.0002 dz=-0.0006 ds=0.00001
rx=-0.00039 ry=0.00080 rz=-0.00114
drx=-0.00011 dry=-0.00019 drz=0.00007
t_epoch=1988.0 t_obs=2017.0 transpose
t_epoch=1988.0 t_obs=2017.0

Parameters
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Expand All @@ -81,6 +81,36 @@ Parameters
All parameters are optional but at least one should be used, otherwise the
operation will return the coordinates unchanged.

.. option:: +convention=coordinate_frame/position_vector

.. versionadded:: 5.2.0

Indicates the convention to express the rotational terms when a 3D-Helmert /
7-parameter more transform is involved. As soon as a rotational parameter
is specified (one of ``rx``, ``ry``, ``rz``, ``drx``, ``dry``, ``drz``),
``convention`` is required.

The two conventions are equally popular and a frequent source of confusion.
The coordinate frame convention is also described as an clockwise
rotation of the coordinate frame. It corresponds to EPSG method code
1032 (in the geocentric domain) or 9607 (in the geographic domain)
The position vector convention is also described as an anticlockwise
(counter-clockwise) rotation of the coordinate frame.
It corresponds to as EPSG method code 1033 (in the geocentric domain) or
9606 (in the geographic domain).

This parameter is ignored when only a 3-parameter
(translation terms only: ``x``, ``y``, ``z``) , 4-parameter (3-parameter
and ``theta``) or 6-parameter (3-parameter and their derivative terms)
is used.

The result obtained with parameters specified in a given convention
can be obtained in the other convention by negating the rotational parameters
(``rx``, ``ry``, ``rz``, ``drx``, ``dry``, ``drz``)

.. note:: This parameter obsoletes ``transpose`` which was present in
PROJ 5.0 and 5.1, and is forbidden starting with PROJ 5.2

.. option:: +x=<value>

Translation of the x-axis given in meters.
Expand Down Expand Up @@ -161,13 +191,6 @@ Parameters

See :eq:`rot_exact`

.. option:: +transpose

Transpose rotation matrix and follow the **Cordinate Frame** rotation
convention. If :option:`+transpose` is not added the **Position Vector**
rotation convention is used.



Mathematical description
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Expand Down Expand Up @@ -278,24 +301,30 @@ is the scaling factor and :math:`\mathbf{R}` is a rotation matrix. :math:`V^A` a
:math:`V^B` are coordinate vectors, with :math:`V^A` being the input coordinate and
:math:`V^B` is the output coordinate.

The rotation matrix is composed of three rotation matrices, one for each axis:
In the *Position Vector* convention, we define :math:`R_x = radians \left( rx \right)`,
:math:`R_z = radians \left( ry \right)` and :math:`R_z = radians \left( rz \right)`

In the *Coordinate Frame* convention, :math:`R_x = - radians \left( rx \right)`,
:math:`R_z = - radians \left( ry \right)` and :math:`R_z = - radians \left( rz \right)`

The rotation matrix is composed of three rotation matrices, one for each axis.

.. math::
\begin{align}
\mathbf{R}_X &= \begin{bmatrix} 1 & 0 & 0\\ 0 & \cos\phi & -\sin\phi\\ 0 & \sin\phi & \cos\phi \end{bmatrix}
\mathbf{R}_X &= \begin{bmatrix} 1 & 0 & 0\\ 0 & \cos R_x & -\sin R_x \\ 0 & \sin R_x & \cos R_x \end{bmatrix}
\end{align}
.. math::
\begin{align}
\mathbf{R}_Y &= \begin{bmatrix} \cos\theta & 0 & \sin\theta\\ 0 & 1 & 0\\ -\sin\theta & 0 & \cos\theta \end{bmatrix}
\mathbf{R}_Y &= \begin{bmatrix} \cos R_y & 0 & \sin R_y\\ 0 & 1 & 0\\ -\sin R_y & 0 & \cos R_y \end{bmatrix}
\end{align}
.. math::
\begin{align}
\mathbf{R}_Z &= \begin{bmatrix} \cos\psi & -\sin\psi & 0\\ \sin\psi & \cos\psi & 0\\ 0 & 0 & 1 \end{bmatrix}
\mathbf{R}_Z &= \begin{bmatrix} \cos R_z & -\sin R_z & 0\\ \sin R_z & \cos R_z & 0\\ 0 & 0 & 1 \end{bmatrix}
\end{align}
The three rotation matrices can be combined in one:
Expand All @@ -313,9 +342,11 @@ For :math:`\mathbf{R}`, this yields:
:label: rot_exact
\begin{bmatrix}
\cos\theta \cos\psi & -\cos\phi \sin\psi + \sin\phi \sin\theta \cos\psi & \sin\phi \sin\psi + \cos\phi \sin\theta \cos\psi \\
\cos\theta\sin\psi & \cos\phi \cos\psi + \sin\phi \sin\theta \sin\psi & - \sin\phi \cos\psi + \cos\phi \sin\theta \sin\psi \\
-\sin\theta & \sin\phi \cos\theta & \cos\phi \cos\theta \\
\cos R_y \cos R_z & -\cos R_x \sin R_z + & \sin R_x \sin R_z + \\
& \sin R_x \sin R_y \cos R_z & \cos R_x \sin R_y \cos R_z \\
\cos R_y\sin R_z & \cos R_x \cos R_z + & - \sin R_x \cos R_z + \\
& \sin R_x \sin R_y \sin R_z & \cos R_x \sin R_y \sin R_z \\
-\sin R_y & \sin R_x \cos R_y & \cos R_x \cos R_y \\
\end{bmatrix}
Expand Down Expand Up @@ -363,12 +394,10 @@ using the approximated rotation matrix:
\end{bmatrix}^A
\end{align}
If the rotation matrix is transposed the transformation is effectively reversed.
This is cause for some confusion since there is no correct way of defining the
rotation matrix. Two conventions exists and they seem to be equally popular. PROJ
uses the **Position Vector** rotation convention. The rotation matrix can be transposed by
adding the :option:`+transpose` flag in the transformation setup which makes PROJ
follow the **Coordinate Frame** rotation convention.
If the rotation matrix is transposed, or the sign of the rotation terms negated,
the rotational part of the transformation is effectively reversed.
This is what happens when switching between the 2 conventions ``position_vector``
and ``coordinate_frame``

Applying :eq:`propagation` we get the kinematic version of the approximated
3D Helmert:
Expand Down
2 changes: 1 addition & 1 deletion docs/source/resource_files.rst
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,7 @@ which then expands to

+proj=helmert +x=-0.0001 +y=0.0008 +z=0.0058 +s=-0.0004
+dx=0.0002 +dy=-0.0001 +dz=0.0018 +ds=-0.000008
+t_epoch=2000.0 +transpose
+t_epoch=2000.0 +convention=position_vector
+t_obs=2010.5

Below is a list of the init files that are packaged with PROJ.
Expand Down
11 changes: 5 additions & 6 deletions docs/source/usage/transformation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ the introduction). In PROJ it can be implemented as

proj=pipeline
step proj=cart ellps=intl
step proj=helmert
step proj=helmert convention=coordinate_frame
x=-81.0703 y=-89.3603 z=-115.7526
rx=-0.48488 ry=-0.02436 rz=-0.41321 s=-0.540645
step proj=cart inv ellps=GRS80
Expand All @@ -101,7 +101,7 @@ deprecated system with decimeter level tensions.
step init=./s45b.pol:s45b_tc32
step proj=utm inv ellps=intl zone=32
step proj=cart ellps=intl
step proj=helmert
step proj=helmert convention=coordinate_frame
x=-81.0703 y=-89.3603 z=-115.7526
rx=-0.48488 ry=-0.02436 rz=-0.41321 s=-0.540645
step proj=cart inv ellps=GRS80
Expand All @@ -116,16 +116,15 @@ data, but the 14-parameter Helmert transform expects temporal units in decimalye
Hence the first step in the pipeline is the unitconvert pseudo-projection that makes
sure the correct units are passed along to the Helmert transform.
Most parameters of the Helmert transform are taken from :cite:`Altamimi2002`,
except the epoch which is the epoch of the transformation. The default setting is to
use “coordinate frame” convention of the Helmert transform, but “position vector”
convention can also be used. The last step in the pipeline is converting the
except the epoch which is the epoch of the transformation.
The last step in the pipeline is converting the
coordinate timestamps back to GPS weeks.

::

proj=pipeline
step proj=unitconvert t_in=gps_week t_out=decimalyear
step proj=helmert
step proj=helmert convention=coordinate_frame
x=0.0127 y=0.0065 z=-0.0209 s=0.00195
rx=0.00039 ry=-0.00080 rz=0.00114
dx=-0.0029 dy=-0.0002 dz=-0.0006 ds=0.00001
Expand Down
20 changes: 10 additions & 10 deletions nad/ITRF2000
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,22 @@

# ITRF2000 -> ITRF2005 is only defined the opposite way, so we flip the sign on all
# parameters to get the opposite transformation. Parameters from http://itrf.ign.fr/ITRF_solutions/2005/tp_05-00.php
<ITRF2005> +proj=helmert +x=-0.0001 +y=0.0008 +z=0.0058 +s=-0.0004 +dx=0.0002 +dy=-0.0001 +dz=0.0018 +ds=-0.000008 +t_epoch=2000.0 +transpose
<ITRF2005> +proj=helmert +x=-0.0001 +y=0.0008 +z=0.0058 +s=-0.0004 +dx=0.0002 +dy=-0.0001 +dz=0.0018 +ds=-0.000008 +t_epoch=2000.0 +convention=position_vector

<ITRF97> +proj=helmert +x=0.0067 +y=0.0061 +z=-0.0185 +s=0.00155 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1997.0 +transpose
<ITRF97> +proj=helmert +x=0.0067 +y=0.0061 +z=-0.0185 +s=0.00155 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1997.0 +convention=position_vector

<ITRF96> +proj=helmert +x=0.0067 +y=0.0061 +z=-0.0185 +s=0.00155 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1997.0 +transpose
<ITRF96> +proj=helmert +x=0.0067 +y=0.0061 +z=-0.0185 +s=0.00155 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1997.0 +convention=position_vector

<ITRF94> +proj=helmert +x=0.0067 +y=0.0061 +z=-0.0185 +s=0.00155 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1997.0 +transpose
<ITRF94> +proj=helmert +x=0.0067 +y=0.0061 +z=-0.0185 +s=0.00155 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1997.0 +convention=position_vector

<ITRF93> +proj=helmert +x=0.0127 +y=0.0065 +z=-0.0209 +s=0.00195 +rx=-0.00039 +ry=0.00080 +rz=-0.00114 +dx=-0.0029 +dy=-0.0002 +dz=-0.0006 +ds=0.00001 +drx=-0.00011 +dry=-0.00019 +drz=0.00007 +t_epoch=1988.0 +transpose
<ITRF93> +proj=helmert +x=0.0127 +y=0.0065 +z=-0.0209 +s=0.00195 +rx=-0.00039 +ry=0.00080 +rz=-0.00114 +dx=-0.0029 +dy=-0.0002 +dz=-0.0006 +ds=0.00001 +drx=-0.00011 +dry=-0.00019 +drz=0.00007 +t_epoch=1988.0 +convention=position_vector

<ITRF92> +proj=helmert +x=0.0147 +y=0.0135 +z=-0.0139 +s=0.00075 +rz=-0.00018 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1988.0 +transpose
<ITRF92> +proj=helmert +x=0.0147 +y=0.0135 +z=-0.0139 +s=0.00075 +rz=-0.00018 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1988.0 +convention=position_vector

<ITRF91> +proj=helmert +x=0.0267 +y=0.0275 +z=-0.0199 +s=0.00215 +rz=-0.00018 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1988.0 +transpose
<ITRF91> +proj=helmert +x=0.0267 +y=0.0275 +z=-0.0199 +s=0.00215 +rz=-0.00018 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1988.0 +convention=position_vector

<ITRF90> +proj=helmert +x=0.0247 +y=0.0235 +z=-0.0359 +s=0.00245 +rz=-0.00018 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1988.0 +transpose
<ITRF90> +proj=helmert +x=0.0247 +y=0.0235 +z=-0.0359 +s=0.00245 +rz=-0.00018 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1988.0 +convention=position_vector

<ITRF89> +proj=helmert +x=0.0297 +y=0.0475 +z=-0.0739 +s=0.00585 +rz=-0.00018 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1988.0 +transpose
<ITRF89> +proj=helmert +x=0.0297 +y=0.0475 +z=-0.0739 +s=0.00585 +rz=-0.00018 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1988.0 +convention=position_vector

<ITRF88> +proj=helmert +x=0.0247 +y=0.0115 +z=-0.0979 +s=0.00895 +rx=0.0001 +rz=-0.00018 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1988.0 +transpose
<ITRF88> +proj=helmert +x=0.0247 +y=0.0115 +z=-0.0979 +s=0.00895 +rx=0.0001 +rz=-0.00018 +dy=-0.0006 +dz=-0.0014 +ds=0.00001 +drz=0.00002 +t_epoch=1988.0 +convention=position_vector
50 changes: 25 additions & 25 deletions nad/ITRF2008
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
# ITRF2008 params are in mm/year, PJ_helmert uses m/year
<metadata> +version=1.0.0 +origin=http://itrf.ign.fr/doc_ITRF/Transfo-ITRF2008_ITRFs.txt +lastupdate=2017-07-26

<ITRF2005> +proj=helmert +x=-0.002 +y=-0.0009 +z=-0.0047 +s=0.00094 +dx=0.0003 +t_epoch=2000.0 +transpose
<ITRF2005> +proj=helmert +x=-0.002 +y=-0.0009 +z=-0.0047 +s=0.00094 +dx=0.0003 +t_epoch=2000.0 +convention=position_vector

<ITRF2000> +proj=helmert +x=-0.0019 +y=-0.0017 +z=-0.0105 +s=0.00134 +dx=0.0001 +dy=0.0001 +dz=-0.0018 +ds=0.00008 +t_epoch=2000.0 +transpose
<ITRF2000> +proj=helmert +x=-0.0019 +y=-0.0017 +z=-0.0105 +s=0.00134 +dx=0.0001 +dy=0.0001 +dz=-0.0018 +ds=0.00008 +t_epoch=2000.0 +convention=position_vector

<ITRF97> +proj=helmert +x=0.0048 +y=0.0026 +z=-0.0332 +s=0.00292 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +transpose
<ITRF97> +proj=helmert +x=0.0048 +y=0.0026 +z=-0.0332 +s=0.00292 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +convention=position_vector

<ITRF96> +proj=helmert +x=0.0048 +y=0.0026 +z=-0.0332 +s=0.00292 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +transpose
<ITRF96> +proj=helmert +x=0.0048 +y=0.0026 +z=-0.0332 +s=0.00292 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +convention=position_vector

<ITRF94> +proj=helmert +x=0.0048 +y=0.0026 +z=-0.0332 +s=0.00292 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +transpose
<ITRF94> +proj=helmert +x=0.0048 +y=0.0026 +z=-0.0332 +s=0.00292 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +convention=position_vector

<ITRF93> +proj=helmert +x=-0.024 +y=0.0024 +z=-0.00386 +s=0.00341 +rx=-0.00171 +ry=-0.00148 +rz=-0.0003 +dx=-0.0028 +dy=-0.0001 +dz=-0.0024 +ds=0.00009 +drx=-0.00011 +dry=-0.00019 +drz=0.00007 +t_epoch=2000.0 +transpose
<ITRF93> +proj=helmert +x=-0.024 +y=0.0024 +z=-0.00386 +s=0.00341 +rx=-0.00171 +ry=-0.00148 +rz=-0.0003 +dx=-0.0028 +dy=-0.0001 +dz=-0.0024 +ds=0.00009 +drx=-0.00011 +dry=-0.00019 +drz=0.00007 +t_epoch=2000.0 +convention=position_vector

<ITRF92> +proj=helmert +x=0.0128 +y=0.0046 +z=-0.0412 +s=0.00221 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +transpose
<ITRF92> +proj=helmert +x=0.0128 +y=0.0046 +z=-0.0412 +s=0.00221 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +convention=position_vector

<ITRF91> +proj=helmert +x=0.0248 +y=0.0186 +z=-0.0472 +s=0.00361 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +transpose
<ITRF91> +proj=helmert +x=0.0248 +y=0.0186 +z=-0.0472 +s=0.00361 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +convention=position_vector

<ITRF90> +proj=helmert +x=0.0228 +y=0.0146 +z=-0.0632 +s=0.00391 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +transpose
<ITRF90> +proj=helmert +x=0.0228 +y=0.0146 +z=-0.0632 +s=0.00391 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +convention=position_vector

<ITRF89> +proj=helmert +x=0.0278 +y=0.0386 +z=-0.1012 +s=0.00731 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +transpose
<ITRF89> +proj=helmert +x=0.0278 +y=0.0386 +z=-0.1012 +s=0.00731 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +convention=position_vector

<ITRF88> +proj=helmert +x=0.0228 +y=0.0026 +z=-0.1252 +s=0.01041 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +transpose
<ITRF88> +proj=helmert +x=0.0228 +y=0.0026 +z=-0.1252 +s=0.01041 +rz=0.00006 +dx=0.0001 +dy=-0.0005 +dz=-0.0032 +ds=0.00009 +drz=0.00002 +t_epoch=2000.0 +convention=position_vector


# ITRF2008 Plate Motion Model parameters
Expand All @@ -32,30 +32,30 @@
# J. Geophys. Res., 117, B07402, doi:10.1029/2011JB008930.


<AMUR> +proj=helmert +drx=-0.000190 +dry=-0.000442 +drz=0.000915
<AMUR> +proj=helmert +drx=-0.000190 +dry=-0.000442 +drz=0.000915 +convention=coordinate_frame

<ANTA> +proj=helmert +drx=-0.000252 +dry=-0.000302 +drz=0.000643
<ANTA> +proj=helmert +drx=-0.000252 +dry=-0.000302 +drz=0.000643 +convention=coordinate_frame

<ARAB> +proj=helmert +drx=0.001202 +dry=-0.000054 +drz=0.001485
<ARAB> +proj=helmert +drx=0.001202 +dry=-0.000054 +drz=0.001485 +convention=coordinate_frame

<AUST> +proj=helmert +drx=0.001504 +dry=0.001172 +drz=0.001228
<AUST> +proj=helmert +drx=0.001504 +dry=0.001172 +drz=0.001228 +convention=coordinate_frame

<CARB> +proj=helmert +drx=0.000049 +dry=-0.001088 +drz=0.000664
<CARB> +proj=helmert +drx=0.000049 +dry=-0.001088 +drz=0.000664 +convention=coordinate_frame

<EURA> +proj=helmert +drx=-0.000083 +dry=0.000534 +drz=0.000750
<EURA> +proj=helmert +drx=-0.000083 +dry=0.000534 +drz=0.000750 +convention=coordinate_frame

<INDI> +proj=helmert +drx=0.001232 +dry=0.000303 +drz=0.001540
<INDI> +proj=helmert +drx=0.001232 +dry=0.000303 +drz=0.001540 +convention=coordinate_frame

<NAZC> +proj=helmert +drx=-0.000330 +dry=-0.001551 +drz=0.001625
<NAZC> +proj=helmert +drx=-0.000330 +dry=-0.001551 +drz=0.001625 +convention=coordinate_frame

<NOAM> +proj=helmert +drx=0.000035 +dry=-0.000662 +drz=0.0001
<NOAM> +proj=helmert +drx=0.000035 +dry=-0.000662 +drz=0.0001 +convention=coordinate_frame

<NUBI> +proj=helmert +drx=0.000095 +dry=-0.000598 +drz=0.000723
<NUBI> +proj=helmert +drx=0.000095 +dry=-0.000598 +drz=0.000723 +convention=coordinate_frame

<PCFC> +proj=helmert +drx=0.000411 +dry=0.001036 +drz=-0.002166
<PCFC> +proj=helmert +drx=0.000411 +dry=0.001036 +drz=-0.002166 +convention=coordinate_frame

<SOAM> +proj=helmert +drx=-0.000243 +dry=-0.000311 +drz=-0.000154
<SOAM> +proj=helmert +drx=-0.000243 +dry=-0.000311 +drz=-0.000154 +convention=coordinate_frame

<SOMA> +proj=helmert +drx=-0.000080 +dry=-0.000745 +drz=0.000897
<SOMA> +proj=helmert +drx=-0.000080 +dry=-0.000745 +drz=0.000897 +convention=coordinate_frame

<SUND> +proj=helmert +drx=0.000047 +dry=-0.001 +drz=0.000975
<SUND> +proj=helmert +drx=0.000047 +dry=-0.001 +drz=0.000975 +convention=coordinate_frame
Loading

0 comments on commit 16e8827

Please sign in to comment.