He registros almacenados en una tabla con la latitud y de longitud coordenadas almacenados en una geometría de campo. Quiero encontrar todos los registros cercanos a un usuario suministrado punto de referencia. Nota "cercanos" probablemente significa que a menos de 100km (posiblemente incluso más pequeño).
La mayoría de los ejemplos que me vea uso de ST_DWithin
. Hay una razón que usted no puede usar ST_Distance
? ¿Cuál es la diferencia entre el uso de ST_DWithin
y ST_Distance
para hacer esto?
Por ejemplo:
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