diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2020-02-24 12:43:31 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2020-02-24 20:37:49 +0100 |
| commit | 254bead44a3fe11a24418bf71813298aa2b386f1 (patch) | |
| tree | 67b8c37fda40e0eeb8e9848756d003da0681cc9f /scripts/reference_exported_symbols.txt | |
| parent | fe9e276d93f72a3cc4fbfc64fa05cfd9885377a6 (diff) | |
| download | PROJ-254bead44a3fe11a24418bf71813298aa2b386f1.tar.gz PROJ-254bead44a3fe11a24418bf71813298aa2b386f1.zip | |
createOperations(): keep height/z value in Helmert transform between 3D CRS
This is the consequence of a private email thread between me, Joel Haasdyk and
Roger Lott. I initially raised that the GDA2020 technical manual advertized the
Helmert transformation between GDA94 to GDA2020 to be a 3D one, with example of
a test point where ellipsoidal heights where modified. It appears this was intended.
The corresponding record in EPSG uses the EPSG:9607 "Coordinate Frame rotation (geog2D domain)"
method between the 2D geographic CRS of GDA94 and GDA2020. From the email exchange,
it appears that there's a lot of legacy explaining that Helmert transformations
are registered only between 2D CRS, which doesn't mean that when applied to the
corresponding 3D CRS, the change in ellipsoidal height should be discarded. Related
to that, the EPSG database, while it has methods flagged "(geog3D domain)" never uses them.
So... this changeset slightly ammends PROJ behaviour to ignore the "(geog2D domain)" flag,
but only consider the dimensionality of the source & target CRS. However, for a EPSG
transformation, those are always 2D CRS, hence introduce the use3DHelmert_ hack when
we know that ultimately the 'real' source & target CRS are 3D.
I wouldn't be surprised if in more complex pipeline the above logic would be lacking.
But it fixes at least simple transformations.
Diffstat (limited to 'scripts/reference_exported_symbols.txt')
0 files changed, 0 insertions, 0 deletions
