基于经度和算法计算最近位置的算法纬度

时间:2011-08-19 11:27:10

标签: c# linq google-maps latitude-longitude

我目前正在尝试开发一种算法来计算哪些已知位置最接近当前已知位置。

我有100个已知位置的列表(意思是我有长和纬度)。在这100个中,我选择了一个位置,在选择该位置后,我想要一个列表来显示8个最接近的已知位置。

如何解决这个问题?

修改

我不是在寻找如何计算距离。我正在寻找如何计算哪个已知位置最接近当前位置。

示例:

说该列表包含100个电影院的位置。我在剧院5,我想知道附近的其他电影院是什么。不是距离,而是它们的位置。

4 个答案:

答案 0 :(得分:17)

有一个Distance Matrix API。此API允许您计算某些给定位置之间的距离。

您也可以使用haversine formula

自行完成此操作

答案 1 :(得分:1)

第一个想法:如果您的“100个已知位置”大致保持不变,您可以将已知位置划分为较小的组并保持结构。然后和最近的小组一起玩。

More mathematical approaches here

答案 2 :(得分:1)

答案 3 :(得分:1)

尝试使用最近邻搜索实现k-d树算法。