Yes, I can see that there definitely are advantages to a ZIP format from the 
point of view of accessing the contents from other programs or a command line 
interface. 

I think either would be as easy from within QGIS - an Sqlite blob can be used 
pretty much as a file stream so any arbitrary content could be embedded in the 
Sqlite database.  I guess it depends whether you want to get at the spatial 
data more easily, by using the Sqlite option, or the other contents, by using 
the zip option.  I think that you are right, that the zip option is probably 
more useful for a project file.  And as you point out, it is an approach used 
by other software too.

If we are going the zip route, I wonder if it would be a better idea to 
serialize the memory data to a QDataStream represented as a file in the zip 
archive, rather than as a spatialite database.  The thought here is that it 
could then be read directly from the zip archive (as it would be read 
sequentially to reload), whereas an Sqlite database would probably need to be 
extracted to a temporary file to use.  And the saved layer would remain a 
memory provided layer that way too, rather than an Sqlite layer, so the 
reinstated project would be a more accurate copy of the one originally saved.

Cheers
Chris
________________________________________
From: Martin Dobias [wonder...@gmail.com]
Sent: 05 December 2010 06:07
To: Chris Crook
Cc: qgis-developer@lists.osgeo.org
Subject: Re: [Qgis-developer] Memory data provider persistence

Hi Chris

On Sat, Dec 4, 2010 at 3:35 AM, Chris Crook <ccr...@linz.govt.nz> wrote:
> Another way to achieve a similar result could be to embed the project file in 
> the spatialite database?  That would make the memory provider data easier to 
> use - basically it just becomes a spatialite provided layer.  The project 
> itself becomes harder to manually edit, if you wanted to do so.  However it 
> could easily be exported to a separate file if that is required.  And the 
> whole thing could still be zipped if you wanted to.

This would be also a solution, though I would prefer the former
approach with a ZIP file containing the project XML and other files.
The advantages I see here is that it would be simpler to store various
other types of data - with the project we could store also raster
layers, SVGs for symbols or any other blobs. Loading and saving these
data from/to sqlite database would be a bit cumbersome compared to an
archive.

Regards
Martin
______________________________________________________________________________________________________

This message contains information, which is confidential and may be subject to 
legal privilege. 
If you are not the intended recipient, you must not peruse, use, disseminate, 
distribute or copy this message.
If you have received this message in error, please notify us immediately (Phone 
0800 665 463 or i...@linz.govt.nz) and destroy the original message.
LINZ accepts no responsibility for changes to this email, or for any 
attachments, after its transmission from LINZ.

Thank you.
______________________________________________________________________________________________________
_______________________________________________
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to