#include <STRtree.h>
Inheritance diagram for geos::index::strtree::STRtree:
Public Member Functions | |
STRtree (size_t nodeCapacity=10) | |
void | insert (const geom::Envelope *itemEnv, void *item) |
Adds a spatial item with an extent specified by the given Envelope to the index. | |
void | query (const geom::Envelope *searchEnv, std::vector< void * > &matches) |
Queries the index for all items whose extents intersect the given search Envelope. | |
void | query (const geom::Envelope *searchEnv, ItemVisitor &visitor) |
Queries the index for all items whose extents intersect the given search Envelope and applies an ItemVisitor to them. | |
bool | remove (const geom::Envelope *itemEnv, void *item) |
Removes a single item from the tree. | |
Static Public Member Functions | |
double | avg (double a, double b) |
double | centreY (const geom::Envelope *e) |
Protected Member Functions | |
AbstractNode * | createNode (int level) |
IntersectsOp * | getIntersectsOp () |
The STR packed R-tree is simple to implement and maximizes space utilization; that is, as many leaves as possible are filled to capacity. Overlap between nodes is far less than in a basic R-tree. However, once the tree has been built (explicitly or on the first call to query), items may not be added or removed.
Described in: P. Rigaux, Michel Scholl and Agnes Voisard. Spatial Databases With Application To GIS. Morgan Kaufmann, San Francisco, 2002.
|
Constructs an STRtree with the given maximum number of child nodes that a node may have |
|
Implements geos::index::strtree::AbstractSTRtree. |
|
Adds a spatial item with an extent specified by the given Envelope to the index.
Implements geos::index::SpatialIndex. |
|
Queries the index for all items whose extents intersect the given search Envelope and applies an ItemVisitor to them. Note that some kinds of indexes may also return objects which do not in fact intersect the query envelope.
Implements geos::index::SpatialIndex. |
|
Queries the index for all items whose extents intersect the given search Envelope. Note that some kinds of indexes may also return objects which do not in fact intersect the query envelope.
Implements geos::index::SpatialIndex. |
|
Removes a single item from the tree.
Implements geos::index::SpatialIndex. |