我正在寻找一种计算地球上2点之间距离的方法。我们被告知要使用Haversine,它可以很好地计算出2点之间的最短距离。
现在,我想计算点之间的“长距离”。假设你有2个城市,西部是A,东部是B。我想知道从B到A的距离,如果我向东行进到全球,然后到达来自西方的A.
我已经尝试在半身函数中更改了一些东西,但似乎没有用。
任何人都知道如何使用对hasrsine函数的小调整来做到这一点吗?
这就是我现在正在使用的:
lat1,lat2,lng1,lng2以弧度为单位
part1 = sin(lat2)* sin(lat1); part2 = cos(lat2)* cos(lat1)* cos(lng1 - lng2);
距离= 6378.8 * acos(part1 + part2);
我看到的方式是你可以在两个城市之间画一个圆圈。该圆周的长距离减去短距离。但与回答的相反,圆的长度不等于地球的周长。这只是赤道上2点的情况。
TNX 的Jeroen
答案 0 :(得分:2)
地球的周长约为40,075公里,计算出短距离并从中减去。