diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2018-08-21 14:38:04 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2018-08-21 14:57:28 +0200 |
| commit | e05dcd84ab69e1522c67c1ec9e5b38f45fd77c6e (patch) | |
| tree | 9ec0e012e8cdd10035a8f7b0286396325004b30b /docs/source/usage | |
| parent | c1f0673b3335a37eb03900315d6db3f43e3bf64c (diff) | |
| download | PROJ-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.rst | 11 |
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 |
