A query-only R-tree created using the Sort-Tile-Recursive (STR) algorithm. For two-dimensional spatial data.
More...
|
| SimpleSTRtree (std::size_t capacity=10) |
|
std::size_t | getNodeCapacity () const |
|
std::size_t | getNumLeafNodes () const |
|
bool | getBuilt () const |
|
SimpleSTRnode * | getRoot () |
|
void | insert (geom::Geometry *geom) |
|
void | insert (const geom::Envelope *itemEnv, void *item) override |
| Adds a spatial item with an extent specified by the given Envelope to the index.
|
|
void | iterate (ItemVisitor &visitor) |
|
void | query (const geom::Envelope *searchEnv, std::vector< void * > &matches) override |
| Queries the index for all items whose extents intersect the given search Envelope.
|
|
void | query (const geom::Envelope *searchEnv, ItemVisitor &visitor) override |
| Queries the index for all items whose extents intersect the given search Envelope and applies an ItemVisitor to them.
|
|
bool | remove (const geom::Envelope *searchBounds, void *item) override |
| Removes a single item from the tree.
|
|
std::pair< const void *, const void * > | nearestNeighbour (ItemDistance *itemDist) |
|
const void * | nearestNeighbour (const geom::Envelope *env, const void *item, ItemDistance *itemDist) |
|
std::pair< const void *, const void * > | nearestNeighbour (SimpleSTRtree &tree, ItemDistance *itemDist) |
|
bool | isWithinDistance (SimpleSTRtree &tree, ItemDistance *itemDist, double maxDistance) |
|
A query-only R-tree created using the Sort-Tile-Recursive (STR) algorithm. For two-dimensional spatial data.
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.