[PROJ] specifying the search paths

Roger Bivand Roger.Bivand at nhh.no
Wed Jul 1 07:24:12 PDT 2020


I have a question about the use of 
proj_context_set_search_paths(PJ_DEFAULT_CTX, ...). On initiating PRØJ, I 
see from proj_info().searchpath that (now 7.1.0) I have three paths, the 
last two identical /usr/local/share/proj, and the first 
$HOME/.local/share/proj - which contains a cache.db.

For testing on other platforms than my own, I need to change the first 
path to a temporary directory with write access, so that I do not write in 
the user space of the test platform. So I use 
proj_context_set_search_paths(PJ_DEFAULT_CTX, ...), providing the correct 
length of the vector of paths, and the paths themselves. The 
user-writeable path is first, as at startup. It, however, does not contain 
a cache.db file, even of zero length. After finding a coordinate operation 
(using a grid cached in $HOME/.local/share/proj), the temporary directory 
remains empty, $HOME/.local/share/proj is used despite not being on the 
active path list, and the operation completes successfully.

This is, however, not what I need - I need the download to occur to the 
temporary directory, so that I can demonstrate that cache.db gets 
populated.

May libproj be caching paths so that even if the path to the use-writeable 
directory has been set, it still uses the one determined on load, even if 
it had been renamed and is not on the this of search paths? I find the 
default use-writeable directory being re-created even when it is not on 
the declared list of search paths. I'm only using PJ_DEFAULT_CTX - is that 
the problem?

Any advice gratefully received.

Roger

-- 
Roger Bivand
Department of Economics, Norwegian School of Economics,
Helleveien 30, N-5045 Bergen, Norway.
voice: +47 55 95 93 55; e-mail: Roger.Bivand at nhh.no
https://orcid.org/0000-0003-2392-6140
https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en


More information about the PROJ mailing list