Block KD-tree, implementing the generic spatial data structure described in this paper.
Interface Summary Interface Description PointReaderOne pass iterator through all points previously written with a
PointWriter, abstracting away whether points are read from (offline) disk or simple arrays in heap.
PointValueRepresents a dimensional point value written in the BKD tree. PointWriterAppends many points, and then at the end provides a
PointReaderto iterate those points.
Class Summary Class Description BKDConfigBasic parameters for indexing points on the BKD tree. BKDRadixSelectorOffline Radix selector for BKD tree. BKDRadixSelector.PathSliceSliced reference to points in an PointWriter. BKDReaderHandles intersection of an multi-dimensional shape in byte space with a block KD-tree previously written with
DocIdSetIteratorto handle low cardinality leaves.
BKDReader.IntersectStateUsed to track all state for a single call to
BKDWriterRecursively builds a block KD-tree to assign all incoming points in N-dim space to smaller and smaller N-dim rectangles (cells) until the number of points in a given rectangle is <=
HeapPointReaderUtility class to read buffered points from in-heap arrays. HeapPointWriterUtility class to write new points into in-heap arrays. MutablePointsReaderUtilsUtility APIs for sorting and partitioning buffered points. OfflinePointReaderReads points from disk in a fixed-with format, previously written with
OfflinePointWriterWrites points to disk in a fixed-with format.