2011-04-06 2 views

답변

0

이 두 점 사이의 큰 서클 거리를 계산하기 위해'하버 사인 '공식을 사용 을이 시도이 링크를 참조 까마귀는 점들 사이의 거리를 이동합니다 (언덕을 무시하고!).

하버 사인 화학식 :

R = earth’s radius (mean radius = 6,371km) 

Δlat = lat2- LAT1 Δlong = long2- long1 A = sin² (Δlat/2) + COS (LAT1) .cos (LAT2) .sin² (Δlong/2) C = 2.atan2 (√a, √ (1-a)) D는 = Rc를

또는 링크로 이동 http://www.movable-type.co.uk/scripts/latlong.html

0

는 torad() 헬퍼 기능과 함께,이 자바 스크립트 하버 사인 함수를 사용해 내가 사용하는 내지도 앱의 경우

function calculateHaversineDistance(lat1x, lon1, lat2x, lon2) { 
    var R = 6371; // km 
    var dLat = toRad(lat2x-lat1x); 
    var dLon = toRad(lon2-lon1); 
    var lat1 = toRad(lat1x); 
    var lat2 = toRad(lat2x); 
    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)); 
    return R * c; 
} 
function toRad(x) { 
    return x * Math.PI/180; 
} 

희망이 있습니다.