आप mysql स्थानिक विस्तार का उपयोग कर सकते हैं और अक्षांश और देशांतर को एक बिंदु डेटाटाइप के रूप में सहेज सकते हैं और इसे एक स्थानिक सूचकांक बना सकते हैं। इस तरह आप एक वक्र के साथ निर्देशांक को पुन:व्यवस्थित कर सकते हैं और आयाम को कम कर सकते हैं और स्थानिक जानकारी को संरक्षित कर सकते हैं। आप क्वेरी को फ़िल्टर करने के लिए स्थानिक अनुक्रमणिका को बाउंडिंग बॉक्स के रूप में उपयोग कर सकते हैं और फिर इष्टतम परिणाम चुनने के लिए हार्वेसाइन सूत्र का उपयोग कर सकते हैं। आपका बाउंडिंग बॉक्स बड़े वृत्त की त्रिज्या से बड़ा होना चाहिए। Mysql कुछ स्थानिक सूचकांक के साथ एक rtree का उपयोग करता है और मेरा उदाहरण एक z वक्र या एक हिल्बर्ट वक्र के बारे में था:https://softwareengineering.stackexchange.com/questions/113256/what-is-the-difference-between-btree-and-rtree-indexing .फिर आप सीधे एक बिंदु स्तंभ में एक भू-निर्देशांक सम्मिलित कर सकते हैं:http://dev.mysql.com/doc/refman/5.0/en/creating-spatial-values.html . या आप एक ज्यामिति डेटाटाइप का उपयोग कर सकते हैं:http:// markmaunder.com/2009/10/10/mysql-gis-extensions-quick-start/ . तब आप MBRcontains फ़ंक्शन का उपयोग कर सकते हैं जैसे: http://dev.mysql.com/doc/refman/4.1/hi/relations-on-geometry-mbr.html या कोई अन्य कार्य:http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html . इसलिए आपको एक बाउंडिंग बॉक्स चाहिए। यहां कुछ उदाहरण दिए गए हैं:
- Lat को स्टोर करना स्थानिक बिंदु प्रकार का उपयोग करके MySQL में Lng मान
- https://gis.stackexchange.com/questions/28333/how-to-speed-up-this-simple-mysql-points-in-the-box-query
यहाँ बिंदु डेटाटाइप के साथ एक सरल उदाहरण दिया गया है:
CREATE SPATIAL INDEX sx_place_location ON place (location)
SELECT * FROM mytable
WHERE MBRContains
(
LineString
(
Point($x - $radius, $y - $radius),
Point($x + $radius, $y + $radius)
)
location
)
AND Distance(Point($x, $y), location) <= $radius
मुझे यकीन नहीं है कि यह काम करता है क्योंकि यह एक बाउंडिंग-बॉक्स फ़ंक्शन के साथ त्रिज्या चर का उपयोग करता है। ऐसा लगता है कि MBRwithin थोड़ा आसान है, क्योंकि इसमें किसी तर्क की आवश्यकता नहीं है:मैसकल:नेस्टेड सेट ट्री में सुपर नोड खोजने का अनुकूलन ।