में उत्तर पूर्व और दक्षिण पश्चिम निर्देशांक के एक बाउंडिंग बॉक्स के अंदर डेटाबेस से सभी बिंदु प्राप्त करें मैं वर्तमान में किसी विशेष शहर में सभी भू-टैग किए गए पेड़ दिखाने के लिए एक एप्लिकेशन बना रहा हूं। मुख्य स्तंभों मैं तालिका से डेटा प्राप्त करने का उपयोग कर रहा इस प्रकारMySQL
+-----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+-------+
| tree_geotags_id | int(11) | NO | PRI | None | |
| lattitude_dl | double(9,7) | YES | | NULL | |
| longitude_dl | double(9,7) | YES | | NULL | |
+-----------------+-------------+------+-----+---------+-------+
तालिका 158,000 से अधिक पंक्तियां हैं कर रहे हैं।
वर्तमान में मैं निम्न क्वेरी का उपयोग कर रहा है मेरी उत्पादन प्राप्त करने के लिए,
SELECT gt.tree_geotags_id, gt.latitude_dl, gt.longitude_dl,
SQRT(
POW(69.1 * (gt.latitude_dl - [ center_lat ]), 2) +
POW(69.1 * ([ center_lon ] - gt.longitude_dl) * COS(gt.latitude_dl/57.3), 2)
) AS distance
FROM tree_geotags_t gt
HAVING distance < 0.4 ORDER BY distance
यह क्या है है, यह 0.4 के एक त्रिज्या में सभी रिकॉर्ड को हासिल करेगा। मैं डेटा लाने के लिए एक AJAX कॉल का उपयोग करता हूं, हर बार जब नक्शा परिवर्तन के केंद्र समन्वय (मानचित्र पैन या ज़ूम पर) होता है, तो प्राप्त डेटा को geojson प्रारूप में रूपांतरित करें और फिर उसे परत पर एक परत के रूप में लोड करें। मेरे साथ जो मुद्दा है, वह उन जगहों पर है जहां पेड़ों की बहुत अधिक घनत्व होती है, नक्शा के लिए सभी बिंदुओं को रखने में काफी समय लगता है और चूंकि यह इसे त्रिज्या पर लाता है, यह उन बिंदुओं को लोड करता है जो बाहर भी हैं व्यूपोर्ट।
मुझे पूर्वोत्तर और दक्षिणपश्चिम निर्देशांक का उपयोग सीमाओं के रूप में केवल व्यूपोर्ट के अंदर निर्देशांक में डेटा लोड करने के लिए एक प्रश्न की आवश्यकता है। मैंने यहां थोड़ी देर के लिए खोज की लेकिन मेरी आवश्यकताओं के अनुरूप कुछ भी नहीं मिला। कृपया मेरी मदद करें। अग्रिम में धन्यवाद..!!
एक WHERE क्लॉज जोड़ें जो आपके लक्ष्य मानों से अक्षांश/लंबे निचले/अधिक के साथ प्रविष्टियों को बाहर करता है ...? – CBroe