2008-10-07 9 views
12

गार्मिन और टॉमटॉम जैसे नेविगेशन सिस्टम ने हमेशा मुझे आकर्षित किया है। मैं विभिन्न पथ एल्गोरिदम को आज़माने और उनके बारे में अपने ज्ञान पर विस्तार करने के लिए छोटे मानचित्र/नेविगेशन अनुप्रयोगों को लागू करना चाहता हूं।नक्शा-नेविगेशन परियोजना, सड़क डेटा आम तौर पर कैसे संग्रहीत/प्रतिनिधित्व किया जाता है?

1.) मानचित्र डेटा कैसे संग्रहीत किया जाता है:

यह एक दो भाग सवाल है? - जब आपके पास सड़कों का नेटवर्क होता है, तो यह डेटा आम तौर पर कैसे संग्रहीत होता है? बाद में मानचित्र को पुन: उत्पन्न करने के लिए डेटा के किन हिस्सों को बनाए रखा जाता है? क्या प्रत्येक सड़क बिंदुओं की एक श्रृंखला के रूप में संग्रहीत है जहां यह दिशा बदलती है? इस डेटा में किस प्रकार का फ़ाइल स्वरूप संग्रहीत किया जाता है? क्या इन फ़ाइलों को आसानी से पार्स करने के लिए सार्वजनिक रूप से उपलब्ध पुस्तकालय हैं? क्या किसी के पास यह निर्दिष्ट है कि नक्शा/सड़क डेटा कैसे संग्रहीत/प्रतिनिधित्व किया जाता है, यह बहुत उपयोगी होगा।

2.) नेविगेशन/पथ का - जब इस नक्शे डेटा को मूलभूत पथ कर (एक ला गार्मिन) मेरी धारणा सही है कि यह एक निर्देशित ग्राफ में बदल जाती है है? क्या प्रत्येक सड़क चौराहे के बीच की दूरी को किनारों के साथ एक कशेरुक छेड़छाड़ करती है? यही वह है जो मैं करने के बारे में सोच रहा था इसलिए मैं कुछ बुनियादी ज्ञात पथिंग एल्गोरिदम का प्रयास कर सकता हूं और देख सकता हूं कि मुझे क्या मिलता है।

मैंने यूएस पर this सार्वजनिक रूप से उपलब्ध मानचित्र डेटा देखा है, लेकिन मुझे यकीन नहीं है कि इसका प्रतिनिधित्व कैसे किया जाता है और यदि यह मेरे लिए मेरे निर्देशित ग्राफ को बनाने में सक्षम होने के लिए पर्याप्त विस्तृत है।

यदि किसी के पास कोई जानकारी है तो मैं इसकी सराहना करता हूं। जितना अधिक विस्तृत ज्ञान आपके पास बेहतर होगा।

उत्तर

6

मुझे नेविगेशन सिस्टम इकाइयों के बारे में विशिष्ट जानकारी नहीं है, लेकिन मानक जीआईएस दुनिया में, मानचित्र डेटा मूल रूप से बहुभुज, रेखाओं और बिंदुओं के संग्रह के रूप में संग्रहीत किया जाता है, प्रत्येक इसके निर्देशांक द्वारा वर्णित प्रत्येक (और प्रक्षेपण प्रयुक्त होता है और कुछ अन्य पैरामीटर)। उदाहरण के लिए, सबसे आम स्वरूपों में से एक, आकारफाइल, here, वर्णित है और डेटाबेस आधारित प्रारूप मानक here है।

मैंने PostgreSQL, PostGIS और PGRouting का उपयोग करके सड़कों के प्रदर्शन और मार्ग गणना के लिए सफलतापूर्वक इस स्टोरेज मॉडल का उपयोग किया है। सामान्य ग्राफ़ एल्गोरिदम का उपयोग करके गणना की जाती है और सामान्य प्रारूप में संग्रहीत डेटा को उनके एप्लिकेशन की अनुमति देने के लिए ग्राफ के रूप में भी संग्रहीत किया जाता है। मैं उस अनुभव को एक एम्बेडेड डिवाइस पर extrapolate नहीं कर सकता क्योंकि वे संभवतः अपनी सीमित कंप्यूटिंग क्षमता को देखते हुए बहुत अलग तरीके से करते हैं। वे शायद बहुत सारी चीज़ें पूर्ववत करते हैं।

भंडारण के लिए थोड़ा अलग ढंग के लिए, और अधिक संग्रहण और सीमित संकल्प की कीमत पर जाँच OpenStreetMap

-1

बेहतर ड्राइंग गति के लिए, कई आवेदन ऐसे GeoTiff के रूप में एक भू-संदर्भित रेखापुंज प्रारूप का उपयोग करेगा।

कि

नीचे zich से नहीं बल्कि आग्रहपूर्ण टिप्पणी को देखते हुए "डेटा कोई अपवाद के साथ सभी नेविगेशन प्रणालियों में वेक्टर में हैं!"

मैंने सोचा कि मैं उपरोक्त में थोड़ा सा जोड़ूंगा। सबसे पहले, मैं एक नेविगेशन सिस्टम को एक प्रणाली के रूप में परिभाषित करता हूं जो आपको सहायता करता है कि आप अपने वर्तमान स्थान के आधार पर कहां जाना चाहते हैं, आम तौर पर कई संभावित वैकल्पिक मार्गों की लागत करके और सबसे कम लागत की सिफारिश करते हुए। संभावित मार्ग परिवहन के माध्यम से निर्धारित किए जा सकते हैं, कारें उदाहरण के लिए सड़कों पर रहती हैं जबकि पहाड़ी वॉकर नहीं करते हैं। मार्गों की लागत परिवहन के माध्यम से भी उपयोगकर्ता की आवश्यकताओं के अनुसार भिन्न हो सकती है।कारें सड़क की गति के आधार पर सबसे तेज़ मार्ग लेना चाहती हैं, ट्रक अधिक ईंधन कुशल मार्ग चाहते हैं, पहाड़ी वॉकर शायद सबसे सुरक्षित मार्ग, नाव या हवाई जहाज चाहते हैं जो खतरनाक मौसम प्रणालियों से बचा जा सके, जबकि ईंधन लागत और समय बिताए ।

सबसे सरल स्तर पर एक मानचित्र और कंपास एक नेविगेशन सिस्टम है। मानचित्र को एक छोटी स्क्रीन, एक स्केलेबल रास्टर मानचित्र और एक जीपीएस के साथ बदलें और आपके पास अभी भी एक नेविगेशन सिस्टम है। सबसे कम से मध्यम अंत समुद्री नेविगेशन सिस्टम अभी भी इस तरह से काम करते हैं, समुद्र तट का प्रतिनिधित्व करने वाले चार्ट और समुद्री डाकू और जीपीएस आपको स्थान देने के लिए, और गहराई के लिए ध्वनि गूंजते हैं।

स्पेक्ट्रम के अधिक उन्नत अंत में, Mars Rover navigation system जैसे स्वायत्त रोबोटिक नेविगेशन सिस्टम फ्लाई पर डीटीएम मॉडल उत्पन्न करते हैं, जो कि लघु सीमा नेविगेशन के आधार के रूप में होता है, और उपग्रह लंबी दूरी की नेविगेशन के लिए डीईएम एकत्रित करता है।

का सुझाव करने के लिए है कि सभी नेविगेशन सिस्टम उपभोक्ता गार्मिन या टॉम टॉम उपकरणों की तरह काम करते हैं बल्कि एक अनुभवहीन अनुमान है। एफडब्ल्यूआईडब्ल्यू, कई आधुनिक गार्मिन उपकरणों में raster based DEM data भी शामिल है जहां कम लागत वाली जीपीएस ऊंचाई जंगली रूप से गलत हो सकती है।

+0

डेटा सभी नेविगेशन सिस्टम में वेक्टर में बिना अपवाद के हैं! – Zich

+0

@ ज़ीच, सभी नेविगेशन सिस्टम के बारे में जानना एक अच्छी बात होनी चाहिए। स्वायत्त रोबोट नेविगेशन के लिए एक संक्षिप्त देखो और आप कई http://www.robotics.unsw.edu.au/u10/Autonomous-navigation-using-a-real-time- इस जैसे बिंदु बादल, को शामिल हिट देखेंगे 3 डी-पॉइंट-क्लाउड जहां जिओटीआईएफएफ नियमित रूप से मैपटेबल इलाके की सतहों को पॉइंटक्लाउड्स (यानी डीईएम) के रूप में प्रस्तुत करने के लिए उपयोग किया जाता है। इस तरह के सिस्टम सबसे कम लागत वाले मार्गों की खोज करते हैं, डीईएम (आमतौर पर रास्टर) या डीटीएम (आमतौर पर वेक्टर आधारित टीआईएन) से प्रोफाइल की पीढ़ी के आधार पर नेविगेट नहीं करते हैं। –

+0

हाँ यह है! (सभी नेवी ...) इसकी तरह, आपने कहा कि कुछ कारें रेलवे का उपयोग करती हैं! मैं नहीं कह रहा हूँ! सभी ऑटोमोबाइल में पहियों हैं और वे रेल तरीकों का उपयोग नहीं करते हैं! सरल! और हाँ यह एक सामान्य नियम है, जीआईएस सॉफ्टवेयर में रास्टर डेटा पर सबसे कम पथ विश्लेषण निष्पादित किया जा सकता है (यानी आर्किज़ में कॉरिडोर फ़ंक्शन का उपयोग करके) लेकिन यह एक नेविगेशन सिस्टम नहीं है! उपर्युक्त उत्तरों में से कई को निश्चित रूप से कम वोट देना चाहिए, लेकिन आपका मैं केवल अनदेखा नहीं कर सका। – Zich

2

संग्रहीत सटीक तरीके स्वरूप पर निर्भर करता है; विभिन्न जीआईएस स्वरूपों के ढेर हैं। जीडीएएल उन सभी को पढ़ने (लगभग) पढ़ने के लिए एक उत्कृष्ट मुफ्त पुस्तकालय है।

आमतौर पर सड़कों एक "लाइनों परत" के रूप में फ़ाइल में संग्रहीत किया जाएगा, कि संलग्न मेटाडाटा के साथ पोलीलाइंस का एक सेट है। इसलिए प्रत्येक सड़क में शोर की श्रृंखला होगी, और आपके डेटा की गुणवत्ता के आधार पर उम्मीद है कि वे एक तरह से हैं या नहीं, गति अनुमान और कुछ प्रकार की कनेक्शन आईडी हैं।

हां, वे सामान्य रूप से हल करने के लिए निर्देशित ग्राफ़ में परिवर्तित हो जाते हैं। एज वजन दूरी या अधिक उपयोगी रूप से, उस किनारे की यात्रा के लिए लिया गया समय हो सकता है।

जल्दी सुलझाने precomputation और भंडारण स्थान (एक एम्बेडेड डिवाइस एक पीसी के लिए यहां एक अलग विकल्प की जरूरत हो सकती है) के बीच एक समंजन है। ऐसा करने के लिए वहां कुछ बहुत ही रोचक एल्गोरिदम हैं।

1

मोहम्मद: ठीक है, मैं वहां बहुत विस्तार से नहीं गया क्योंकि मूल प्रश्न उस पहलू पर काफी सहज लग रहा था। यदि आप ग्राफ सिद्धांत से परिचित नहीं हैं, तो शायद इस पर थोड़ा सा पढ़ना अच्छा विचार है - Wikipedia एक परिचय के लिए ठीक है।

आम तौर पर ऐसा होता है कि जीआईएस डेटा में सड़कों को संलग्न मेटाडाटा के साथ पॉलिलाइन के रूप में संग्रहीत किया जाता है। उन्हें ऑनस्क्रीन इत्यादि प्रदर्शित करने के लिए यह ठीक है, लेकिन उन्हें नेविगेट करने में सक्षम होने के लिए आपको यह जानने की जरूरत है कि कौन से एक दूसरे से जुड़े हुए हैं। तो मेटाडाटा में आमतौर पर सड़क के प्रत्येक छोर के लिए एक नोड आईडी होती है, इसलिए आप कह सकते हैं "यह सड़क खंड 457 है, यह नोड 332 से नोड 667 तक जाता है"। तो जब आप जीआईएस डेटा में पढ़ते हैं तो आप इसे आर्क्स (यानी एक ग्राफ) से जुड़े नोड्स के सेट के रूप में प्रस्तुत करते हैं।

कि मेटाडाटा आप जहाँ से सड़कों एक ही प्रारंभ/समाप्ति निर्देशांक होने का अनुमान लगा सकता है यह उपलब्ध नहीं आ रहा है (यह कुछ नहीं-तो-अद्भुत जीआईएस डेटा के साथ मामला है)। "निर्देशित" बिट का मतलब है कि सड़कों की दिशा है - उनमें से कुछ को किसी भी दिशा में यात्रा की जा सकती है, लेकिन अन्य केवल एक ही रास्ता हैं।

एक संयुक्ताक्षर के माध्यम से एक रास्ता खोजने के लिए विशिष्ट एल्गोरिथ्म डिज्कस्ट्रा एल्गोरिथ्म है; अभ्यास में विभिन्न डेरिवेटिव का उपयोग किया जाता है। असल में ग्राफ के चाप के साथ नोड से नोड में जाने के लिए, इसलिए आपको इसका समर्थन करने के लिए उचित डेटा संरचनाओं की आवश्यकता होती है।

आशा है कि मदद करता है ...

+0

@ पीटर, क्या आप लोगों के बारे में कुछ भी जानते हैं जो नक्शा डेटा को क्वाडट्री या आर-ट्री जैसे स्थानिक पेड़ में संग्रहीत करते हैं? मुझे पता है कि यह आपको दूरी की एक्स मात्रा के भीतर केवल तत्वों के लिए पूछताछ करने की अनुमति देता है। क्या इसका उपयोग प्रतिपादन के लिए किया जाएगा? केवल एक निश्चित त्रिज्या या किसी अन्य उपयोग के भीतर – mmcdole

+0

@ पीटर के भीतर प्रस्तुत करने के लिए, वैसे भी आपकी टिप्पणियों के लिए धन्यवाद। मैं जीआईएस फाइलफॉर्म पर प्राप्त सभी जानकारी चाहता हूं। मेरे पास ग्राफ थ्योरी का "ठीक" ज्ञान है .. यह सब कुछ है जिसके बारे में मेरे पास प्रश्न हैं;) – mmcdole

8

पिछली प्रतिक्रियाएं सभी जीआईएस sytems का संदर्भ लें।यह नहीं है कि पीएनडी (पोर्टेबल नेविगेशन डिवाइस) कैसे काम करते हैं। वे डेस्कटॉप/वर्कस्टेशन स्तर जीआईएस सॉफ्टवेयर चलाने के लिए बहुत आसान हैं।

इसके बजाए, पीएनडी स्टोर की जानकारी को सिमुकल मानते हैं। सड़कें खंडों में टूट गई हैं। यह मॉडल को बहुत आसान रखता है। एक सेगमेंट के भीतर, अधिकतम गति जैसे गुण नहीं बदलते हैं।

नियोजन उद्देश्यों के लिए, सड़क खंड ग्राफ में किनारों के रूप में कार्य करते हैं। प्रत्येक नोड्स के लिए, इनकमिंग और आउटगोइंग नोड्स दोनों संग्रहित होते हैं। योजना को संशोधित ए * एल्गोरिदम का उपयोग करके किया जाता है। एज वजन आमतौर पर दूरी नहीं होते हैं, लेकिन अनुमानित यात्रा समय (या TomTom एस मामले, वास्तविक, मापा समय) में।

सड़क नेटवर्क आम तौर पर हाइर्चिकल होते हैं, और सामान्य ए * धीमी स्टार्टर है। एक शहर से दूसरे शहर में यात्रा करते समय, ए * शुरुआती शहर के माध्यम से क्रॉलिंग की अत्यधिक मात्रा में खर्च करेगा। हालांकि, हम मनुष्यों को जानते हैं कि लंबी दूरी तय करते समय राजमार्गों का उपयोग करना सबसे अच्छा है। यही वह है जिसे वे बनाया गया है। पीएनडी इसी तरह राजमार्ग पसंद करते हैं। और चूंकि राजमार्ग बहुत दुर्लभ हैं, यह बहुत सारी स्मृति बचाता है।

एक और अनुकूलन अग्रेषित और पिछड़ा खोज है; आप दोनों तरफ से कुछ मध्य बिंदु की ओर योजना बनाते हैं। इसका बड़ा फायदा यह है कि यदि आप गलत मोड़ लेते हैं, तो आप फिर से एक नए स्टार्ट पॉइंट से खोज सकते हैं। पिछला खोज पेड़ अपरिवर्तित है क्योंकि आपका गंतव्य स्थानांतरित नहीं हुआ था।

+0

उत्तर के लिए धन्यवाद! यहां अच्छी जानकारी है – mmcdole

2

यदि आप कुछ कोड देखना चाहते हैं कि रूटिंग एप्लिकेशन कैसे काम करते हैं, तो openstreetmap.org wiki से जुड़े कुछ रूटिंग अनुप्रयोगों पर नज़र डालने का प्रयास करें। Navit और Gosmore दोनों खुले स्रोत हैं और विशेष रूप से स्थापित करने के लिए काफी आसान हैं।

गोसमोर एप्लिकेशन के डेवलपर निक रॉट्स ने interesting post को सड़क-वेक्टर डेटा का प्रतिनिधित्व करने के अपने विकल्पों के बारे में लिखा जो आपके लिए भी रूचि रख सकते हैं।

यदि आप कार्रवाई में गोसमोर को देखना चाहते हैं, तो यह ओपनस्ट्रीटमैप डेटा के आधार पर yournavigation.org रूटिंग वेबसाइट का बैकएंड है।

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

  • कोई संबंधित समस्या नहीं^_^