मैं Django में एक बुनियादी स्टोर लोकेटर के लिए निकटता खोज को संभालने की कोशिश कर रहा हूँ। मेरे ऐप के साथ पोस्टजीआईएस को घुमाने के बजाय बस मैं जियोडजैंगो के दूरी फ़िल्टर का उपयोग कर सकता हूं, मैं मॉडल क्वेरी में कोसाइन दूरी फॉर्मूला के गोलाकार कानून का उपयोग करना चाहता हूं। मैं दक्षता के लिए, एक क्वेरी में डेटाबेस में सभी गणनाओं को करना चाहता हूं। इंटरनेट इस तरह कोसाइन की गोलाकार कानून लागू करने सेकोज़िन के गोलाकार कानून के साथ Django में निकटता से फ़िल्टर zipcodes
एक उदाहरण MySQL क्वेरी:
SELECT id, (
3959 * acos(cos(radians(37)) * cos(radians(lat)) *
cos(radians(lng) - radians(-122)) + sin(radians(37)) *
sin(radians(lat)))
)
AS distance FROM stores HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;
क्वेरी प्रत्येक दुकान के अक्षांश/एलएनजी मूल्यों के लिए ज़िपकोड ForeignKey को संदर्भित करने की जरूरत है। मैं Django मॉडल क्वेरी में यह सब काम कैसे कर सकता हूं?
क्या आप अपने मॉडल पोस्ट कर सकते हैं? – cethegeek
(ए) यह 'हावर्सिन' सूत्र नहीं है; यह कोसाइन के सूत्र का 'गोलाकार कानून' है; देखें (उदाहरण के लिए) 'http: // www.movable-type.co.uk/स्क्रिप्ट/latlong.html' और संबंधित विकिपीडिया लेख देखें। (बी) मुझे विश्वास है कि आप चर-कोड वाले उपयोगकर्ता निर्देशांक को चर के साथ प्रतिस्थापित करेंगे :-) (सी) कोमल पाठक को चेतावनी दी जानी चाहिए कि दूरी की आपकी इकाई कुछ हद तक पुरातन है (1000 * के साथ कुछ करने के लिए (रोमन की लंबाई सेना की मानक गति), मुझे विश्वास है) :-) –
जीज़, जियोजंजो के बारे में इतना मुश्किल क्या है? बस इसे स्थापित करें :) –