본문 바로가기
MySql

MySQL 위도와 경도를 사용한 반경 40km

by 베이스 공부 2020. 9. 23.
반응형

가능한 중복 :




데이터가 저장되는 MyISAM 테이블이 있습니다. 데이터에는 Google지도의 위도와 경도가 포함됩니다. 내가 달성하려는 것은 샘플 위도와 경도의 반경 40km 내의 모든 물체를 선택하는 것입니다.

감사!

 

해결 방법

 

이 쿼리를 사용하여 $ lat / $ lng 주변의 $ radius 내의 모든 점을 가져옵니다.

SELECT
    *,
    ( 6371 * acos( cos( radians({$lat}) ) * cos( radians( `lat` ) ) * cos( radians( `lng` ) - radians({$lng}) ) + sin( radians({$lat}) ) * sin( radians( `lat` ) ) ) ) AS distance
FROM `positions`
HAVING distance <= {$radius}
ORDER BY distance ASC

6371은 지구 반경 im km입니다. 그리고 나는 그것을 발명하지 않았습니다.



 

참조 페이지 https://stackoverflow.com/questions/8850336

 

 

반응형

댓글