[PROJ] Performance of proj_create_crs_to_crs()

Paul Ramsey pramsey at cleverelephant.ca
Sun Feb 17 07:24:47 PST 2019


So, having gotten all the axis swapping tap dancing working, I went to
run some of my favourite transforms around BC, finishing up with one
of my favourites...

  st_transform('SRID=3005;POINT(1000000 0)',4267)

This takes a point from a NAD83 projected system (EPSG:3005) to a
NAD27 geodetic system (EPSG:4267).

Here's the crazy part: this transformation takes 400ms, and the time
is all spend in in proj, getting the PJ.

I ran 20-30 of them in a row and captured the workload in Instruments
in case these function calls ring any bells WRT overhead,

https://pasteboard.co/I1AXN5b.png

Fortunately for bulk conversion PostGIS already caches the projection
object, in fact most of my work this week was in renovating that part
of the code, but older versions of Proj are much much faster in
resolving projections from projection strings.

Thoughts?


More information about the PROJ mailing list