<!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>