MySQL Great Circle Distance(Haversine Formula)
이 기사에서는 MySQL만을 사용하여 두 지리적 좌표 사이의 대권 거리를 계산하는 문제를 다룹니다. . 여러 SQL 쿼리와 복잡한 계산이 포함된 기존 PHP 구현은 번거로울 수 있습니다.
솔루션
PHP 코드를 순수 MySQL로 변환하기 위해 Haversine 공식을 활용합니다. , 구 위의 두 점 사이의 거리를 계산하는 수학 방정식입니다. 이 공식은 MySQL ACOS() 및 RADIANS() 함수에서 지원됩니다.
해당 MySQL 쿼리는 다음과 같습니다.
SELECT id, ( 3959 * ACOS( COS(RADIANS(37)) * COS(RADIANS(lat)) * COS(RADIANS(lon) - RADIANS(-122)) + SIN(RADIANS(37)) * SIN(RADIANS(lat)) ) ) AS distance FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0, 20;
설명
이 MySQL 기반 접근 방식을 사용하면 외부 PHP 계산이나 추가 SQL 없이도 좌표 간 원거리를 효율적으로 계산할 수 있습니다. 쿼리합니다.
위 내용은 MySQL만 사용하여 Great Circle Distance를 어떻게 계산할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!