<div dir="ltr"><div>Thanks Even for the quick fix.<br></div><div><br></div><div>Is there a way in C++ to set the option to "NO" or "YES"?</div><div>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)<br></div><div>I would like to set the behaviour directly in the C++ code. Is that possible?</div><div><br></div><div>Thanks<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 12 Apr 2023 at 19:24, Even Rouault <<a href="mailto:even.rouault@spatialys.com" target="_blank">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">
<div>
<p>Hi Javier,</p>
<p>Fixed per <a href="https://github.com/OSGeo/PROJ/pull/3707" target="_blank">https://github.com/OSGeo/PROJ/pull/3707</a></p>
<p>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...</p>
<p>Even<br>
</p>
<div>Le 12/04/2023 à 16:46, Javier Jimenez
Shaw a écrit :<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Hi</div>
<div><br>
</div>
<div>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:</div>
<div>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.</div>
<div>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".</div>
<div>But that is not what I experience. See this command lines:</div>
<div><br>
</div>
<div>
<div><span style="font-family:monospace">echo 39 -3 0 |
PROJ_DEBUG=2 PROJ_NETWORK=OFF cs2cs EPSG:4326+5773
EPSG:4326+5782<br>
pj_open_lib(proj.ini): call
fopen(/home/jshaw/work/PROJ/install-sh/share/proj/proj.ini)
- succeeded<br>
pj_open_lib(proj.db): call
fopen(/home/jshaw/work/PROJ/install-sh/share/proj/proj.db)
- succeeded<br>
pj_open_lib(us_nga_egm96_15.tif): call
fopen(us_nga_egm96_15.tif) - failed<br>
pj_open_lib(egm96_15.gtx): call fopen(egm96_15.gtx) -
failed<br>
pj_open_lib(es_ign_egm08-rednap.tif): call
fopen(es_ign_egm08-rednap.tif) - failed<br>
pj_open_lib(es_2019m.asc): call fopen(es_2019m.asc) -
failed<br>
pj_open_lib(es_2019z.asc): call fopen(es_2019z.asc) -
failed<br>
pj_open_lib(us_nga_egm96_15.tif): call
fopen(us_nga_egm96_15.tif) - failed<br>
pj_open_lib(egm96_15.gtx): call fopen(egm96_15.gtx) -
failed<br>
pj_open_lib(es_ign_egm08-rednap.tif): call
fopen(es_ign_egm08-rednap.tif) - failed<br>
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 <a href="https://proj.org/resource_files.html" target="_blank">https://proj.org/resource_files.html</a>
for guidance. Grid us_nga_egm96_15.tif is not available.
Consult <a href="https://proj.org/resource_files.html" target="_blank">https://proj.org/resource_files.html</a>
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).<br>
* * inf<br>
</span></div>
<div><span style="font-family:monospace"><br>
</span></div>
<div><span style="font-family:monospace"><br>
</span></div>
<div><span style="font-family:monospace">echo 39 -3 0 |
PROJ_DEBUG=2 PROJ_ONLY_BEST_DEFAULT=NO PROJ_NETWORK=OFF
cs2cs EPSG:4326+5773 EPSG:4326+5782<br>
pj_open_lib(proj.ini): call
fopen(/home/jshaw/work/PROJ/install-sh/share/proj/proj.ini)
- succeeded<br>
pj_open_lib(proj.db): call
fopen(/home/jshaw/work/PROJ/install-sh/share/proj/proj.db)
- succeeded<br>
pj_open_lib(us_nga_egm96_15.tif): call
fopen(us_nga_egm96_15.tif) - failed<br>
pj_open_lib(egm96_15.gtx): call fopen(egm96_15.gtx) -
failed<br>
pj_open_lib(es_ign_egm08-rednap.tif): call
fopen(es_ign_egm08-rednap.tif) - failed<br>
pj_open_lib(es_2019m.asc): call fopen(es_2019m.asc) -
failed<br>
pj_open_lib(es_2019z.asc): call fopen(es_2019z.asc) -
failed<br>
39.00 -3.00 0.00</span></div>
<div><span style="font-family:monospace"><br>
</span></div>
<div><span style="font-family:monospace"><br>
</span></div>
</div>
<div><span style="font-family:monospace">echo 39 -3 0 |
PROJ_DEBUG=2 PROJ_NETWORK=ON cs2cs EPSG:4326+5773
EPSG:4326+5782<br>
pj_open_lib(proj.ini): call
fopen(/home/jshaw/work/PROJ/install-sh/share/proj/proj.ini)
- succeeded<br>
pj_open_lib(proj.db): call
fopen(/home/jshaw/work/PROJ/install-sh/share/proj/proj.db) -
succeeded<br>
pj_open_lib(us_nga_egm96_15.tif): call
fopen(us_nga_egm96_15.tif) - failed<br>
pj_open_lib(egm96_15.gtx): call fopen(egm96_15.gtx) - failed<br>
pj_open_lib(us_nga_egm96_15.tif): call
fopen(us_nga_egm96_15.tif) - failed<br>
pj_open_lib(egm96_15.gtx): call fopen(egm96_15.gtx) - failed<br>
Using <a href="https://cdn.proj.org/us_nga_egm96_15.tif" target="_blank">https://cdn.proj.org/us_nga_egm96_15.tif</a><br>
pj_open_lib(es_ign_egm08-rednap.tif): call
fopen(es_ign_egm08-rednap.tif) - failed<br>
pj_open_lib(es_2019m.asc): call fopen(es_2019m.asc) - failed<br>
pj_open_lib(es_2019z.asc): call fopen(es_2019z.asc) - failed<br>
pj_open_lib(es_ign_egm08-rednap.tif): call
fopen(es_ign_egm08-rednap.tif) - failed<br>
Using <a href="https://cdn.proj.org/es_ign_egm08-rednap.tif" target="_blank">https://cdn.proj.org/es_ign_egm08-rednap.tif</a><br>
pj_open_lib(us_nga_egm96_15.tif): call
fopen(us_nga_egm96_15.tif) - failed<br>
pj_open_lib(egm96_15.gtx): call fopen(egm96_15.gtx) - failed<br>
Using <a href="https://cdn.proj.org/us_nga_egm96_15.tif" target="_blank">https://cdn.proj.org/us_nga_egm96_15.tif</a><br>
pj_open_lib(es_ign_egm08-rednap.tif): call
fopen(es_ign_egm08-rednap.tif) - failed<br>
Using <a href="https://cdn.proj.org/es_ign_egm08-rednap.tif" target="_blank">https://cdn.proj.org/es_ign_egm08-rednap.tif</a><br>
39.00 -3.00 0.30</span><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>The behaviour in 9.1.0 was the same as with "<span style="font-family:monospace">PROJ_ONLY_BEST_DEFAULT=NO"</span><font face="arial,sans-serif">, that is what I was expecting now
(plus warning message).</font></div>
<div><font face="arial,sans-serif"><br>
</font></div>
<div><font face="arial,sans-serif">Am I missing something? Is
this a bug?</font></div>
<div><font face="arial,sans-serif"><br>
</font></div>
<div><font face="arial,sans-serif">Thanks.<br>
</font></div>
<div><br>
</div>
<div>
<div>
<div dir="ltr">
<div dir="ltr">
<div>.___ ._ ..._ .. . ._. .___ .. __ . _. . __.. ...
.... ._ .__</div>
</div>
</div>
</div>
</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>