[GRASS-dev] vector libs: file based spatial index
Benjamin Ducke
benjamin.ducke at oxfordarch.co.uk
Wed Jun 24 04:06:08 EDT 2009
Great work!
In keeping with good GRASS traditions, I would suggest to have this
user-configurable via an env var. Perhaps:
GRASS_SPATIAL_INDEX =
AUTO (default: keep in mem if enough RAM available)
FILE
MEMORY
Cheers,
Ben
Moritz Lennert wrote:
> On 23/06/09 20:28, Markus GRASS wrote:
>> Paolo Cavallini wrote:
>>> Markus GRASS ha scritto:
>>>
>>>> What to do now? Leave it all in memory as in grass6, build in memory
>>>> then write out (risk of running out of memory on massive datasets), or
>>>> keep it always in file? I'll not commit any time soon (also waiting for
>>>> the lib/raster commotion to settle down), I need feedback on how to
>>>> proceed or if I should forget about it.
>>>>
>>> I think advice from Radim would be very useful here.
>>> All the best.
>>>
>> OK, let me rephrase. I think I have two alternatives to the current
>> implementation of the vector spatial index and would like to know if
>> grass7 should get 1) faster vector display and lower memory consumption
>> at the cost of (sometimes) slower vector processing [1], 2) faster
>> vector display, a similar speed in vector processing but keep the risk
>> of running out of memory when processing large datasets, or 3) no
>> changes to the spatial index. IMHO this should be a general decision of
>> the GRASS community, not of one or two developers.
>
> What size of vector data are we talking about concerning the risk of
> running out of memory ? Would it be possible to implement both 1) and 2)
> with 2) being the default and a flag to switch to 1) for very large
> vectors ?
>
> You wrote:
>> Considering that a file based spatial index is only useful for massive
>> vectors where memory can become a limiting factor, I hesitate to commit
>> to trunk.
>
> Well, I don't know what you call massive, but one of the main problems
> with the memory based index is that currently the spatial index is
> rebuilt for each run of v.what as it is stored no where. This makes
> querying large (e.g. 20-30.000 polygons) _very_ slow when using the GUI
> (which will be the only option in grass7 as xmons have disappeared).
>
> I'm not sure I understand everything correctly here, but I have the
> feeling that there are two questions here:
>
> 1) Should we have a file-based storage of the spatial index ? This can
> then be read into memory when necessary, which still should be faster
> than rebuilding it each time.
>
> To this I clearly say +1.
> The question here is: how to make sure the index is up to date ?
>
> 2) Should the entire treatment of the index be file-based, i.e. the
> index is never read into memory, but always accessed via file, with the
> speed penalties you spoke about.
>
> To this I would say, if we can have a file-based, permanent storage of
> the index, but read into memory for treatment, unless a flag says not to
> load it into memory, than this would probably be the ideal, within my
> limited understanding of the issue.
>
> Moritz
> _______________________________________________
> grass-dev mailing list
> grass-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-dev
>
>
--
Benjamin Ducke
Senior Geospatial Consultant
Oxford Archaeology
Janus House
Osney Mead
OX2 0ES
Oxford, U.K.
Tel: +44 (0)1865 263 800 (switchboard)
Tel: +44 (0)1865 980 758 (direct)
Fax :+44 (0)1865 793 496
benjamin.ducke at oxfordarch.co.uk
------
Files attached to this email may be in ISO 26300 format (OASIS Open Document Format). If you have difficulty opening them, please visit http://iso26300.info for more information.
More information about the grass-dev
mailing list