[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