排序集上的空间索引

时间:2014-12-09 18:02:32

标签: data-structures spatial-index

我有一大堆要在2D中渲染的对象,我从下到上排序。我目前正在使用R树来获取当前视口中的子集。但是,在将它们从空间索引中取出后,我必须按它们的Z顺序对它们进行重新排序。这种排序比在空间索引中查找它们的列表长了大约6倍(其中有几百个项目与我的查询匹配)。

是否存在一种2D空间索引,它通过矩形边界框快速查找,它将按排序顺序返回元素?

1 个答案:

答案 0 :(得分:0)

您可以直接在Z顺序上构建R树。

通常,Hilbert顺序是首选,这被称为Hilbert-R树。

但你也可以对Z顺序做同样的事情。

但是,您也可以考虑立即以Z顺序存储数据;例如,在B + -tree中。

不是使用矩形查询,而是将查询转换为Z顺序区间,并查询Z索引。这是一种早于R树的非常经典方法:

  

Morton,G。M.(1966)
  面向计算机的大地测量数据库;和文件排序的新技术
  技术报告,加拿大渥太华:IBM有限公司