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 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.