2010-03-26 123 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