Spatial C++ Library Icon

Spatial C++ Library

Library of generic, k-d tree multi-dimensional containers

Add a Review
2 Downloads (This Week)
Last Update:
Browse All Files
BSD Windows Mac Linux


Spatial is a generic header-only C++ library providing multi-dimensional in-memory containers, iterators and functionals. Spatial is a general purpose library with good overall performance thanks to its self-balancing k-d tree containers. Spatial makes it easy to search for nearest neighbors, orthogonal
ranges, or perform ordering of objects in any number of dimensions.

Spatial's design borrows heavily from the STL, and strives to follow it's elegant interface; therefore Spatial's containers, iterators and functionals integrate well with the STL. Additionally, Spatial's self-balancing kd-tree based containers, capable of object insertion and removal in fractional amortized time, prevent worst-case computational time on most operations.

The latest release brings bug fixes and wide array of performance improvement across several algorithms. Nearest neighbor search, in particular, has been improved significantly.

Spatial C++ Library Web Site


  • Generic implementation of kd-trees in C++
  • API design is similar to the STL
  • Aim at good overall performance with self-balancing containers
  • Sort objects along several dimensions that may be of different types
  • static (compile-time) or dynamic (run-time) determination of the number of dimensions
  • Insertions and removals in fractional amortized time
  • Iteration over an orthogonal range
  • Iteration over n neighbors, from nearest to furthest
  • Iteration over a single dimension, independantly from others


Write a Review

User Reviews

Be the first to post a review of Spatial C++ Library!

Additional Project Details



Intended Audience


Programming Language