As part of the Database Technology course, we were asked to make a Java implementation of R*-tree index for OpenStreetMap data. Implemented two ways of creating the tree, bulk loading and node by node. Also implemented query algorithms such as Knn, Skyline and Range query.
The paper of the R*-tree: The R*-tree: An Efficient and Robust Access Method for Points and Rectangles by Norbert Beckmann, Hans-Peter begel, Ralf Schneider and Bernhard Seeger https://infolab.usc.edu/csci599/Fall2001/paper/rstar-tree.pdf