您好,我正在嘗試做一個計算器來計算兩點之間的距離。一切正常。我只是想確保我的數學對于計算是正確的。我會給你2個坐標插入并告訴我它是對還是錯。謝謝。
測驗坐標:lat1:27.95094 lng1:-82.45404
lat2:27.9659 lng2:-82.8001
檢測結果:
21.13 英里
我只想檢查從 1 點到下一個點的計算是否正確,或者我的數學是否不正確。謝謝。
function distance(lat1, lng1, lat2, lng2, unit) {
var radlat1 = Math.PI * lat1/180;
var radlat2 = Math.PI * lat2/180;
var theta = lng1-lng2;
var radtheta = Math.PI * theta/180;
var dist = Math.sin(radlat1) * Math.sin(radlat2) Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);
if (dist > 1) {
dist = 1;
}
dist = Math.acos(dist);
dist = dist * 180/Math.PI;
dist = dist * 60 * 1.1515;
if (unit=='miles') { dist = (dist * 0.8684) * 1.15077945 }
return dist;
}
travel = distance(lat1, lng1, results.features[0].center[1], results.features[0].center[0], 'miles');
travel = parseInt(travel * 100)/100;
uj5u.com熱心網友回復:
是的,您似乎已經正確實作了 Haversine 公式(https://en.wikipedia.org/wiki/Haversine_formula)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/412183.html
標籤:
下一篇:Pyplot如何繪制數學藝術
