Tempo Di Valse

[PHP] 위/경도를 이용한 거리 계산 본문

개발/Web

[PHP] 위/경도를 이용한 거리 계산

TempoDiValse 2022. 2. 8. 12:42

A 지점과 B 지점이 있는데, 이 A-B 간의 거리를 재기 위하여 어떻게 해야 할까?

 

A 지점을 Source, B 지점을 Destination 으로 한다.

function getDistance($src, $dest){
    $theta = $src['longitude'] - $dest['longitude'];

    $dist = sin(deg2rad($src['latitude'])) * sin(deg2rad($dest['latitude'])) +  cos(deg2rad($src['latitude'])) * cos(deg2rad($dest['latitude'])) * cos(deg2rad($theta));
    $dist = acos($dist);
    $dist = rad2deg($dist);

    $miles = $dist * 60 * 1.1515;

    return $miles * 1609.34;
}
 

StackOverflow 를 참조하여 만들었다.

 

대략 수학적인 내용이라 문송한 상황이지만, A-B 지점을 일직선으로 계산하고 그 값을 미터(m) 단위로 치환하는 내용이다.

 

반응형
Comments