New Features
- Support for nearest neighbor searching on RTrees with
neighbors
. - Join two RTrees together with
tree_join
, finding their overlapping elements. This is the first part of a spatial join: to find which elements from two different data sources potentially intersect. - Extract partitioning structure from the underlying RTree with
partitions
and see the partition geometries withpartition_boxes
. - Expose
RTreeMetadata
andKDTreeMetadata
. These allow you to infer the memory usage a tree would incur. - Access the internal boxes within the RTree for inspecting the tree internals with
boxes_at_level
. - Implement the buffer protocol on
RTree
andKDTree
. This means you can copy the underlying buffer to Python withbytes(tree)
.
Breaking
- Move RTree and KDTree query functions to standalone global functions. This makes it easier to persist index buffers and reuse them later, because the query functions work on any object supporting the buffer protocol.
- Create "builder" classes:
RTreeBuilder
andKDTreeBuilder
. Having these as separate classes allows for iteratively adding the coordinates for an RTree or KDTree. This is useful when the source geometries are larger than fits in memory.
Documentation
- New documentation website for Python bindings.
New Contributors
- @H-Plus-Time made their first contribution in #55
Full Changelog: py-v0.1.0...py-v0.2.0