布什 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
2022-11-14 22:49:45 23KB algorithm data-structures r-tree spatial-index
1
C#RTree项目旨在维护RTree空间索引算法的C#版本。 从https://sourceforge.net/projects/jsi移植
2022-06-10 14:18:18 18KB 开源软件
1
希尔伯特曲线 适用于Java的实用程序 将沿N维希尔伯特曲线的距离变换为一个点并返回。 边界框(N维)查询支持(边界框映射到hilbert索引上用于单列查找的多个间隔) 特征 支持多种尺寸 方法链 二维渲染 与基准jmh 状态:部署到Maven的中央 Maven的包括 也见。 背景 甲是首先由大卫·希尔伯特在1891年描述的连续的分形空间填充曲线。 该库支持近似希尔伯特曲线。 H n中是第n个近似希尔伯特曲线,是一个长度为1的2 n -1个直线段的路径。 希尔伯特曲线可用于索引多个维度,并具有有用的局部性。 简而言之, 索引接近索引的点将接近与该索引对应的点。 图1. 2D希尔伯特具有1至6个比特曲线(H 1至H 6) HilbertCurveRenderer . renderToFile(bits, 200 , filename); 图2. 2D Hilbert曲
1