<div dir="ltr"><div>Hi Roger</div><div><br></div><div>For the vertical heights you can use EPSG:7837 "DHHN2016 height"</div><div>So maybe you can go from EPSG:4937 (ETRS89 3D) to EPSG:5677+7837 (compound)</div><div><br></div><div>About DHDN and other German datums, there is a talk from FOSSGIS 2025 (in German):</div><div><a href="https://www.youtube.com/watch?v=-7PpQMHoOFM">https://www.youtube.com/watch?v=-7PpQMHoOFM</a></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, 24 Sept 2025 at 12:03, Even Rouault via PROJ <<a href="mailto:proj@lists.osgeo.org">proj@lists.osgeo.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>

  
    
  
  <div>
    <p>Roger, (sorry for the first name error in my previous email)</p>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div><br>
          </div>
          <div><br>
          </div>
          <div>I see that three possible operations are listed. To be
            honest, I do not know which one is most appropriate.</div>
        </div>
      </div>
    </blockquote>
    No worry. You're not alone. It depends on the context...<br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div> I am guessing that #1 is the default. </div>
        </div>
      </div>
    </blockquote>
    The grid based has the best accuracy, so when the grid is available,
    it is indeed used<br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div>How would I choose one of the other sets of operations?
            Use the listed strings as the destination CRS? Or is there
            some other way to select it? Should the reported altitude
            always be over the new ellipsoid? <br>
          </div>
        </div>
      </div>
    </blockquote>
    <p>If you want 3D operations, you should use the 3D versions of the
      CRS. You can add the --3d flag to projinfo to force promotion. But
      in the case of DHDN there's no official 3D version of the CRS in
      the EPSG dataset, so what PROJ will report may be dubious.<br>
    </p>
    <p>If you try "projinfo EPSG:4326 EPSG:5677 --spatial-test
      intersects --grid-check none  --3d --single-line -o PROJ", the
      second operation will be:</p>
    <p>+proj=pipeline +step +proj=axisswap +order=2,1 +step
      +proj=unitconvert +xy_in=deg +z_in=m +xy_out=rad +z_out=m +step
      +proj=cart +ellps=WGS84 +step +inv +proj=helmert +x=598.1 +y=73.7
      +z=418.2 +rx=0.202 +ry=0.045 +rz=-2.455 +s=6.7
      +convention=position_vector +step +inv +proj=cart +ellps=bessel
      +step +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0
      +ellps=bessel</p>
    <p>And you can create a PJ object from it with</p>
    <p>myTransf = proj_create(ctxt, "+proj=pipeline +step +proj=axisswap
      +order=2,1 +step +proj=unitconvert +xy_in=deg +z_in=m +xy_out=rad
      +z_out=m +step +proj=cart +ellps=WGS84 +step +inv +proj=helmert
      +x=598.1 +y=73.7 +z=418.2 +rx=0.202 +ry=0.045 +rz=-2.455 +s=6.7
      +convention=position_vector +step +inv +proj=cart +ellps=bessel
      +step +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0
      +ellps=bessel")</p>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div> </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            <div>
              <p><br>
                <br>
                <br>
              </p>
              <p>Even<br>
              </p>
              <div>Le 24/09/2025 à 08:57, Roger Oberholtzer via PROJ a
                écrit :<br>
              </div>
              <blockquote type="cite">
                <div dir="ltr">
                  <div><br clear="all">
                  </div>
                  <br>
                  <div style="font-family:Aptos,"Aptos_EmbeddedFont","Aptos_MSFontService",Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">I
                    am trying to project some EPSG:4326 locations (from
                    a GPS) to EPSG:5677 (DHDN Germany Zone 3). I have
                    sample data from the German road authorities (BASt).
                    They feel that the locations provided by proj
                    (9.6.0) are consistently 1.5 meters or so away from
                    that they expect. They were also expecting a change
                    in altitude as the ellipsoid was different. I have
                    implemented this with something like this:</div>
                  <div style="font-family:Aptos,"Aptos_EmbeddedFont","Aptos_MSFontService",Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><br>
                  </div>
                  <div style="font-family:Aptos,"Aptos_EmbeddedFont","Aptos_MSFontService",Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">myCRS
                    = proj_create_crs_to_crs( 0,  "EPSG:4326", 
                    "EPSG:5677",  0);</div>
                  <div style="font-family:Aptos,"Aptos_EmbeddedFont","Aptos_MSFontService",Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><br>
                  </div>
                  <div style="font-family:Aptos,"Aptos_EmbeddedFont","Aptos_MSFontService",Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">And
                    then calling proj_trans(myCRS, PJ_FWD, PJ_COORD);</div>
                  <div style="font-family:Aptos,"Aptos_EmbeddedFont","Aptos_MSFontService",Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><br>
                  </div>
                  <div style="font-family:Aptos,"Aptos_EmbeddedFont","Aptos_MSFontService",Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">My
                    question is if I need to do more than this as
                    EPSG:5677 is ellipsoid Bessel 1841. </div>
                  <div style="font-family:Aptos,"Aptos_EmbeddedFont","Aptos_MSFontService",Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"> </div>
                  <span class="gmail_signature_prefix">-- </span><br>
                  <div dir="ltr" class="gmail_signature">Roger
                    Oberholtzer</div>
                </div>
                <br>
                <fieldset></fieldset>
                <pre>_______________________________________________
PROJ mailing list
<a href="mailto:PROJ@lists.osgeo.org" target="_blank">PROJ@lists.osgeo.org</a>
<a href="https://lists.osgeo.org/mailman/listinfo/proj" target="_blank">https://lists.osgeo.org/mailman/listinfo/proj</a>
</pre>
              </blockquote>
              <pre cols="72">-- 
<a href="http://www.spatialys.com" target="_blank">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
            </div>
          </blockquote>
        </div>
        <div><br clear="all">
        </div>
        <br>
        <span class="gmail_signature_prefix">-- </span><br>
        <div dir="ltr" class="gmail_signature">Roger Oberholtzer</div>
      </div>
    </blockquote>
    <pre cols="72">-- 
<a href="http://www.spatialys.com" target="_blank">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
  </div>

_______________________________________________<br>
PROJ mailing list<br>
<a href="mailto:PROJ@lists.osgeo.org" target="_blank">PROJ@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/proj" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/proj</a><br>
</blockquote></div>