1

我正在寻找一种方法来计算地球上两点之间的距离。我们被告知使用 Haversine,它可以很好地计算 2 点之间的最短距离。

现在,我想计算点之间的“长距离”。因此,假设您有 2 个城市,A 在西部,B 在东部。我想知道从 B 到 A 的距离,如果我向东环游地球然后从西方到达 A。

我已经尝试在 hasrsine 函数中更改一些东西,但似乎不起作用。

任何人都知道我可以通过对 hasrsine 函数进行小的调整来简单地做到这一点吗?

这就是我现在正在使用的:

lat1, lat2, lng1, lng2 以弧度为单位

第 1 部分 = sin(lat2) * sin(lat1); 第 2 部分 = cos(lat2) * cos(lat1) * cos(lng1 - lng2);

距离 = 6378.8 * acos(part1 + part2);

我的看法是,您可以在两个城市之间在全球范围内画一个圆圈。该圆的周长减去短距离的长距离。但与回答的相反,圆的长度不等于地球的周长。这仅适用于赤道上的 2 个点。

Tnx杰伦

4

1 回答 1

2

地球的周长约为 40,075 公里,计算出短距离并从中减去。

于 2010-03-26T13:42:00.083 回答