У мене є записи, збережені в таблиці з координатами широти / довготи, які зберігаються в полі геометрії. Я хочу знайти всі записи поблизу відправника, що надається користувачем. Примітка "поблизу", ймовірно, означає менше 100 км (можливо, навіть менше).
Більшість прикладів я бачу в застосуванні 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)
проти
SELECT name, ST_AsText(coords)
FROM places
WHERE ST_Distance(coords, ST_GeomFromText('POINT(-12.5842 24.4944)',4326)) < 1