공간데이터를 다루다 보면 특정 반경내 원하는 정보를 가지고 오고 싶을때가 있다. 이때 빅쿼리와 기본 sql 각각 다른 방법을 가지고 있는데 어떻게 조회하는지 간단히 정리해 보았다.
-- 특정 아파트 단지 반경 5km내에 있는 지하철역 조회 한다고 가정한다.
set @lon = ~~~
set @lat = ~~~
SELECT stationName
FROM table1
WHERE ST_DISTANCE(st_geogpoint(@lon,@lat), st_geogpoint(lon, lat),FALSE) <=5000;
-- 특정 아파트 단지 반경 5km내에 있는 지하철역 조회 한다고 가정한다.
set @lon = ~~~
set @lat = ~~~
SELECT stationName
FROM table1
WHERE ST_DISTANCE_SPHERE(POINT(@lon,@lat), POINT(lon,lat)) <= 5000;