我目前正在尝试开发一种算法来计算哪些已知位置最接近当前已知位置。
我有一个已知位置的列表(意思是我有长和纬度)。在这100个地点中,我选择了一个地点,在选择那个地点之后,我想要一个列表来显示离这个地点最近的8个已知地点。
这个问题的可能解决方案是什么?
编辑
我不是在寻找如何计算距离。我正在寻找如何计算哪些已知位置最接近当前位置。
的例子:
假设这个列表包含100个电影院。我在5号电影院,我想知道名单上还有哪些电影院在附近。不是距离,而是位置。
有一个距离矩阵API。这个API允许你计算一些给定位置之间的距离。
您也可以自己使用haversine formula
尝试用最近邻搜索实现k-d树算法
第一个想法:如果您的"100个已知位置"大部分保持不变,您可以将已知位置划分为更小的组并维护结构。然后和最近的一组玩。
这里有更多的数学方法
下面的链接可能会有帮助。
http://www.scribd.com/doc/2569355/Geo-Distance-Search-with-MySQL