The scope of libspatialindex is the implementation of spatial indexing algorithms in C++. Implementation and capability to the basic functionality would be within scope. Efforts beyond spatial indexing to indexing of other non-geometry data types would be out of scope.
The purpose of this library is to provide:
- An extensible framework that will support robust spatial indexing methods.
- Support for sophisticated spatial queries. Range, point location, nearest neighbor and k-nearest neighbor as well as parametric queries (defined by spatial constraints) should be easy to deploy and run.
- Easy to use interfaces for inserting, deleting and updating information.
- Wide variety of customization capabilities. Basic index and storage characteristics like the page size, node capacity, minimum fan-out, splitting algorithm, etc. should be easy to customize.
- Index persistence. Internal memory and external memory structures should be supported. Clustered and non-clustered indices should be easy to be persisted.