[PROJ] Wrong transformation in NL?
Even Rouault
even.rouault at spatialys.com
Sun Feb 22 11:26:12 PST 2026
Actually, re-reading my below pipeline, the issue is probably not that
much the use of the "Amersfoort to WGS 84 (4)" Helmert transformation
in 3D, but the step afterwards where we go from Amersfoort ellipsoidal
height to ETRS 89 ellipsoidal height, using a 2D grid based operation
(what Jochem underlined actually). I've fine tuned the compound CRS <-->
geog3D CRS in https://github.com/OSGeo/PROJ/pull/4677 to avoid the use
of such operations
I'm still not sure if Amersfoort ellipsoidal heights make sense, but
with the above fix they can now be used at least as a computation
intermediate without getting too crazy results:
$ echo 52 5 0 | PROJ_NETWORK=ON bin/cs2cs -d 4 --3d EPSG:4326+3855
Amersfoort | PROJ_NETWORK=ON bin/cs2cs --3d -d 4 Amersfoort "Amersfoort
+ NAP height"
52.0010 5.0004 0.1953
$ echo 52 5 0 | PROJ_NETWORK=ON bin/cs2cs -d 4 EPSG:4326+3855
"Amersfoort + NAP height"
52.0010 5.0004 0.2000
Even
Le 22/02/2026 à 19:12, Even Rouault via PROJ a écrit :
>>
>> [GT]: So was the bug confusing orthometric and ellipsoidal?
>>
>> No, PROJ used an inappropriate geoid. The 2D Amersfoort datum of the
>> 2D target CRS RD has an ellipsoidal height within 1 m of MSL in the
>> Netherlands. PROJ nevertheless thought it was a good idea to take the
>> geoid for the vertical target CRS NAP that is to be used on 3D ETRS89
>> and apply it on the Amersfoort ellipsoidal height.
>>
> A bit more subtle than that. It did:
>
> - WGS 84 + EGM 2008 -> WGS 84 3D geographic using EGM2008 height: OK
>
> - use of "|Amersfoort to WGS 84 (4)" Helmert transformation in reverse
> direction, promoting the Amersfoort CRS to a 3D geographic one and do
> the Helmert transformation in 3D. That's the part that was
> questionnable (yeah, wrong) in this context since that Helmert
> transformatioon is likely only intended for 2D. Unfortunately the
> EPSG database doesn't distinguish cases where this is valid and those
> where it is not. The only hint is that if there's no official record
> for a 3D geographic CRS, doing the Helmert transformation in 3D is
> likely to not be correct|
>
> |- apply the "Amersfoort to ETRS89-NLD [AGRS2010]" transformation
> using the 2D grid|
>
> |- apply the "||ETRS89-NLD [AGRS2010] to NAP height (2)"
> transformation using the geoid grid|
>
> |- apply the ||"Amersfoort to ETRS89-NLD [AGRS2010]" in the reverse
> direction, to finally get Amersfoort + NAP height coordinates|
>
> --
> http://www.spatialys.com
> My software is free, but my time generally not.
>
> _______________________________________________
> PROJ mailing list
> PROJ at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/proj
--
http://www.spatialys.com
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/proj/attachments/20260222/6a52c9c6/attachment.htm>
More information about the PROJ
mailing list