On Mon, Dec 6, 2010 at 10:45 AM, Barry Rowlingson <[email protected]> wrote: > On Mon, Dec 6, 2010 at 2:04 AM, Chris Crook <[email protected]> wrote: > >> So, for my requirement for memory provider persistance, the only real >> question is what is the right way to do it. Although Martin had suggested a >> spatialite database, my leaning is towards a simple QDataStream. A simple >> implementation could be (in crude pseudo code) >> >> Qstring header("Qgis data file"); >> Int version = 1; >> stream << header << version; >> >> Foreach memory_provider >> if provider < persist >> stream << layer_id >> stream << attribute_count >> foreach attribute >> stream << attribute_definition >> stream << feature_count >> foreach feature >> stream << feature >> >> This could readily be reloaded after the XML project file is read. >> >> Because it is processed sequentially it would sit comfortably in a ZIP file >> and be sequentially read from it without needing to be extracted and then >> processed (as a spatialite database would need to be). It is portable >> between OS etc. >> >> If the user actually wants a spatialite database, or any other format, then >> they can save the layer to that. >> >> How does this sound to people? > > It sounds like you're just creating another spatial data format. Why > not, on project exit, just go "You have unsaved memory data layers - > would you like them converted to [gml|shapefile|spatialite|whatever] > and reloaded before saving/qutting or do you want to lose them > forever?".
I completely agree with Barry - to me it looks like a waste of time to invent a new data format - exclusively readable just by QGIS - and intended just to load/store some data from/to memory provider. Additionally, memory provider was thought to represent just temporary (nonpersistent) data - so asking the user to convert it to some other format when exiting seems reasonable to me. Regards Martin _______________________________________________ Qgis-developer mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/qgis-developer
