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.