[gdal-dev] Global state for datum grid access?

Edzer Pebesma edzer.pebesma at uni-muenster.de
Thu Sep 14 06:12:29 PDT 2023


Thanks a lot, Even, I missed those. Many regards,

On 14/09/2023 14:30, Even Rouault wrote:
> Edzer,
> 
> Le 14/09/2023 à 13:52, Edzer Pebesma a écrit :
>> This came up here: https://github.com/r-spatial/sf/issues/2166
>>
>> It seems to me that GDAL queries PROJ's ability to access the network 
>> for datum grids once, and remembers that. That means that applications 
>> can't switch this on and off on demand and expect GDAL to follow. Is 
>> this the case? If this is the case, is there a way applications can 
>> ask GDAL what this state is?
> 
> The first time, per thread, GDAL uses PROJ it will inherit the network 
> settings from PROJ when creating its per-thread PROJ context.
> 
> The current status can be queried with OSRGetPROJEnableNetwork(): 
> https://gdal.org/api/ogr_srs_api.html#_CPPv423OSRGetPROJEnableNetworkv
> 
> and changed with OSRSetPROJEnableNetwork(): 
> https://gdal.org/api/ogr_srs_api.html#_CPPv423OSRSetPROJEnableNetworki
> 
> 
> I see that sf_proj_network() calls CPL_enable_network() 
> (https://github.com/r-spatial/sf/blob/f36bd2f7273ace6d244e401b760291a3dc195c3c/src/proj.cpp#L193) which calls proj_context_set_enable_network() on the default PROJ context. If this is done before any GDAL use (or more exactly any use of PROJ by GDAL), then it is OK. But if it is called afterwards, GDAL will have created its own PROJ context, and later changes to the default PROJ context will not affect it anymore. Presumably sf_proj_network() or CPL_enable_network() should call OSRSetPROJEnableNetwork() as well if the intent if that this affects both pure-PROJ and PROJ-through-GDAL uses.
> 
> Even
> 
> -- 
> http://www.spatialys.com
> My software is free, but my time generally not.
> 
> 
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/gdal-dev

-- 
Edzer Pebesma (he/him)
University Münster, Institute for Geoinformatics
Heisenbergstrasse 2, 48149 Münster, Germany
Phone: +49 251 8333081


More information about the gdal-dev mailing list