[QGIS-Developer] GeoPackage - where are we -where do we go

Matthias Kuhn matthias at opengis.ch
Fri May 8 02:30:24 PDT 2020

Hi list,

I wondered about the state of GeoPackage. Personally, cince it has been 
introduced to qgis and evenmore since it has been selected as the 
default format, I have never grown to fully and completely.

I do not want to trigger a evangelical discussion here. I'd like to see 
where we are and what we can reasonably do to have a default file format 
which can be recommended with no bad feelings.

Here follow a couple of observations over the years, some of them 
properties of the specs I believe:

* The fid requirement

   I sometimes want my features to be identified by uuids or others. 
They also tend to accumulate if derived datasets are created (through 
processing etc). If I need some pseudo stable primary key there is a 
rowid builtin into sqlite, we don't need a second one.

   Possible mitigation: alter the ogr implementation. possibly alter the 
standard (required?)

* The modification on r/o open

   Has caused too much pain on git.

   Possible mitigation: a) switch to journal mode=delete (not an easy 
option because of https://issues.qgis.org/issues/15351) b) only switch 
to wal mode when layers are put into edit mode (I have strong doubts 
this is a safe thing to do)

* The network share freeze

   Our default file should play nicely with (windows) network shares. 
It's clear to everyone that we can't expect concurrent writes. But it 
should "just work" for concurrent read by many.

   Possible mitigation: switch to journal mode=delete for network shares 
(we are looking into this)

* The wal file appearing next to the file

   It is confusing to newcomers and looks almost like a sidecar file. I 
would care less if it was put into some system cache folder instead of 
just into my data folder. Or at least if it was a hidden file.

   Possible mitigation: switch to journal mode=delete (not an easy 
option because of https://issues.qgis.org/issues/15351)

* The couple of corrupted files I have received over the years which 
could only be repaired by a command line "dump contents as sql and 
execute into new file"

   I have not found a way to reproduce this. Some of them were produced 
by older qgis versions making it easy to violate foreign key constraints 
and hard to recover. This has been fixed.

   Possible mitigation: offer a "repair" option in qgis. Through 
processing or "on the fly" upon detection.

*Default value magic replace values on insert (with no possibility to 
pre-evaluate them)

   E.g. a global sequence like on postgres would be nice. Can be worked 
around through default values in qgis though.

   Possible mitigation: a)add it as a feature to sqlite. b) use qgis 
default values. c) live with it.

*The requirement for a single geometry column per table

   I just don't see a good reason to forbid that

   Possible mitigation: a) alter the standard. b) ignore the standard 
and patch the ogr implementation.

I wonder how others feel about these topics.

- Are there more pain points I forgot to list?

- Do you see more approaches to mitigate these problems?

- Is someone already working on these issues?

It would be great to have a standard file format that we can fully 
trust. Let's make a reality check if GeoPackage can be this format.

Best regards

Matthias Kuhn
matthias at opengis.ch <mailto:matthias at opengis.ch>
+41 (0)76 435 67 63 <tel:+41764356763>
OPENGIS.ch Logo <http://www.opengis.ch>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20200508/98abc72c/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 6671 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20200508/98abc72c/attachment-0001.png>

More information about the QGIS-Developer mailing list