[QGIS-Developer] srs.db

Martin Dobias wonder.sk at gmail.com
Tue Dec 12 08:07:21 PST 2017

Hi devs!

Today I have been helping a QGIS user with a strange reprojection
error with misaligned layers. It turned out that their proj4
definition for EPSG:27700 (British National Grid) was having wrong
"towgs84" parameter ([1] instead of [2]). The incorrect definition is
stored in the srs.db in the github sources, obviously it gets
corrected when crssync is run. In the Arch Linux build recipe it seems
that crssync is not being run at all. Now I am wondering:

1. is there any reason why we need to keep srs.db in the sources,
rather than generating it during the build?
2. if there is any reason for it, would it make sense to replace the
binary DB by a text files with SQL commands so it is possible to track
changes in it?
3. going even further, maybe we should not ship srs.db at all and
build it on the first run and store it in the user's profile? From
what I understand it is essentially a cache of GDAL's CRS database...

The mechanism for running crssync seems a bit fragile - it is run as a
dependency of a unit test, so if tests are not enabled, it won't be
run automatically... It would be great if we could simplify the CRS db
generation somehow (as said above, ideally move it out of the build


[1] +towgs84=375,-111,431,0,0,0,0
[2] +towgs84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489

More information about the QGIS-Developer mailing list