위도와 경도로부터 거리 계산
이 시나리오에서는 반경 15마일 내의 지점을 확인하려고 합니다. 사용자가 입력한 좌표. 이를 달성하려면 수학 공식을 활용하여 거리를 계산할 수 있습니다.
다음 PHP 함수를 고려하세요.
function get_distance($latitude1, $longitude1, $latitude2, $longitude2, $unit = 'Mi') {
// Calculate the angle difference
$theta = $longitude1 - $longitude2;
// Calculate the distance
$distance = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2)))
(cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) *
cos(deg2rad($theta)));
// Convert to degrees
$distance = acos($distance);
$distance = rad2deg($distance);
// Convert to miles or kilometers
$distance = $distance * 60 * 1.1515;
// Round the distance
return (round($distance,2));
}
또는 데이터베이스 쿼리를 활용하여 이 작업을 수행할 수 있습니다.
$query = "SELECT *,(((acos(sin((".$latitude."*pi()/180)) *
sin((`Latitude`*pi()/180)) cos((".$latitude."*pi()/180)) *
cos((`Latitude`*pi()/180)) * cos(((".$longitude."- `Longitude`)*
pi()/180))))*180/pi())*60*1.1515
) as distance
FROM `MyTable`
HAVING distance > ".$distance.";
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3