GeospatialPointDatabase
implementations based on vantage point trees.See: Description
Class | Description |
---|---|
LockingVPTree<E extends GeospatialPoint> |
A
LockingVPTree is a thread-safe subclass of a VPTree . |
TreeIterator<E extends GeospatialPoint> | |
VPTree<E extends GeospatialPoint> |
A geospatial database that uses a vantage point tree as its storage
mechanism.
|
Exception | Description |
---|---|
PartitionException |
A
PartitionException is thrown when partitioning of a VPTree
node fails. |
Provides GeospatialPointDatabase
implementations based on vantage point trees.
Vantage point trees (or vp-trees) are data structures that perform binary
partitioning of a metric space. Vantage point trees can be constructed in O(n
log(n)) time and allow nearest-neighbor searches to execute in O(log(n))
time. The implementations included in this package implement the
Collection
interface and support all optional
operations.
This package includes two vp-tree implementations:
VPTree
and
LockingVPTree
. The former is
not thread safe, but can be expected to offer modestly
higher search throughput due to the absence of any overhead associated with
acquiring or releasing locks. The latter is thread-safe, but may offer lower
search throughput.
jeospatial is an open-source library hosted at https://github.com/jchambers/jeospatial.