百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
R

rbush

> 编程语言
开源

RBush — 基于 JavaScript R-tree 的高性能 2D 空间索引,用于点和矩形

2.8K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

RBush — 基于 JavaScript R-tree 的高性能 2D 空间索引,用于点和矩形

RBush 是一个高性能的 JavaScript 库,用于对点和矩形进行 2D 空间索引。它基于一个优化的 R-tree 数据结构,支持 批量插入。

空间索引 是一种特殊的数据结构,用于处理点和矩形,可以非常高效地执行诸如 "所有位于此边界框内的项" 等查询(例如比循环遍历所有项快几百倍)。它通常用于地图和数据可视化中。

演示中包含了从 50 万个随机点生成的树的可视化。打开 Web 控制台查看基准测试;单击按钮添加或删除项目;单击在 Cursor 下执行搜索。

RBush 的可选参数定义了树节点中条目的最大数量。 9(默认使用)对于大多数应用来说是一个合理的选择。 更高的值意味着更快的插入速度和更慢的搜索速度,反之亦然。

javascript
const tree = new RBush(16);

添加数据

插入一个条目:

javascript
const item = {
    minX: 20,
    minY: 40,
    maxX: 30,
    maxY: 50,
    foo: 'bar'
};
tree.insert(item);

移除数据

移除一个先前插入的条目:

javascript
tree.remove(item);

默认情况下,RBush 通过引用移除对象。 然而,你可以传入一个自定义的 equals 函数来按值进行比较以进行移除, 这在当你只有需要移除对象的副本时(例如从服务器加载)非常有用:

javascript
tree.remove(itemCopy, (a, b) => {
    retu

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

JavaScriptalgorithmcomputational-geometryjavascriptr-tree

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言