通过GPS坐标查找最近的城市-算法

时间:2019-11-03 00:14:21

标签: javascript algorithm sorting

我得到了我所在位置的坐标(55.1858, -162.7211)。我想找到我所在的城市(或附近),如果它存在于我的数据集中。数据集(数万个坐标)包含我感兴趣的所有城市,以及与该城市相对应的一个或多个坐标(取决于城市的大小):

Cold Bay, Alaska, 55.1858,-162.7211
False Pass, Alaska,54.8542,-163.4113
King Cove, Alaska, 55.0628,-162.3056
...

找到我所在的城市(不使用任何API,Google Maps等)的最佳算法是什么(最好是JavaScript)?

我有一些想法,但它们可能都不是最好的,因为它们都是蛮力方法:

  1. 在我的坐标周围绘制一定距离的半径,然后遍历数据集以查找是否有任何现有坐标在该半径内。如果是一个或多个,则遍历它们,并通过它们的距离查看我最接近的一个。
  2. 以某种方式,开始将我的坐标四舍五入到最接近的小数位,并在每次四舍五入后检查数据集中是否存在这组新的四舍五入坐标。

我觉得这些想法真是个坏主意,希望能为这类搜索提供一些有关好的算法的指导或建议。

0 个答案:

没有答案