Le 12/04/2023 à 20:57, Javier Jimenez Shaw a écrit :
Thanks Even for the quick fix.

Is there a way in C++ to set the option to "NO" or "YES"?
I saw that I can use proj.ini file and a environment variable, that overwrites the value in proj.ini. So if a user of my application plays with the environment variables, they can change the behaviour (already happened with PROJ_LIB some time ago) I would like to set the behaviour directly in the C++ code. Is that possible?

You can specify ONLY_BEST=YES/NO in the options argument of proj_create_crs_to_crs[_from_pj](). This is what cs2cs does when specifying the --only-best switch

Even



Thanks

On Wed, 12 Apr 2023 at 19:24, Even Rouault <[email protected]> wrote:

    Hi Javier,

    Fixed per https://github.com/OSGeo/PROJ/pull/3707

    doh, I hadn't anticipated that the only_best functionality would
    introduce such complexity. The fundamental issue is that the
    pipeline computation engine has subtle behavioral differences
    depending if you ask it to assume that all registered grids are
    available (which is used to get the "universe of possible", from
    which we can see if we are missing the "best" transformation),
    which corresponds projinfo --grid-check known_available mode, or
    if you ask it to discard early transformations using grid not
    available. In the former case, PROJ may sometimes not need to
    synthetize the ballkpark transformation when it sees that the
    extent of the grids cover the extent of the CRS. So in the
    warn-only mode of only_best we must actually hybrid the 2
    strategies to discover both missing best transformation, and get a
    ballpark transformation. Not sure if the above makes sense...

    Even

    Le 12/04/2023 à 16:46, Javier Jimenez Shaw a écrit :
    Hi

    I am trying to migrate an application from PROJ 9.1.0 to PROJ
    9.2.0, and I found a change in behaviour, that I was not
    expecting in this release:
    Transform a coordinate not having the proper geoid file (the
    Spanish one in this test). I was expecting that the z component
    is not changed. But I am getting an error instead, and "* * inf"
    value.
    I know that ONLY_BEST is there, but I understood that the default
    was to keep the same behaviour as before, and show a warning
    asking for a "definition".
    But that is not what I experience. See this command lines:

    echo 39 -3 0 | PROJ_DEBUG=2 PROJ_NETWORK=OFF cs2cs EPSG:4326+5773
    EPSG:4326+5782
    pj_open_lib(proj.ini): call
    fopen(/home/jshaw/work/PROJ/install-sh/share/proj/proj.ini) -
    succeeded
    pj_open_lib(proj.db): call
    fopen(/home/jshaw/work/PROJ/install-sh/share/proj/proj.db) -
    succeeded
    pj_open_lib(us_nga_egm96_15.tif): call fopen(us_nga_egm96_15.tif)
    - failed
    pj_open_lib(egm96_15.gtx): call fopen(egm96_15.gtx) - failed
    pj_open_lib(es_ign_egm08-rednap.tif): call
    fopen(es_ign_egm08-rednap.tif) - failed
    pj_open_lib(es_2019m.asc): call fopen(es_2019m.asc) - failed
    pj_open_lib(es_2019z.asc): call fopen(es_2019z.asc) - failed
    pj_open_lib(us_nga_egm96_15.tif): call fopen(us_nga_egm96_15.tif)
    - failed
    pj_open_lib(egm96_15.gtx): call fopen(egm96_15.gtx) - failed
    pj_open_lib(es_ign_egm08-rednap.tif): call
    fopen(es_ign_egm08-rednap.tif) - failed
    Attempt to use coordinate operation Inverse of WGS 84 to EGM96
    height (1) + ETRS89 to Alicante height (1) using ETRS89 to WGS 84
    (1) failed. Grid es_ign_egm08-rednap.tif is not available.
    Consult https://proj.org/resource_files.html for guidance. Grid
    us_nga_egm96_15.tif is not available. Consult
    https://proj.org/resource_files.html for guidance. This might
    become an error in a future PROJ major release. Set the ONLY_BEST
    option to YES or NO. This warning will no longer be emitted (for
    the current transformation instance).
    * * inf


    echo 39 -3 0 | PROJ_DEBUG=2 PROJ_ONLY_BEST_DEFAULT=NO
    PROJ_NETWORK=OFF cs2cs EPSG:4326+5773 EPSG:4326+5782
    pj_open_lib(proj.ini): call
    fopen(/home/jshaw/work/PROJ/install-sh/share/proj/proj.ini) -
    succeeded
    pj_open_lib(proj.db): call
    fopen(/home/jshaw/work/PROJ/install-sh/share/proj/proj.db) -
    succeeded
    pj_open_lib(us_nga_egm96_15.tif): call fopen(us_nga_egm96_15.tif)
    - failed
    pj_open_lib(egm96_15.gtx): call fopen(egm96_15.gtx) - failed
    pj_open_lib(es_ign_egm08-rednap.tif): call
    fopen(es_ign_egm08-rednap.tif) - failed
    pj_open_lib(es_2019m.asc): call fopen(es_2019m.asc) - failed
    pj_open_lib(es_2019z.asc): call fopen(es_2019z.asc) - failed
    39.00 -3.00 0.00


    echo 39 -3 0 | PROJ_DEBUG=2 PROJ_NETWORK=ON cs2cs EPSG:4326+5773
    EPSG:4326+5782
    pj_open_lib(proj.ini): call
    fopen(/home/jshaw/work/PROJ/install-sh/share/proj/proj.ini) -
    succeeded
    pj_open_lib(proj.db): call
    fopen(/home/jshaw/work/PROJ/install-sh/share/proj/proj.db) -
    succeeded
    pj_open_lib(us_nga_egm96_15.tif): call fopen(us_nga_egm96_15.tif)
    - failed
    pj_open_lib(egm96_15.gtx): call fopen(egm96_15.gtx) - failed
    pj_open_lib(us_nga_egm96_15.tif): call fopen(us_nga_egm96_15.tif)
    - failed
    pj_open_lib(egm96_15.gtx): call fopen(egm96_15.gtx) - failed
    Using https://cdn.proj.org/us_nga_egm96_15.tif
    pj_open_lib(es_ign_egm08-rednap.tif): call
    fopen(es_ign_egm08-rednap.tif) - failed
    pj_open_lib(es_2019m.asc): call fopen(es_2019m.asc) - failed
    pj_open_lib(es_2019z.asc): call fopen(es_2019z.asc) - failed
    pj_open_lib(es_ign_egm08-rednap.tif): call
    fopen(es_ign_egm08-rednap.tif) - failed
    Using https://cdn.proj.org/es_ign_egm08-rednap.tif
    pj_open_lib(us_nga_egm96_15.tif): call fopen(us_nga_egm96_15.tif)
    - failed
    pj_open_lib(egm96_15.gtx): call fopen(egm96_15.gtx) - failed
    Using https://cdn.proj.org/us_nga_egm96_15.tif
    pj_open_lib(es_ign_egm08-rednap.tif): call
    fopen(es_ign_egm08-rednap.tif) - failed
    Using https://cdn.proj.org/es_ign_egm08-rednap.tif
    39.00 -3.00 0.30


    The behaviour in 9.1.0 was the same as with
    "PROJ_ONLY_BEST_DEFAULT=NO", that is what I was expecting now
    (plus warning message).

    Am I missing something? Is this a bug?

    Thanks.

    .___ ._ ..._ .. . ._.  .___ .. __ . _. . __..  ... .... ._ .__

    _______________________________________________
    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.

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