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 list
    [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

Reply via email to