R-Tree Demonstration Java Applet - IMT, NMBU

Browser support for Java Applets is limited, but the Applet can be run using Java Web Start:
Run the Java Applet.
The Applet is not signed - use the Java control panel to add a security exception for gis.umb.no (see https://www.java.com/en/download/faq/exception_sitelist.xml).

This implementation uses the algorithms outlined in the original paper on the R-Tree [Guttman 1984].
There is also a Norwegian language version of this WWW-page. Other languages can be supported by changing the parameters to the Java Applet.

More detailed information about the program and algortithms can be found in the on-line help. In the references you will also find a link to an on-line version of Guttmans original paper.

The following functionality is presently implemented:

At the moment, three node splitting algorithms are implemented. They are the original "quadratic cost" and "linear cost" algorithms specified by Guttman [Guttman 1984], and also an exhaustive split algorithm (not specified directly by Guttman). The exhaustive split algorithm will take a very long time for large node sizes.

Reinsertion after deletion is done in accordance with CT6 in Guttman's algorithm "CondenseTree", which states that "higher level nodes must be placed higher in the tree...". We have chosen to reinsert the upper level nodes first and the leaf nodes last.


Antonin Guttman. "R-Trees: A Dynamic Index Structure for Spatial Searching". Proceedings, ACM SIGMOD'84, Boston, MA, June 18-21 1984, pp. 47-57 (PDF).


BibTeX-entry (if you would like to reference it)

Comments, bug reports and suggestions are very welcome!

Håvard Tveite, Department of Mathematical Sciences and Technology, Norges miljø- og biovitenskapelige universitet.