<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.19258"></HEAD>
<BODY>
<DIV><FONT size=2 face=Arial><SPAN class=642370120-14082012>Hi 
All</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=642370120-14082012></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=642370120-14082012>I maintain the 
MemoryLayerSaver plugin and I'm looking for some feedback on the next iteration 
of the plugin.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=642370120-14082012></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=642370120-14082012>Currently the plugin 
saves all memory provider layers as GML files alongside the project file, 
creating 2 files for each layer.  So for example there if there is a layer 
called scratch point then you might have files called</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=642370120-14082012></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=642370120-14082012>tms1.qgs<BR>tms1.qgs.md_Scratch_point20120814084820149.gml<BR>tms1.qgs.md_Scratch_point20120814084820149.xsd<BR></SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN class=642370120-14082012>This is done using 
the OGR GML driver, and the latest version of this has created some 
incompatibility issues.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=642370120-14082012></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=642370120-14082012>What I am proposing 
is to the replace the GML files with a single binary file, 
say</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=642370120-14082012></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=642370120-14082012>tms1.qgs</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=642370120-14082012>tms1.qgs.mldata</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=642370120-14082012></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=642370120-14082012>This 
will contain the data from all the memory layers, serialized in a portable 
but otherwise unusable binary format.  By portable here I mean that the 
project can be moved to a different machine/platform and the memory layers 
should load properly.  The file is only useful for reading the layers back 
into QGIS, not for accessing the data with any other utilities.  I 
believe that this is consistent with the intent of memory layers - they are just 
for working on in QGis - and if you want to save them to another format then 
you save them to the format of your choice from QGis.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=642370120-14082012></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=642370120-14082012>I will upload an 
experimental version 2.0 of the plugin which implements this to 
plugins.qgis.org</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=642370120-14082012></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=642370120-14082012>I have considered 
another format, which is an SQLite database.  However this creates another 
set of issues in mapping layers, data types, etc to SQLite formats and back 
again.  I probably would not use spatialite, as this would add another 
dependency on the Memory Layer Saver.  Ideally the MemoryLayerSaver should 
be a core C++ plugin, so that it has no other dependencies (ie doesn't depend on 
python either).</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=642370120-14082012></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=642370120-14082012>Any thoughts or 
feedback on this direction are welcome.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=642370120-14082012></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=642370120-14082012>Thanks</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=642370120-14082012>Chris</DIV></SPAN></FONT><div><p>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 info@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.</p></div></BODY></HTML>