libspatialindex is a "Gang of Four"-inspired C/C++ library for implementation of spatial indexes. It contains a number of features that make it a valuable key component of many spatial software stacks, but its stand out feature is that of providing a generic interface to which specific index implementations can be adapted. Some of its current major features include:
- R* tree with quadratic and linear splitting variants
- MVR and TPR trees
- Disk and memory serialization
- Storage adaptation
- Bulk sorting and insertion
- Arbitrary shape range queries
- C API
The addition of a C API makes it easier for scripting languages like Ruby and Python to call into libspatialindex using FFI-style wrappers.
The library has had at least annual or semi-annual releases for the past six years. Open source project norms (release, bugs, mailing list, etc) have been actively used to engage the community. A website for the project exists at http://libspatialindex.org with its contents being generated from source documents within the source tree.