반응형
위도/경도 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
?>
반응형
'개발이야기 > PHP' 카테고리의 다른 글
[PHP] https 체크하기, http->https 리다이렉트 시키키 (0) | 2022.10.07 |
---|---|
[PHP] 디렉토리 파일 삭제, 특정 파일 삭제, 특정 파일 제외 삭제 (unlink) (0) | 2022.09.30 |
[PHP] str_replace array 배열로 문자열 변경 (0) | 2022.09.23 |
[PHP] CURL 사용법, 데이터 전송/받기 (0) | 2022.09.22 |
[PHP] 현재 페이지 정보가져오기, url 정보 (1) | 2022.09.16 |
댓글