지오메트리 필드에 저장된 위도 / 경도 좌표가있는 테이블에 레코드가 저장되어 있습니다. 사용자 제공 기준점 근처의 모든 레코드를 찾고 싶습니다. "가까운"은 아마도 100km 미만 (아마도 더 작은)을 의미합니다.
내가 본 대부분의 예제는 use ST_DWithin
입니다. 사용할 수없는 이유가 ST_Distance
있습니까? 사용 ST_DWithin
과 ST_Distance
수행 의 차이점은 무엇입니까 ?
예를 들면 다음과 같습니다.
SELECT name, ST_AsText(coords)
FROM places
WHERE ST_DWithin(coords, ST_GeomFromText('POINT(-12.5842 24.4944)',4326), 1)
vs
SELECT name, ST_AsText(coords)
FROM places
WHERE ST_Distance(coords, ST_GeomFromText('POINT(-12.5842 24.4944)',4326)) < 1