|
From: njh <nj...@nj...> - 2007-04-22 03:17:56
|
Sorry, that sounds a bit cranky - I am not normally like this (actually,
maybe I am). I blame my stupid cold that kept me up all night.
njh
On Sun, 22 Apr 2007, njh wrote:
> On Fri, 20 Apr 2007, Sunburned Surveyor wrote:
>
>> lib2geom spatial index. I want to have these in mind when I start to look at
>> the existing quadtree class.
>>
>> Requirement #1: The spatial index should not be limited to a fixed size.
>
> The existing quadtree does this.
>
>> Requirement #2: The spatial index should offer the ability for efficient
>> updates.
>
> It does this.
>
>> Requirement #3: The spatial index should present a simple API for its basic
>> functionality. In other words it shoud have a method that accepts a
>> rectangle or envelope and returns a list of the geometries that are
>> contained or intersected by that argument.
>
> And this.
>
>> What do you guys think? Am I missing anything?
>
>> From the manual:
>
> \chapter{2D databases}
>
> 2Geom provides an implementation of a 2D database using quad trees and
> using a list. Quad trees aren't the best data-structure for queries,
> but they usually out perform the linear list. We provide a
> standard interface for object databases with performance guarantees
> and provide a set of useful operations Operations:
>
> \begin{description}
> \item[Insert:] given a bounding box and a 'reference', insert into the db
> \item[Delete:] given a bounding box and a 'reference', delete from the db
> \item[Search:] given a box, find all objects that may interact with this
> box
> \item[Cast:] given a path (including rays) return a list of objects that
> interact with the path, roughly sorted by path order
> \item[Shape query:] given a closed path, find all objects whose bounding
> boxes intersect path. (this and cast are nearly the same)
> \item[Nearest:] given a point (or maybe box) find the nearest objects,
> perhaps as a generator to get all objects in order. To do this, we walk
> around the quad tree neighbourhood, pushing all the elements into a
> priority queue, while the queue is empty, move out a bit. Nearest could
> be manhattan, max norm or euc?
> \item[Binary:] take two dbs, generate all pairs that have intersecting
> boxes.
> \item[Sweep:] traverse the tree in say y order, maintaining a y-range of
> relevant objects. (to implement sweepline algorithms)
> \item[Walk:] traverse the tree in an arbitrary order.
> \end{description}
>
> njh
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Lib2geom-devel mailing list
> Lib...@li...
> https://lists.sourceforge.net/lists/listinfo/lib2geom-devel
>
|