2

我正在创建一个应用程序,它将告诉用户大量点距当前位置有多远。

每个点都有一个经度和纬度。

我已经阅读了这篇文章 http://www.movable-type.co.uk/scripts/latlong.html

当你知道java中的经度和纬度时,看到这篇文章 以米为单位计算距离

需要进行许多计算(50-200)。

如果速度比这些计算的准确性更重要,那么哪一个最好?

4

3 回答 3

5

这是 O(n) 不要担心性能。除非每个计算都花费太长时间(事实并非如此)。

于 2010-06-03T17:04:59.367 回答
2

正如 Imre 所说,这是 O(n) 或线性的,这意味着无论值如何不同或执行多少次,算法中的计算每次迭代都将花费相同的时间。但是,我不同意余弦球面定律在算法中执行的实际变量和计算较少,这意味着使用的资源较少。因此,我会选择那个,因为唯一会改变速度的是可用的计算机资源。(注意:虽然除非在一台非常旧/慢的机器上,否则它几乎不会被注意到)

基于意见的判决:余弦球面定律

于 2010-06-03T17:11:18.820 回答
1

您发布的两个链接使用相同的球面几何公式来计算距离,因此我不希望它们的运行速度之间存在显着差异。此外,它们在计算上并不是很昂贵,所以如果你在现代硬件上运行,即使是几百次迭代的规模,我也不认为这是一个问题。

于 2010-06-03T17:03:32.437 回答