2010-03-26 90 views
1

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

现在,我想计算点与点之间的“长距离”。所以假设你有2个城市,西部是A,东部是B。我想知道从B到A的距离,如果我将在全球范围内向东移动,然后到达来自西部的A。

我试着改变了haversine函数中的一些东西,但似乎没有工作。

任何人都知道我可以简单地使用对半胱氨酸功能的小调整来做到这一点?

这是我使用的是什么现在:

LAT1,LAT2,lng1,lng2是弧度

第一部分= SIN(LAT2)*罪(LAT1);部分2 = cos(lat2)* cos(lat1)* cos(lng1-lng2);

distance = 6378.8 * acos(part1 + part2);

我看到的方式是,你可以在两个城市之间绘制一个环绕地球的圆圈。该圆周的长距离减去短距离。但与所回答的相反,圆的长度不等于地球的圆周。赤道上只有2点的情况。

TNX 的Jeroen

回答

2

地球的周长约为40,075KM,制定出短距离,并从该中减去它。

+0

Hooray为低科技。 – 2010-03-26 13:47:23

+0

根据纬度,周长不同。 – Jeroen 2010-03-26 13:47:28

+0

你说的话在赤道上是对的;) – Jeroen 2010-03-26 13:47:51