Boost logo

Boost :

Subject: Re: [boost] Geometry and spatial indexes, my opinion
From: Federico J. Fernández (federico.fernandez_at_[hidden])
Date: 2008-10-09 08:07:44


>
> - You are able to find all elements within a certain range, if you mean by
>> range a box. Or you can use a box and then refine the result filtering out
>> the elements that are not in your area.
>>
>
> I meant it in a more abstract way. Usually a range is defined by a circle
> (rather than a box), but it could also be an area defined arbitrarily, so
> why not make it work with any geometrical object, using geometry::intersect
> and geometry::within in place of your overlap function?
> Maybe it would be more practical if geometry provided an overlap
> (not-completely-within) test function. Maybe having a search where you
> search for elements that are completely within an area is interesting too?
> In that case you might as well parameterize the criteria.

I understand. That's the plan, but it's not yet ready, I just wanted to
point out that there is some basic functionality about this.

insert the envelopes of arbitrary geometries and a pointer to the real
>> object as the data. Maybe it's not the best interface to do this, but a
>> lot
>> of libraries (i.e. GEOS) use this approach.
>>
> - About "Being able to index arbitrary objects and not just points". You
> can
>
> Which I can only do with R-trees and not Quadtrees, if I understand
> correctly.

Yes.

> It will still lead to approximations when computing distances and the like
> though, the actual object may be more far away than its minimal axis-aligned
> bounding box and thus the nearest neighbor search might return wrong
> results.

Yes, but we should be careful about the performance penalty of having
arbitrary geometries in the index and using different algorithms for
distances and other operations.

Cheers,

--
federico

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk