<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, Sep 24, 2025 at 10:57 AM Even Rouault <<a href="mailto:even.rouault@spatialys.com">even.rouault@spatialys.com</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>Robert,</p>
<p>the more precise transformation between both datums involves the
use of this grid file : <a href="https://cdn.proj.org/de_adv_BETA2007.tif" target="_blank">https://cdn.proj.org/de_adv_BETA2007.tif</a>
. Make sure it is installed in the same directory where proj.db is
located</p>
<p>cf:<br>
<br>
$ projinfo EPSG:4326 EPSG:5677 --spatial-test intersects
--grid-check none -o PROJ<br>
Candidate operations found: 3<br>
-------------------------------------<br>
Operation No. 1:<br>
<br>
unknown id, Inverse of DHDN to WGS 84 (4) + 3-degree Gauss-Kruger
zone 3, 1 m, Germany - onshore - states of Baden-Wurtemberg,
Bayern, Berlin, Brandenburg, Bremen, Hamburg, Hessen,
Mecklenburg-Vorpommern, Niedersachsen, Nordrhein-Westfalen,
Rheinland-Pfalz, Saarland, Sachsen, Sachsen-Anhalt,
Schleswig-Holstein, Thuringen., at least one grid missing<br>
<br>
PROJ string:<br>
+proj=pipeline<br>
+step +proj=axisswap +order=2,1<br>
+step +proj=unitconvert +xy_in=deg +xy_out=rad<br>
+step +inv +proj=hgridshift +grids=de_adv_BETA2007.tif<br>
+step +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0
+ellps=bessel<br>
<br>
Grid de_adv_BETA2007.tif needed but not found on the system. Can
be obtained at <a href="https://cdn.proj.org/de_adv_BETA2007.tif" target="_blank">https://cdn.proj.org/de_adv_BETA2007.tif</a></p></div></blockquote><div><br></div><div>I have the DE grid shift files on my Linux system in: </div><div><br></div><div>
<span style="font-family:monospace"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">/usr/share/proj/de_adv_BETA2007.tif</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
</span><br><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">/usr/share/proj/de_adv_README.txt</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
</span><br><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">/usr/share/proj/de_bkg_README.txt</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
</span><br><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">/usr/share/proj/de_bkg_gcg2016.tif</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
</span><br><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">/usr/share/proj/de_geosn_NTv2_SN.tif</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
</span><br><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">/usr/share/proj/de_geosn_README.txt</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
</span><br><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">/usr/share/proj/de_hvbg_README.txt</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
</span><br><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">/usr/share/proj/de_hvbg_hessen_HeTA2010.tif</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
</span><br><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">/usr/share/proj/de_lgl_bw_BWTA2017.tif</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
</span><br><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">/usr/share/proj/de_lgl_bw_README.txt</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
</span><br><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">/usr/share/proj/de_lgvl_saarland_README.txt</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
</span><br><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">/usr/share/proj/de_lgvl_saarland_SeTa2016.tif</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
</span><br><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">/usr/share/proj/de_tlbg_thueringen_NTv2gridTH.tif</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
</span><br><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">/usr/share/proj/de_tlbg_thueringen_README.txt</span><br><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
</span><br></span></div><div>/usr/share/proj is also where proj.db and proj.ini are located.</div><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. I am guessing that #1 is the default. 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? </div><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>