मानचित्र मिलान लिंक और विचार? [बन्द है]


44

मैं OpenStreetMap और इसके सदिश सड़क नेटवर्क का उपयोग कर रहा हूं और मैं एक मानचित्र मिलानक एल्गोरिदम लागू करना चाहता हूं।

वर्तमान में मैं प्रत्येक जीपीएस स्थिति के लिए सक्षम हूं, निकटतम सड़क खंड को पुनः प्राप्त करने के लिए और इस स्थिति के प्रक्षेपण की गणना उस खंड की तरह, इस छवि पर (लाल पिन शुद्ध जीपीएस स्थिति है, नीले रंग में मैप किए गए खंड में और ग्रीन में मैप की गई स्थिति):

यहाँ छवि विवरण दर्ज करें

हालांकि, जीपीएस की सटीकता की कमी के कारण, कभी-कभी मैप की गई स्थिति सेगमेंट से दूसरे में कूद जाती है और समय-समय पर कुछ असंगत मैपिंग स्थिति प्रदान कर सकती है।

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

मैं कल्पना कर सकता हूं कि वाहन की दिशा को ध्यान में रखते हुए मानचित्र मिलान में सुधार होगा, लेकिन क्या आप किसी अन्य दृष्टिकोण को जानते हैं जो मुझे अपने मानचित्र मिलान में सुधार करने में सक्षम करेगा?

मैं किसी भी लिंक, और / या ओपन सोर्स सॉफ्टवेयर की तलाश करता हूं?


4
आप एक सर्कल जोड़ सकते हैं - Google सेल रिसेप्शन का उपयोग करता है और अपना अनुमानित स्थान दिखाने के लिए एक हल्का नीला सर्कल बनाता है। आप ऐप अच्छा, अच्छा काम करते हैं। आप वेक्टर डेटा आप अपने जीपीएस बिंदु से निकटतम लाइन पर ले सकते हैं - पॉल रैमसे द्वारा पोस्ट देखें blog.cleverelephant.ca/2008/04/snapping-points-in-postgis.html
Mapperz

4
आप जिस कीवर्ड की तलाश कर रहे हैं, वह मैप मिलान है। बड़ा विषय।
उफ़े कुसगार्ड

1
Uffe सही है, मानचित्र मिलान। कुछ तरीकों के लिए इस पेपर को देखें: cens.ucla.edu/~mhr/cs219/maps/white00.pdf
lexicore

धन्यवाद! लेसिकोर, पेपर को मेरे प्रिंटर पर भेजा जा रहा है क्योंकि मैं इसे टाइप करता हूं। अवलोकन करने का समय। लिंक के लिए आपको धन्यवाद।
scrrr

मैं एल्गोरिथ्म में सुधार करूँगा, केवल वास्तविक छोरों के बजाय वास्तविक सड़क पर स्नैप करने की कोशिश करके।
देवदत्त तेंग्शे

जवाबों:


11

आप पहले से ही कर रहे हैं के रूप में लाइन पर अंक का अनुमान सीधे PostGIS में करने के लिए संभव है। मैंने लिखा है कुछ समय पहले, यहाँ

लेकिन अपनी समस्या को हल करने के लिए जब अंक सही सेगमेंट की तुलना में गलत सेगमेंट के करीब होते हैं तो शायद यह एक संभावित दृष्टिकोण हो सकता है।

  1. बिंदुओं का एक लिनेस्ट्रिंग बनाएँ
  2. बिंदु से सिर्फ बिंदु के बजाय पूरी रेखा से मेल खाने वाले सेगमेंट के लिए एल्गोरिदम में सुझाए गए समाधान का प्रयास करें

आपके उत्तर के लिए thx प्रक्षेपण ठीक है: मैं इसे पहले ही कर रहा हूं (ST_Closest के माध्यम से नहीं क्योंकि यह स्थानिक में उपलब्ध नहीं है जो मैं उपयोग कर रहा हूं लेकिन ठीक है)। मैं सिर्फ आपके द्वारा बताए गए प्रश्न को देख रहा था और इस "हॉसडॉर्फ दूरी" के अस्तित्व के बारे में सीखा जो देखने में दिलचस्प हो सकता है।
योनल

10

आपके प्रश्न, और विभिन्न उत्तरों को पढ़ने के बाद, मुझे इस समस्या में दिलचस्पी हुई। मैप-मैचिंग एल्गोरिदम पर थोड़ा पढ़ने के बाद, मैंने निम्नलिखित को समझा है:

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

आगे पढ़ने के लिए, मैं निम्नलिखित सुझाव देता हूं:


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

मैं वजन का उपयोग करने के साथ सावधान रहूंगा "तो एक राजमार्ग के साथ एक बिंदु के मिलान की संभावना अधिक होगी, फिर एक साइड लाइन के मिलान के साथ।" ... यह इनपुट डेटा पर निर्भर करता है और बहुत गलत हो सकता है।
UnderDark

@ देवदत्त, मुझे दूसरी कड़ी में 404 मिले। मेरे बजाय सिर्फ इसे संपादित करने से, क्या आपके पास कोई वैकल्पिक लिंक है?
चाऊ

मेरे पास उस लेख का मुफ्त एक्सेस लिंक नहीं है। लेकिन अगर आप एकेडमिक सेटअप में हैं। लेख एक त्वरित खोज के बाद उपलब्ध होना चाहिए
देवदत्त तेंग्शे

@ अचू: मुझे पीडीएफ मिल गया: researchgate.net/profile/Alain_Kornhauser/publication/…
Devdatta Tengshe

7

मेरे ही सवाल का जवाब!

1- एक अच्छा। Pdf मैं सिर्फ इस विषय के बारे में पाया:

http://safari.ce.sharif.edu/file/2011-06-06/259/2009_An%20off-line%20map-matching%20algorithm%20for%20incomplete%20map%20databases.pdf

दस्तावेज़ में वर्णित मानचित्र मिलानकर्ता के C ++ ओपन सोर्स कार्यान्वयन के लिए भी लिंक : http://eden.dei.uc.pt/~camara/files/mgemma.zip
(यह एक ऑफ़लाइन मानचित्र मिलानकर्ता है, मेरी समझ है यह इनपुट के रूप में WHOLE पथ के साथ मानचित्र से मेल खाते पदों की गणना करता है और प्रत्येक स्थिति के लिए मक्खी पर ऐसा नहीं कर सकता है)।

2- फिर, मैंने इसे गहराई से पढ़ा है और यह वास्तव में मेरी राय में अच्छा है: https://dspace.lboro.ac.uk/dspace-jspui/bitstream/2134/4860/1/velaga.pdf "विकास" इंटेलिजेंट ट्रांसपोर्ट सिस्टम के लिए एन्हांस्ड वेटेड-बेस्ड टॉपोलॉजिकल मैपमैचिंग एल्गोरिदम "
एल्गोरिथ्म को स्पष्ट रूप से समझाया गया है और डॉक में वेट एडजस्टमेंट वैल्यूज़ भी दी गई हैं।


4

मानचित्र-मिलान पर बहुत काम होता है इस पेपर को कुछ हालिया कार्य (2007 से पहले) के संक्षिप्त सर्वेक्षण के लिए देखें । हाल ही में, हिडन मार्कोव मॉडल पर आधारित दृष्टिकोण सामान्य परिस्थितियों में काफी अच्छा प्रदर्शन करते हैं। उदाहरण के लिए, 2009 से इस पेपर को देखें। विचार और मॉडल काफी सरल हैं और आपको इसे लागू करने में बहुत परेशानी नहीं होनी चाहिए, भले ही आप HMMs से परिचित न हों (जिस स्थिति में, घबराएं नहीं, बहुत सारे हैं के ट्यूटोरियल और परिचय ऑनलाइन)


1
बस एहसास हुआ कि मेरे जवाब में मैंने जो बेयरफुट -प्रोजेक्ट का उल्लेख किया है, वह कागज पर आधारित है @ निक की सिफारिश।
निक

4

विधि को "वेक्टर संगम" भी कहा जाता है। एक समर्पित विकी पेज है ( http://wiki.openstreetmap.org/wiki/Conflation ) जो सामान्य अवलोकन और सूचियाँ (ओपन सोर्स) सॉफ्टवेयर पैकेज देता है जो "JOSM टकराव प्लग इन", "पॉटलैच 2 मर्जिंग" की तरह सदिश टकराव का प्रदर्शन करता है। उपकरण "," रोडमेकर "(ओपनजुम के लिए), और अन्य।


1
मैंने हमेशा सोचा था कि कुछ ऐसा है जो आप लाइनों पर मिलान बिंदुओं के बजाय दो लाइन परतों के साथ करते हैं। क्या वास्तव में ऐसा ही है?
UnderDark

4

मानचित्र-मिलान एल्गोरिदम के लिए, यह निर्भर करता है कि आपको वास्तविक समय या ऑफ़लाइन प्रसंस्करण की आवश्यकता है या नहीं। बाद के मामले में, अत्याधुनिक अल्गोस प्रति सेकंड ~ 1000 बिंदुओं को संसाधित कर सकते हैं। स्मृति आवश्यकताएँ पाठ्यक्रम के कवरेज पर निर्भर करती हैं। हम उस उद्देश्य के लिए लगभग 16 Gb पर ग्रह के OSM सड़क नेटवर्क को निचोड़ने में कामयाब रहे हैं।

इसके अलावा, आपको मार्ग -निर्धारण से मानचित्र-मिलान को अलग करने की आवश्यकता है : यदि आपके पास उच्च या निम्न आवृत्ति डेटा है, तो ये दो अलग-अलग प्रक्रिया हैं। जब आपके पास अपेक्षाकृत कुछ बिंदु होते हैं (जैसे कि शहरी संदर्भ में प्रत्येक किलोमीटर पर 1 डेटा), तो यह पथ निष्कर्ष है क्योंकि आमतौर पर यह अनुमान लगाने के लिए कुछ अनुमान लगाया जाता है कि उपकरण कहां यात्रा कर रहा है। पथ अनुमान आमतौर पर कठिन है लेकिन आधुनिक उपकरणों / डेटा अधिग्रहण की कीमत के साथ एक समस्या कम हो रही है।

आप OS के लिए सीधे मैप करने वाले API के लिए मेरी प्रोफ़ाइल की जाँच कर सकते हैं: यह टोपोलॉजिकल मिलान का उपयोग करता है और उदाहरण के लिए फ्लोटिंग कार डेटा के साथ अच्छी तरह से काम करता है।


क्या आप अपने द्वारा उपयोग किए जा रहे एल्गोरिदम पर विस्तार कर सकते हैं? और सड़क नेटवर्क के आकार को कम करने से कैसे मदद मिलती है?
देवदत्त तेंगशे '

कम कवरेज = मेमोरी में रखने के लिए छोटा नेटवर्क। यह गणना की गति को थोड़ा बढ़ा देता है। संदर्भ: trb.metapress.com/content/p31485vw72645686
फैब्रीस

3

स्ट्रॉ स्लाइड का वर्णन है कि सड़क नेटवर्क पर संचयी ट्रैक डेटा "घाटियों" की तरह कैसे व्यवहार कर सकता है, और प्रस्तावित मार्ग "जगह में गिर जाएगा" जैसे कि यह मोतियों की एक स्ट्रिंग थी।


2

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


2

विषय को मानचित्र मिलान कहा जाता है। लेकिन पहले बहुत अच्छे सन्निकटन के रूप में यह शायद हर जीपीएस बिंदु के लिए निकटतम बिंदुओं को देखने के लिए पर्याप्त है (बिना किसी सुधार के सही तरीके का अनुमान लगाने पर)।

मेरा ओपन सोर्स प्रोजेक्ट जिसे ग्राफोपर कहा जाता है, वह ऐसा कुछ नहीं है जो iOS के लिए काम करता है ( अपडेट : यह अब iOS पर भी काम करता है), और न ही यह पूरी तरह से कार्यात्मक एंड्रॉइड ऐप है जिसे आप चाहते हैं। लेकिन आप एक iOS ऐप बनाने के लिए सर्वर संस्करण का उपयोग कर सकते हैं या एक शुरुआत के रूप में ऑफ़लाइन एंड्रॉइड डेमो का उपयोग कर सकते हैं। मैंने मानचित्र मिलान एल्गोरिथ्म को यहां जारी किया है , बस एक मोटा प्रोटोटाइप लेकिन आश्चर्यजनक रूप से अच्छी तरह से काम करता है।


1

कोशिश करें और कुछ अच्छे परीक्षण डेटा प्राप्त करें। अपने टार्गेट डिवाइस पर लॉगिंग पॉइंट्स के अलावा, एक अतिरिक्त उच्च सटीकता वाले ट्रैक लॉगिंग जीपीएस का उपयोग करें। यह GPS और अंतर्निहित OSM डेटा में त्रुटियों की पहचान करेगा। समझदार थ्रेसहोल्ड को जानने से एल्गोरिथ्म को डिजाइन करना बहुत आसान हो जाएगा।


1

यदि आप अपने क्षेत्र के लिए सड़कों का डेटा प्राप्त कर सकते हैं, तो आपको FOSS के साथ स्वचालित बल्क स्नैपिंग में रुचि हो सकती है

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


1

मुझे एक एपीआई मिला है जो अभी-अभी अपना खुद का समाधान विकसित करने के प्रयास के बिना काम करता है।

वे मानचित्र मिलान करने के लिए OSM डेटा का उपयोग करते हैं। उनके पास एक डेमो पृष्ठ भी है जो GPX फ़ाइलों को अपलोड करने की अनुमति देता है यह देखने के लिए कि यह आपके लिए कितना अच्छा काम कर सकता है।


-1

आपको आवश्यक रूप से अपने डेटा की गुणवत्ता में सुधार करने की आवश्यकता नहीं है। इन-मेमोरी रोड नेटवर्क के साथ टोपोलॉजिकल एल्गोरिथ्म का उपयोग करने से आपके मिलान में काफी सुधार होगा। संदर्भों के लिए जाँच करें: http://trb.metapress.com/content/p31485vw72645686

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.