2017-05-26 95 views
0
var R = 6371e3; // metres 
var φ1 = lat1.toRadians(); 
var φ2 = lat2.toRadians(); 
var Δφ = (lat2-lat1).toRadians(); 
var Δλ = (lon2-lon1).toRadians(); 

var a = Math.sin(Δφ/2) * Math.sin(Δφ/2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ/2) * Math.sin(Δλ/2); 

var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 

var d = R * c; 

在這裏代碼公式用於JavaScript。但無論如何,在原始公式中還有一個和一個c。他們的意思是什麼?'Haversine公式'中'a'和'c'代表兩點之間的距離是什麼?

+1

它們只是臨時變量。雖然'c'似乎也是兩點之間的實際角度。 – Evert

+0

你有沒有看過維基百科上的任何三角身份?這看起來像個詭計正在發揮。 –

+0

@Evert謝謝。兩個變量都被用來衡量角度嗎? –

回答

0

實際上,c是兩點之間的角距離(以弧度表示),而a是兩點之間弦長的一半的平方。

P.S.見here

相關問題