aboutsummaryrefslogtreecommitdiff
path: root/docs/source/usage
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-08-21 14:38:04 +0200
committerEven Rouault <even.rouault@spatialys.com>2018-08-21 14:57:28 +0200
commite05dcd84ab69e1522c67c1ec9e5b38f45fd77c6e (patch)
tree9ec0e012e8cdd10035a8f7b0286396325004b30b /docs/source/usage
parentc1f0673b3335a37eb03900315d6db3f43e3bf64c (diff)
downloadPROJ-e05dcd84ab69e1522c67c1ec9e5b38f45fd77c6e.tar.gz
PROJ-e05dcd84ab69e1522c67c1ec9e5b38f45fd77c6e.zip
[BREAKING] Hermert: add +convention=position_vector/coordinate_frame, forbids +transpose (fixes #1091)
As identified in #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.
Diffstat (limited to 'docs/source/usage')
-rw-r--r--docs/source/usage/transformation.rst11
1 files changed, 5 insertions, 6 deletions
diff --git a/docs/source/usage/transformation.rst b/docs/source/usage/transformation.rst
index acec0bb5..b4ed7031 100644
--- a/docs/source/usage/transformation.rst
+++ b/docs/source/usage/transformation.rst
@@ -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
@@ -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
@@ -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