Hi Martin

One option you could use is to install the MemoryLayerSaver plugin.  That saves 
the data for all memory layers in a project into a file named after the project 
file.

Cheers
Chris
________________________________________
From: Qgis-developer [[email protected]] On Behalf Of 
Martin Landa [[email protected]]
Sent: 11 October 2016 05:59
To: qgis-dev
Subject: [Qgis-developer] memory-based layers and projects

Hi,

I have plugin which creates memory based layer and loads data into
this layer using its own reader.

"""
class MyLayer(QgsVectorLayer):
    def __init__(self, name):
        super(MyLayer, self).__init__('Point?crs=epsg:4326',
                                            name,
                                            'memory')

    def load(self, reader):
        for f in reader:
            self._process_row(f) # add features to the map layer
"""
r
The problem occures when user stores such layer in the project. Then
the project file contains only:

"""
     
<datasource>memory?geometry=Point&amp;crs=EPSG:4326&amp;field=ader_microSvh:(0,0)...</datasource>
"""

So after loading the project, empty layer appears (with defined
attributes), but with no points loaded. Is there any way how to define
for such layer python code which would perform loading points using
plugin reader when opening a project?

Of course plugin could store (export) loaded data eg. into SQLite DB,
but this is not the way I would like to go.

Thanks in advance for any pointers, Martin

--
Martin Landa
http://geo.fsv.cvut.cz/gwiki/Landa
http://gismentors.cz/mentors/landa
_______________________________________________
Qgis-developer mailing list
[email protected]
List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer

This message contains information, which may be in confidence 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 
[email protected]) 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
[email protected]
List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to