Expand description
An R-tree spatial index over the geometry kernel.
Mirrors boost/geometry/index/rtree.hpp and the support headers
under boost/geometry/index/detail/. Stores any Indexable value
(a value with an axis-aligned bounding box) and answers spatial
queries — intersects / within / contains — and k-nearest-neighbour
search, pruning the tree with each node’s bounding box.
The split strategy is a type parameter of Rtree:
Quadratic (the default) or Linear. Bulk loading via
FromIterator uses Sort-Tile-Recursive packing for a balanced
tree in one pass.
Cartesian, 2D, f64 for v1 — see specs/rtree-split-decision.md.
Module layout:
bounds— the axis-aligned box arithmetic (area, enlargement, union, distance) the tree keys on.indexable— theIndexabletrait.node— the leaf / branchNodeenum.split— theSplitParametersstrategies.predicate— the queryPredicates.rtree— theRtreeand its insert / query / nearest / bulk load.
Re-exports§
pub use bounds::Bounds;pub use indexable::Indexable;pub use predicate::Predicate;pub use rtree::Rtree;pub use split::Linear;pub use split::Quadratic;pub use split::SplitParameters;
Modules§
- bounds
- The axis-aligned bounding box used for tree keys.
- indexable
- The
Indexabletrait — what can be stored in anRtree. - node
- Tree nodes: leaves hold values, branches hold child subtrees.
- predicate
- Spatial query predicates.
- rtree
- The
Rtreeitself — insert, spatial query, nearest-neighbour, and Sort-Tile-Recursive bulk load. - split
- Node-split strategies — the type parameter that governs tree shape.