Django

2011-03-31 6 views
6

में कुछ त्रिज्या के भीतर सभी बिंदु प्राप्त करें Google मानचित्र एप्लिकेशन के लिए, मुझे एक क्वेरी बनाने की आवश्यकता है जो मेरे डेटाबेस में सभी आइटमों का चयन करे जो किसी दिए गए अक्षांश/देशांतर से एक निश्चित त्रिज्या के भीतर आते हैं, प्रत्येक के अक्षांश/एलएनजी को देखते हुए बिंदु। Django ORM में ऐसा करने का कोई प्रभावी तरीका है?Django

अब तक का सबसे अच्छा तरीका है कि मैं इस सर्कल के बाउंडिंग वर्ग (__range के साथ) के भीतर आने वाले सभी बिंदुओं का चयन करना चाहता हूं और फिर सभी चयनित लिस्टिंग पर एक पुनरावृत्ति फ़ंक्शन को यह निर्धारित करने के लिए कॉल करता हूं कि वे वास्तव में गिरते हैं या नहीं सर्कल में

मेरी भावना है कि यह एक और अधिक प्रभावी तरीका हो सकता है - आप इसे कैसे करेंगे?

उत्तर

8

Django कि निश्चित रूप से सबसे अच्छा जवाब है इस

http://docs.djangoproject.com/en/dev/ref/contrib/gis/db-api/#distance-queries

+0

नाइस के लिए GeoDjango है। सिर्फ ब्याज के लिए, किसी भी विचार से आप सादा Django में कुशलतापूर्वक कैसे हल करेंगे? –

+0

आप इस पोस्ट की तरह कच्ची क्वेरी का उपयोग कर सकते हैं http://stackoverflow.com/questions/1916953/filter-zipcodes-by-proximity-in-django-with-the-spherical-law-of-cosines – Galen

+1

क्या यह संभव है एक सामान्य Django आवेदन में GeoDjango के मेथोस का उपयोग करने के लिए? – Gocht