카테고리 없음2017. 11. 29. 17:50

(6371 * acos( cos( radians( 현재위치위도 ) ) * cos( radians( 위도) ) * cos( radians( 경도) - radians(현재위치경도)) 

+ sin( radians(현재위치위도) ) * sin( radians(위도) ) ) ) AS distance


해당 순으로 입력한 뒤, 계산을 하면 현재 위치에서 각각 원하는 장소가 얼마나 떨어져 있는지 계산이 된다.

앞에 6371은 지구의 반지름 값으로 기본적으로 들어가는 값이다.

거리는 km로 계산이 되기 때문에 만약 3km 근처에 있는 장소들만 표시해주고 싶다면 해당식의 값이 3보다 작은것들만 보여주면 된다. 



Example SQL

SELECT count(*)

FROM (

SELECT ( 6371 * acos( cos( radians( 37.4097995 ) ) * cos( radians( lat) ) * cos( radians( lot ) - radians(127.128697) ) + sin( radians(37.4097995) ) * sin( radians(lat) ) ) ) AS distance

FROM cf_location

) DATA

WHERE DATA.distance < 3


Posted by 미랭군