2010-09-18 16 views
5

मैं एक ऐसा ऐप बनाना चाहता हूं जो आपको आपके स्थान के आधार पर निकटतम रेस्तरां प्रदान करने जा रहा है। हमारे पास रेस्तरां के अनुरूप सभी पीओआई के साथ एक डेटाबेस होगा और हम आपके फोन के जीपीएस के साथ अपना स्थान प्राप्त करेंगे ...दो आयामों में निकटतम पड़ोसी समस्या के लिए एक अच्छा एल्गोरिदम क्या है?

क्या एल्गोरिदम उपयुक्त होगा? मुझे इसके बारे में अच्छा डॉक्टर कहां मिल सकता है? http://dimacs.rutgers.edu/Workshops/MiningTutorial/pindyk-slides.ppt

मैं एक Quadtree या एक Kd-tree का प्रयोग करेंगे या तो:

धन्यवाद

उत्तर

2

यहाँ एक जानकारीपूर्ण प्रस्तुति है।

यहां कुछ मानक देखें: http://www.flegg.net/brett/pubs/spatial/index.html। यह वास्तव में आपके डेटा आकार और सीमा पर निर्भर करता है।

2

मुख्य समस्या यह है कि आप डेटा को कैसे स्टोर और खोजते हैं। यदि आप एक SQL डेटाबेस का उपयोग कर रहे हैं जो स्थानिक इंडेक्स का समर्थन नहीं करता है (चलो एंड्रॉइड पर SQLite कहें), स्थानिक डेटा को रैखिक Z-order वक्र में परिवर्तित करने पर विचार करें। एल्गोरिदम सरल है, मुझे पता है (अच्छी तरह से लिखा है) this कार्यान्वयन।

+0

यह भयानक कोड थॉमस, चापौ है! –

+0

किसी बड़े डेटाबेस पर निकटतम पड़ोसी प्रश्नों को करना किसी भी तरह से एंड्रॉइड पर सीधे करने के लिए एक अच्छी चीज़ की तरह प्रतीत नहीं होता है। डाटाबेस सर्वर इस तरह भारी उठाने के लिए पहले स्थान पर है। –

+1

@Tim मैं सहमत हूं कि ज़ेड-ऑर्डर एक बड़े डेटाबेस के लिए इतना अच्छा नहीं है। वैसे, 2010 में मेरे जवाब के बाद से, मैंने एक [आर-ट्री] (http://h2database.com/html/mvstore.html#r_tree) लागू किया है जो कुशल निकटतम पड़ोसी प्रश्नों (एक बार लागू होने के बाद) की अनुमति देनी चाहिए और एंड्रॉइड पर भी काम करना चाहिए। लेकिन यह SQLite का उपयोग नहीं करता है। –

संबंधित मुद्दे