मेरे पास एक तालिका है जो एक ज्यामिति क्षेत्र में संग्रहीत अक्षांश / देशांतर निर्देशांक के साथ एक तालिका में संग्रहीत है। मैं एक उपयोगकर्ता द्वारा संदर्भित संदर्भ बिंदु के पास सभी रिकॉर्ड ढूंढना चाहता हूं। नोट "पास" शायद 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