집 >데이터 베이스 >MySQL 튜토리얼 >PHP에서 위도와 경도를 사용하여 반경 내 거리를 계산하는 방법은 무엇입니까?
위도와 경도로부터 거리 계산
이 시나리오에서는 반경 15마일 내의 지점을 확인하려고 합니다. 사용자가 입력한 좌표. 이를 달성하려면 수학 공식을 활용하여 거리를 계산할 수 있습니다.
다음 PHP 함수를 고려하세요.
<code class="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)); }</code>
또는 데이터베이스 쿼리를 활용하여 이를 수행할 수도 있습니다.
<code class="sql">$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.";</code>
위 내용은 PHP에서 위도와 경도를 사용하여 반경 내 거리를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!