[PROJ] general use of proj_factors
Roger Oberholtzer
roger.oberholtzer at gmail.com
Fri Oct 25 02:17:41 PDT 2024
On Fri, Oct 25, 2024 at 10:59 AM Javier Jimenez Shaw <j1 at jimenezshaw.com> wrote:
>
> This is just a guess based on what I remember from the implementation.
>
> if it has the "+type=crs", it would be understood as a CRS (makes sense). In that case, it creates some auxiliary objects to compute the transformation from the geographic to the projected, and call itself with that transformation (yes, it is a recursive call).
> Apparently the creation of those auxiliary objects to generate the transformation is more expensive than the computation of the factors themselves (it makes sense: the computation of the factors is "just" some mathematical operations, that the CPU can do very efficiently. Creating objects is something else).
I suspected something like that must be going on. So I will continue
my efforts at getting the required definition without the +type=crs.
My thought is to do something like:
PJ *tmp = proj_create("EPSG:5678");
PJ_PROJ_INFO info = proj_pj_info(tmp);
PJ *used = proj_create(info.definition);
proj_destroy(tmp);
Where 'used' will be used in the proj_factors() call. It seems the
info.definition string does not contain the +type=crs . Is there no
way to get the definition without the call ti proj_create? Like with
the "EPSG:5678" directly?
I'm still checking if this works.
Thanks all for the feedback.
--
Roger Oberholtzer
More information about the PROJ
mailing list