rindex
Rindex: dynamic spatial index for efficiently maintaining k nearest neighbors graph of multi-dimensional clustered datasets.
Usage
The following example shows how to maintain k nearest neighbors using Rindex:
use Rindex;
Both insertion and deletion operations dynamically updates the k nearest neighbors for all remaining points efficiently (see the references below).
The insertion algorithm returns an id of the newly-inserted point, store it for later usage, e.g. to delete the point:
use Rindex;
The traditional query operations are supported in addition to the reverse nearest neighbors query:
use Rindex;
References
Rindex combines the algorithms presented in the following papers:
[1] Beckmann, N., Kriegel, H.P., Schneider, R. and Seeger, B., 1990, May. The R*-tree: An efficient and robust access method for points and rectangles. In Proceedings of the 1990 ACM SIGMOD international conference on Management of data (pp. 322-331).
[2] White, D.A. and Jain, R., 1996, February. Similarity indexing with the SS-tree. In Proceedings of the Twelfth International Conference on Data Engineering (pp. 516-523). IEEE.
[3] Yang, C. and Lin, K.I., 2001, April. An index structure for efficient reverse nearest neighbor queries. In Proceedings 17th International Conference on Data Engineering (pp. 485-492). IEEE.
License
This project is licensed under the Apache License, Version 2.0 - See the LICENSE.md file for details.