PostGIS'te yakınlık arama için ST_DWithin ve ST_Distance arasındaki fark nedir?


14

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_DWithinve ST_Distanceyapmak 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

Yanıtlar:


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.