Bir geometri alanında saklanan enlem / boylam koordinatları ile bir tabloda depolanan kayıtları var. Kullanıcı tarafından sağlanan bir referans noktasının yakınındaki tüm kayıtları bulmak istiyorum. Not "yakın" muhtemelen 100 km'den daha az anlamına gelir (muhtemelen daha da küçük).
Çoğu örnek kullanımını görüyorum ST_DWithin
. Kullanamamanın bir nedeni var mı ST_Distance
? Bunu yapmak ST_DWithin
ve ST_Distance
yapmak arasındaki fark nedir ?
Örneğin:
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