2012-09-09 54 views
0

對於任何給定的經度和緯度,應該存在兩個距離。一次是順時針方向,另一次是逆時針方向。這就是有時候航班飛行的原因。來自兩個方向的經度和緯度的距​​離公式

下面的JavaScript在計算距離上工作得很好。我不確定它是順時針還是逆時針。 (指南下和北上)

找到兩個方向的公式是什麼?

var R = 6371; // km 
var dLat = (lat2-lat1).toRad(); 
var dLon = (lon2-lon1).toRad(); 
var lat1 = lat1.toRad(); 
var lat2 = lat2.toRad(); 

var a = Math.sin(dLat/2) * Math.sin(dLat/2) + 
     Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(lat1) * Math.cos(lat2); 
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
var d = R * c; 

編輯:

我要計算兩點間順時針和逆時針路徑。實際上航班使用順時針和逆時針路徑到達同一點。出於商業和管理方面的原因,他們不僅僅使用直接路徑。

我只是想要一個公式來計算相同點的順時針和逆時針路徑。

距離明智,最短的直路徑和最長的直路徑。

回答

1

如果您閱讀了網站cut and paste that code的描述,您會發現它是haversine forumla並且它提供了最短的距離。

該公式不會給你一個簡單的順時針或逆時針路徑,它是從點到點最直接的'旅程'。

+0

謝謝澄清。那將是我的主要問題。我想計算兩點之間的順時針和逆時針路徑。實際上航班使用順時針和逆時針路徑到達同一點。出於商業和管理方面的原因,他們不僅僅使用直接路徑。 – Kannaiyan

相關問題