Hi Roger For the vertical heights you can use EPSG:7837 "DHHN2016 height" So maybe you can go from EPSG:4937 (ETRS89 3D) to EPSG:5677+7837 (compound)
About DHDN and other German datums, there is a talk from FOSSGIS 2025 (in German): https://www.youtube.com/watch?v=-7PpQMHoOFM On Wed, 24 Sept 2025 at 12:03, Even Rouault via PROJ <[email protected]> wrote: > Roger, (sorry for the first name error in my previous email) > > > > I see that three possible operations are listed. To be honest, I do not > know which one is most appropriate. > > No worry. You're not alone. It depends on the context... > > I am guessing that #1 is the default. > > The grid based has the best accuracy, so when the grid is available, it is > indeed used > > 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? > > 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. > > If you try "projinfo EPSG:4326 EPSG:5677 --spatial-test intersects > --grid-check none --3d --single-line -o PROJ", the second operation will > be: > > +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 > > And you can create a PJ object from it with > > 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") > > > >> >> >> >> Even >> Le 24/09/2025 à 08:57, Roger Oberholtzer via PROJ a écrit : >> >> >> >> 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: >> >> myCRS = proj_create_crs_to_crs( 0, "EPSG:4326", "EPSG:5677", 0); >> >> And then calling proj_trans(myCRS, PJ_FWD, PJ_COORD); >> >> My question is if I need to do more than this as EPSG:5677 is ellipsoid >> Bessel 1841. >> >> -- >> Roger Oberholtzer >> >> _______________________________________________ >> PROJ mailing >> [email protected]https://lists.osgeo.org/mailman/listinfo/proj >> >> -- http://www.spatialys.com >> My software is free, but my time generally not. >> >> > > -- > Roger Oberholtzer > > -- http://www.spatialys.com > My software is free, but my time generally not. > > _______________________________________________ > PROJ mailing list > [email protected] > https://lists.osgeo.org/mailman/listinfo/proj >
_______________________________________________ PROJ mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/proj
