<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>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
      <a class="moz-txt-link-freetext" href="https://github.com/OSGeo/PROJ/pull/4677">https://github.com/OSGeo/PROJ/pull/4677</a> to avoid the use of such
      operations</p>
    <p>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:</p>
    <p>$ echo 52 5 0 |  PROJ_NETWORK=ON bin/cs2cs -d 4 --3d
      <a class="moz-txt-link-freetext" href="EPSG:4326+3855">EPSG:4326+3855</a> Amersfoort | PROJ_NETWORK=ON bin/cs2cs --3d -d 4
      Amersfoort "Amersfoort + NAP height" <br>
      52.0010    5.0004 0.1953</p>
    <p>$ echo 52 5 0 |  PROJ_NETWORK=ON bin/cs2cs -d 4 <a class="moz-txt-link-freetext" href="EPSG:4326+3855">EPSG:4326+3855</a>
      "Amersfoort + NAP height" <br>
      52.0010    5.0004 0.2000<br>
    </p>
    <p>Even</p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">Le 22/02/2026 à 19:12, Even Rouault via
      PROJ a écrit :<br>
    </div>
    <blockquote type="cite"
      cite="mid:9205ee6a-7359-48e1-aaf3-2718dd1fa702@spatialys.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <blockquote type="cite"
cite="mid:DU2P192MB2235E2289ED1F870C41C4D1EEF76A@DU2P192MB2235.EURP192.PROD.OUTLOOK.COM">
        <div class="WordSection1">
          <p class="MsoPlainText"><span lang="EN-GB">[GT]: So was the
              bug confusing orthometric and ellipsoidal?<o:p></o:p></span></p>
          <p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
          <p class="MsoPlainText" style="margin-left:35.4pt"><span
              lang="EN-GB">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.</span></p>
        </div>
      </blockquote>
      <p>A bit more subtle than that. It did:</p>
      <p>- WGS 84 + EGM 2008 -> WGS 84 3D geographic using EGM2008
        height: OK</p>
      <p>- use of "<code class="notranslate">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</code></p>
      <p><code class="notranslate">- apply the "Amersfoort to ETRS89-NLD
          [AGRS2010]" transformation using the 2D grid</code></p>
      <p><code class="notranslate">- apply the "</code><code
          class="notranslate">ETRS89-NLD [AGRS2010] to NAP height (2)"
          transformation using the geoid grid</code></p>
      <p><code class="notranslate">- apply the </code><code
          class="notranslate">"Amersfoort to ETRS89-NLD [AGRS2010]" in
          the reverse direction, to finally get Amersfoort + NAP height
          coordinates</code></p>
      <pre class="moz-signature" cols="72">-- 
<a class="moz-txt-link-freetext" href="http://www.spatialys.com"
      moz-do-not-send="true">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre wrap="" class="moz-quote-pre">_______________________________________________
PROJ mailing list
<a class="moz-txt-link-abbreviated" href="mailto:PROJ@lists.osgeo.org">PROJ@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/proj">https://lists.osgeo.org/mailman/listinfo/proj</a>
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
<a class="moz-txt-link-freetext" href="http://www.spatialys.com">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
  </body>
</html>