RBush is a high-performance JavaScript library for 2D spatial indexing of points and rectangles. It's based on an optimized R-tree data structure with bulk insertion support. Spatial index is a special data structure for points and rectangles that allows you to perform queries like "all items within this bounding box" very efficiently (e.g. hundreds of times faster than looping over all items). It's most commonly used in maps and data visualizations. The demos contain visualization of trees generated from 50k bulk-loaded random points. Open web console to see benchmarks; click on buttons to insert or remove items; click to perform search under the cursor. An optional argument to RBush defines the maximum number of entries in a tree node. 9 (used by default) is a reasonable choice for most applications. Higher value means faster insertion and slower search, and vice versa.

Features

  • RBush removes objects by reference
  • RBush assumes the format of data points to be an object with minX, minY, maxX and maxY properties
  • Bulk-Inserting Data
  • Bulk insertion is usually ~2-3 times faster than inserting items one by one
  • Importing and exporting as JSON allows you to use RBush on both the server (using Node.js) and the browser combined
  • Non-recursive R-tree insertion with overlap minimizing split routine from R*-tree

Project Samples

Project Activity

See All Activity >

Categories

Algorithms

License

MIT License

Follow RBush

RBush Web Site

Other Useful Business Software
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of RBush!

Additional Project Details

Programming Language

JavaScript

Related Categories

JavaScript Algorithms

Registered

2022-02-24