[QGIS-Developer] How to Prevent GeoPackage file from updating modified date when viewed in a Qgis project when it is not being edited

rjwillson at gmail.com rjwillson at gmail.com
Mon Apr 9 20:04:18 PDT 2018


Re-directing this post from qgis user list to developer list

 

From: rjwillson at gmail.com <rjwillson at gmail.com> 
Sent: Monday, April 9, 2018 15:25
To: qgis-user at lists.osgeo.org
Subject: How to Prevent GeoPackage file from updating modified date when
viewed in a Qgis project when it is not being edited

 

I would really like to use and promote GeoPackage as the go to data format
in my organization but I am having the following problem that I haven't been
able to solve.

 

When ever someone opens a Q template project that has a layer with a
GeoPackage data source, the GeoPackage file (not its contents) will be
altered and it will show that it has been updated in the Windows file
manager. I have been told that this happens because the write ahead logging
has been triggered (creation of *.wal and *.shm) files by simply viewing the
contents of the GeoPackage in QGIS and/or in Intramaps Roam (works on top of
QGIS for tablets). 

 

This is problematic because most users in our organization will then look at
the windows modified date time stamp and conclude that the file's contents
have been modified. Additionally, all of the GIS layers are stored in
Dropbox and subsequently Dropbox concludes that the file has been modified
and it re-uploads a new copy of the GeoPackage. When it is a large
GeoPackage > 1 GB in size this is quite problematic and causes a cascade of
uploads and downloads.

 

Over the last few months I have tried to suppress this modification for the
large GeoPackages in our system in the following ways: (1) make the layer
read only in the QGIS project (no effect); (2) make the Dropbox folder read
only for all users except the Dropbox administrator (this is effective for
the large base layers); (3) change the properties of the file in windows to
read only (effective for the Dropbox administrator); and (4) add a user
variable to the windows system environment variables: OGR_SQLITE_JOURNAL =
DELETE (effective for QGIS but not for Intramaps Roam)

 

Combining 2, 3, and 4 allows me to use GeoPackage for layers I can ensure
are placed in the read-only Dropbox folders.

 

It is likely that my organization will never need the simultaneous editing
of datasets that is facilitated by Write-Ahead Logging, but I would really
like to be able to replace shapefiles and File geodatabases with GeoPackages
in all of our projects going forward.

 

Therefore, is there a simpler way to suppress the write ahead logging
behaviour that causes the files to believe they have been updated for all
GeoPackages created in QGIS or used in a QGIS project? 

 

If there is currently no way to do this, how do others adjust their
workflows so that they know when the contents of a GeoPackage have really
been modified versus just viewed by other users?

 

Rob

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20180409/5d2b830a/attachment.html>


More information about the QGIS-Developer mailing list