布什
RBush是用于点和矩形2D空间索引的高性能.NET库。 它基于具有批量插入支持的优化R树数据结构。
空间索引是用于点和矩形的特殊数据结构,它使您可以高效地执行查询,例如“边界框内的所有项目”(例如,比遍历所有项目快数百倍)。 它最常用于地图和数据可视化。
该代码已从Javascript 库复制而来。
安装
使用Nuget进行Install-Package RBush ( Install-Package RBush )。
用法
创建一棵树
首先,定义数据项类以实现ISpatialData ,这要求该类公开Envelope属性。 然后该类可以这样使用:
var tree = new RBush < Point>()
构造函数的可选参数( maxEntries:定义树节点中的最大条目数。 9 (默认情况下使用)是大多数应用程序的合理选择。 较高的值表示更快的插入和较慢的搜索,反之亦然。
var tree = new RBush < Point>( maxEntries : 16 )
新增资料
插入一个项目:
var item = new Point
{
Env
1