개발이야기/PHP

[PHP] 위도/경도로 거리 구하기

후린개발자 2022. 9. 26.
반응형

위도/경도 2개의 좌표로 직선거리를 구하는 함수 입니다.
km로 return 하고 있어서 계산해서 사용하시면 됩니다.

 

<?
function haversineGreatCircleDistance( $latitudeFrom, $longitudeFrom, $latitudeTo, $longitudeTo, $earthRadius = 6371000){
    $latFrom = deg2rad($latitudeFrom);
    $lonFrom = deg2rad($longitudeFrom);
    $latTo = deg2rad($latitudeTo);
    $lonTo = deg2rad($longitudeTo);

    $latDelta = $latTo - $latFrom;
    $lonDelta = $lonTo - $lonFrom;

    $angle = 2 * asin(sqrt(pow(sin($latDelta / 2), 2) + cos($latFrom) * cos($latTo) * pow(sin($lonDelta / 2), 2)));

    return $angle * $earthRadius;
}

//서울역 좌표
$latitude= "37.55297238665219";
$longitude= "126.97263841628852";

//서울광장 좌표
$get_latitude = "37.565655033590666";
$get_longitude = "126.9779621408041";

$distance = haversineGreatCircleDistance($latitude, $longitude, $get_latitude, $get_longitude, 6371);


echo "distance: ".$distance; //distance: 1.4862729036159

?>
반응형

댓글

💲 추천 글