지구 평균 둘레 = 6371000
6371000 * PI / 180 =111194.9266
※ 적도와 극지방의 둘레가 다르기 때문에 정밀한 거리용으로는 적합하지 않다.
ST_Distance() 의 결과값을 111194.9266 으로 곱하면 meter 가 나온다.
예제 1) 현재위치로부터 100미터 이내의 장소(places 테이블) 데이터만 불러오기
※ 4326 은 좌표계 종류중의 하나이다.
[code]
SELECT * FROM places WHERE
ST_Distance(GeomFromText( ‘POINT(경도값 위도값)’, 4326 ), GeomFromText( CONCAT(‘POINT(‘, lng, ‘ ‘, lat, ‘)’), 4326 )) * 111195 < 100
[/code]
예제 2) 가까운 순서대로 10개 불러오기
[code]
SELECT * FROM places WHERE
ST_Distance(GeomFromText( ‘POINT(경도값 위도값)’, 4326 ), GeomFromText( CONCAT(‘POINT(‘, lng, ‘ ‘, lat, ‘)’), 4326 )) * 111195 < 100
order by ST_Distance(GeomFromText( ‘POINT(경도값 위도값)’, 4326 ), GeomFromText( CONCAT(‘POINT(‘, lng, ‘ ‘, lat, ‘)’), 4326 )) asc limit 10
[/code]