[Proj] Use of SQLite

Even Rouault even.rouault at spatialys.com
Mon May 21 05:52:53 EST 2018


As you know, as part of the improvements described at https://gdalbarn.com/,
we plan to use a SQLite database as a replacement for proj's 'epsg' and other
dictionary files.
Before concrete work is done in that direction, I'd like to make sure we can come
to a concensus on that.

There are many reasons for the SQLite choice, especially:
- unification of CRS databases: currently libgeotiff, GDAL, proj, QGIS have their own copy of
  more or less the same CRS definitions. People are often confused on where to make changes.
- libgeotiff, GDAL, proj definitions come in text files (CSV or custom proj format). Extracting a
record in those is in average linear with the size of the database, whereas log(N) performance
can be achiveed with a properly indexed database (that said: probably not a huge issue in practice
given the limited size of those databases), but the big advantage of SQLite is that it brings
naturally a powerful language to request the database.

So the idea would be to import the tables from a EPSG database dump (potentially not
in their raw form, but in a modified form to comply with current EPSG Term of Services.
We are working with IOGP on that issue) and add auxiliary tables/columns to define:
- overrides
- other CRS catalogs which we have in standalone files: ignf, esri_extra
- additional CRS definitions
- prefered CRS conversion steps/pipelines
- location of grids
- other things [1]
The exact DB layout is yet to be defined.


More information about the Proj mailing list