2009-06-23 5 views
6

मुझे एक जीक्यूएल क्वेरी कैसे बनाना चाहिए जो अपनी भौगोलिक संपत्ति के आधार पर निकटतम इकाइयों (मेरे वर्तमान स्थान से) लौटाता है? क्या मुझे अभी एक 'दूरी' फ़ंक्शन बनाया जाना चाहिए जो कि एक उचित दूरी के साथ इकाइयों के एक समूह के लिए गणना करता है?मैं Google App Engine में GeoPt प्रॉपर्टी के साथ "आस-पास" इकाइयों के लिए कैसे क्वेरी करूं?

समय से पहले धन्यवाद!

उत्तर

9

App इंजन GeoPt गुण विशेष रूप से इलाज नहीं करता है - यह स्थानिक अनुक्रमण में बनाया नहीं गया है। हालांकि, कई तृतीय-पक्ष पुस्तकालय हैं जो स्थानिक इंडेक्सिंग के लिए समर्थन जोड़ते हैं। सबसे अच्छा (मेरी राय में) geomodel है।

+0

क्या भविष्य में स्थानिक अनुक्रमण का समर्थन करने की कोई योजना है? – Lipis

+0

@ लिपिस हमने रोडमैप पर कुछ भी घोषणा नहीं की है। –

+0

कम से कम कुछ भी सार्वजनिक नहीं .. मैं उम्मीद कर रहा था कि क्या आप कुछ साझा कर सकते हैं जो बाकी दुनिया को नहीं पता .. :) उम्मीद है कि हम इसे 2012 में आने वाले दुनिया के अंत से एक दिन पहले देखेंगे .. : पी अच्छा काम जारी रखें .. – Lipis

4

आप ऐप इंजन में Quadtree संरचना में स्थानों को स्टोर कर सकते हैं।

यहाँ यह कैसे किया जा जाएगा में से एक विवरण दिया गया है: Geographic Queries on Google App Engine

0

भूहाश ने विभिन्न हैंशों में बहुत करीबी अंक निर्धारित किए हैं ताकि एक और अगली परत को प्राथमिकता दी जानी चाहिए। आप त्रिज्या, चौकोर अंदर/बाहर आकार परीक्षण या यहां तक ​​कि किसी भी गणितीय आकार और परीक्षण कर सकते हैं कि बिंदु हमारे बाहरी आकार के भीतर है या नहीं।

2

मुझे लगता है मैं खोदने वाला उपलब्धि पर किसी तरह का करने जा रहा हूँ, लेकिन यहाँ यह है:

मैं इस समस्या के लिए एक समाधान के लिए देख रहा था और इसे Google के Oficial डॉक्स में आए: https://cloud.google.com/appengine/docs/java/search/query_strings#Java_Queries_on_geopoint_fields

मैं वास्तव में सोचते हैं कि Google को इसके बारे में कुछ और शोर करना चाहिए था। मुझे यह अजीब लगता है कि उनके पास एक ही चीज़ करने के लिए पाइथन पर एक सबक है लेकिन जावा के लिए इसे कैसे करना है इसके बारे में कुछ नहीं कहता है।