【问题标题】:How to get nearby location in a specific range?如何获取特定范围内的附近位置?
【发布时间】:2017-08-11 03:16:25
【问题描述】:

我有一个经纬度数组和一个中心点。

{
  center: {
    lat: 10.002,
    lng: 20.003
  },
  all: [
    {
      lat: 20,
      lng: 50
    },
    {
      lat: 10,
      lng: 20.000001
    },
    // ...
  ]
}

我想知道如何获取 10 公里或其他特定范围内的附近位置。是否有任何关键字或库可以帮助我做到这一点?

【问题讨论】:

    标签: geolocation geohashing


    【解决方案1】:

    您可以使用 geohash。
    标准 geohash 可以为您提供一个很好的起点,因为哈希表示位置,因此您可以根据您的精度按特定掩码上的哈希进行分组。
    参考:https://en.wikipedia.org/wiki/Geohash

    这个方法很简单,而且有很多库。
    但它也存在极点失真和边缘情况。

    但是我已经实现了一种替代算法来解决这些问题:https://github.com/linehrr/geohash
    缺点是精度是预先确定的,因此屏蔽不起作用,因为它不是线性的。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多