-
Point
. का उपयोग करके अपने अंक बनाएंGeometry
. के मानMyISAM
. में डेटा प्रकार टेबल। मैसकल 5.7.5 के अनुसार,InnoDB
टेबल अबSPATIAL
. का भी समर्थन करते हैं सूचकांक। -
एक
SPATIAL
बनाएं इन बिंदुओं पर सूचकांक -
MBRContains()
. का उपयोग करें मान ढूँढ़ने के लिए:SELECT * FROM table WHERE MBRContains(LineFromText(CONCAT( '(' , @lon + 10 / ( 111.1 / cos(RADIANS(@lat))) , ' ' , @lat + 10 / 111.1 , ',' , @lon - 10 / ( 111.1 / cos(RADIANS(@lat))) , ' ' , @lat - 10 / 111.1 , ')' ) ,mypoint)
, या, MySQL 5.1
. में और ऊपर:
SELECT *
FROM table
WHERE MBRContains
(
LineString
(
Point (
@lon + 10 / ( 111.1 / COS(RADIANS(@lat))),
@lat + 10 / 111.1
),
Point (
@lon - 10 / ( 111.1 / COS(RADIANS(@lat))),
@lat - 10 / 111.1
)
),
mypoint
)
यह लगभग (@lat +/- 10 km, @lon +/- 10km)
बॉक्स के भीतर सभी बिंदुओं का चयन करेगा ।
यह वास्तव में एक बॉक्स नहीं है, बल्कि एक गोलाकार आयत है:क्षेत्र का अक्षांश और देशांतर बाध्य खंड। यह फ्रांज जोसेफ लैंड . पर एक सादे आयत से भिन्न हो सकता है , लेकिन अधिकांश बसे हुए स्थानों पर इसके काफी करीब।
-
सर्कल के अंदर सब कुछ चुनने के लिए अतिरिक्त फ़िल्टरिंग लागू करें (वर्ग नहीं)
-
संभावित रूप से बड़ी सर्कल दूरी (बड़ी दूरी के लिए) के लिए खाते में अतिरिक्त बढ़िया फ़िल्टरिंग लागू करें