问题描述
我有一个应用程序,其中 Hilbert R-Tree (wikipedia) (citeseer) 似乎是一个合适的数据结构.具体来说,它需要对将经历大量更新的数据集进行相当快速的空间查询.
I have an application where a Hilbert R-Tree (wikipedia) (citeseer) would seem to be an appropriate data structure. Specifically, it requires reasonably fast spatial queries over a data set that will experience a lot of updates.
然而,据我所知,对于这种数据结构的算法的描述甚至都没有提到如何实际计算必要的希尔伯特值;这是沿希尔伯特曲线到点的距离.
However, as far as I can see, none of the descriptions of the algorithms for this data structure even mention how to actually calculate the requisite Hilbert Value; which is the distance along a Hilbert Curve to the point.
那么对于如何计算这个有什么建议吗?
So any suggestions for how to go about calculating this?
推荐答案
有趣的问题!
我进行了一些谷歌搜索,好消息是,我找到了 Hilbert Value 的实现.
I did a bit of googling, and the good news is, I've found an implementation of Hilbert Value.
潜在的坏消息是,它在 Haskell 中......
The potentially bad news is, it's in Haskell...
http://www.serpentine.com/blog/2007/01/11/two-dimensional-spatial-hashing-with-space-filling-curves/
它还提出了一个 Lebesgue 距离度量,您可能可以更轻松地计算.
It also proposes a Lebesgue distance metric you might be able to compute more easily.
这篇关于计算一个点的希尔伯特值以用于希尔伯特 R 树?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!