||2 weeks ago|
|bin||2 months ago|
|config||2 months ago|
|src||3 weeks ago|
|.distignore||2 months ago|
|.gitattributes||2 months ago|
|.gitignore||2 months ago|
|.gitlab-ci.yml||4 weeks ago|
|CHANGELOG.md||2 weeks ago|
|LICENCE||2 years ago|
|Makefile||2 months ago|
|README.md||2 months ago|
|VERSION||2 months ago|
|aclocal.m4||2 months ago|
|configure||2 months ago|
|configure.ac||2 months ago|
|status.json||2 weeks ago|
Implementation of the R-tree algorithm by A. Guttman, updated by Melinda Green. Retrieved from (1), July 2019. This rather old code (Green reports updating it to ANSI C) has been rewritten in C11 with an extensive test-suite to make a small, reasonably portable self-contained library. For use in smaller projects.
For documentation and stable releases, see the project homepage.
The same underlying algorithms are implemented, and we have some features which seem desirable for a modern library:
- Re-entrant, no global variables at all
- Dimension set at run-time rather than compile-time
- Extensive test-suite (with CUnit), used for CI (4)
- Serialisation to/from custom binary format or JSON
- Output to PostScript in the dimension-two case
- Builds a 100,000 rectangle tree in around a third of a second
./configure make sudo make install
If you do not have the Jansson library (or do not want JSON
support) add the
--disable-json option to the
To run the test-suite (which requires the CUnit library)
./configure --enable-unit-tests make make test
./configure --help for additional features.
Debian and derivatives (Ubuntu, Mint, ...)
The licence of the original files, according to (1), is that
You're completely free to use them for any purpose whatsoever. All I ask is that if you find one to be particularly valuable, then consider sending feedback.
Given this, I have released the rewrite under the MIT licence (see the file LICENCE).