【问题标题】:Efficiently ordering locations by their geographical distance from a query point通过与查询点的地理距离有效地对位置进行排序
【发布时间】:2012-01-22 03:57:48
【问题描述】:

我正在尝试找到一种方法,在给定地理坐标(纬度、经度)的情况下,可以有效地(可能为 O(log(n)))找到与查询位置最近的给定数量的位置。

查询点事先不知道,但我可以提前组织其他位置,以优化查询。

有没有这样的方法,还是我必须订购并裁剪所有同行的列表?

【问题讨论】:

    标签: algorithm geolocation location distance


    【解决方案1】:

    如果您的曲面满足三角不等式,即欧克里德空间,重新排序空间索引的最佳算法是空间填充曲线或怪物曲线。它将二维问题简化为一维问题并离散化并解决空间的寻址问题。查找类似位置的方法类似于 O(log(n))。您可以在 nick 空间索引 hilbert 曲线四叉树博客中找到一篇不错的文章。我建议也看一下 n 元单调格雷码。我给自己写了一个 php 实现,包括 4 个方向的希尔伯特曲线和摩尔曲线。

    【讨论】:

      猜你喜欢
      • 2014-04-27
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2021-12-04
      • 2015-10-20
      • 1970-01-01
      相关资源
      最近更新 更多