[PROJ] Change in behaviour (ONLY_BEST option)

Javier Jimenez Shaw j1 at jimenezshaw.com
Wed Apr 12 11:57:16 PDT 2023


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?

Thanks

On Wed, 12 Apr 2023 at 19:24, Even Rouault <even.rouault at spatialys.com>
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 listPROJ at lists.osgeo.orghttps://lists.osgeo.org/mailman/listinfo/proj
>
> -- http://www.spatialys.com
> My software is free, but my time generally not.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/proj/attachments/20230412/52b09981/attachment-0001.htm>


More information about the PROJ mailing list