नक्शे पर "टर्मिनल" शहरों का पता लगाना


13

मैं उन गाँवों / शहरों को खोजना चाहता हूँ जो समाप्त हो चुके हैं । इसका मतलब है: मुझे इस गाँव की आवश्यकता है जो कि एक्स किमी की दूरी पर अधिकतम एक गाँव से जुड़ा हुआ है ।

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

क्या इसके लिए कोई उपकरण है? इस अवधारणा को कैसे कहा जाता है?

उदाहरण के लिए

 City ------------ Village 1 ------- Village 2 ------ Village 3 - - - [ Mountain]
                    \                 \                                \
                     Village 4         |                                Road
                     |                  \                            in mountains
                     Village 5----------Village6---------Village7 - - - - -  

जब तक पहाड़ों में सड़क Xkm से अधिक लंबी है, Village 3और Village 7मुझे टर्मिनल द्वारा माना जाएगा , क्योंकि वे एक गांव (V2, क्रमशः V6) से जुड़े हुए हैं।

अन्यथा, हम हमारे पास खुले डेटा के साथ एक का निर्माण करना चाहते हैं।


मैंने क्या कोशिश की है :

मेरे देश (रोमानिया) के लिए OSM डेटा डाउनलोड करना और गांवों और शहरों को डेटाबेस में आयात करना। डेटाबेस से जियोलोकेशन फ़ंक्शंस का उपयोग करके मैं उन गांवों को ढूंढने में सक्षम हूं जिनके पास आर किमी के दायरे में एक्स गांवों से अधिक नहीं है ।

हालाँकि यह मेरे मामले का हल नहीं है क्योंकि मेरे मामलों में एक गाँव पहाड़ के दूसरी तरफ हो सकता है, जैसे ऊपर के उदाहरण में, लेकिन इसका कोई अच्छा तरीका नहीं है (या बिल्कुल भी रास्ता नहीं है)।


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

@RoperMaps मेरे पास अभी तक कोई उपकरण नहीं है, लेकिन सामान्य रूप से पूछ रहा हूं (और अंत में, अगर किसी ने पहले इस तरह से कुछ बनाया है)। मैं इसे बढ़ाता हूँ, एक अंक देते हुए (जो कि नोड की तुलना में एक्स से छोटा है)। अधिक से अधिक स्कोर, अधिक जुड़ा हुआ (और कम टर्मिनल ) यह है। यदि मैं इसका निर्माण करता, तो शायद मैं Node.js का उपयोग करते हुए कुछ ग्राफ़ को पार्स करके समाप्त कर देता, लेकिन अगर किसी और ने पहले किया था, तो बस सोच रहा था। : D
Ionică Bizău

@RoperMaps मुझे लगता है कि मैं इसके लिए OSM का उपयोग कर सकता हूं, लेकिन मुझे यह बहुत मुश्किल लगता है (जैसे कि नोड्स को जोड़ने के तरीके हैं, लेकिन ये नोड्स केवल बिंदु हैं, शहरों का प्रतिनिधित्व नहीं करते हैं)। मैं ग्राफ़ में लीफ़्स खोजने के लिए एक एल्गोरिथ्म लिख सकता हूं या मेरे मामले के लिए कुछ और बढ़ाया जा सकता है, लेकिन मुझे यकीन नहीं है कि इसके लिए ओएसएम डेटा का उपयोग कैसे किया जाए (या ओएसएम की तुलना में एक आसान तरीका है?)।
Ionică Bizău

आप कौन से सॉफ़्टवेयर का उपयोग कर रहे हैं ? क्या आप वास्तविक दूरी या पक्षी उड़ान दूरी में काम करते हैं?
राडौक्सजू

@radouxju मेरा पहला कार्य प्रोटोटाइप बर्ड फ़्लाइट डिस्टेंस (त्रिज्या, निर्देशांक के आधार पर) है - यह एक शुरुआत है, लेकिन यह वह नहीं है जो मैं चाहता हूं। मैंने अपनी स्क्रिप्ट Node.js में लिखी और MongoDB का उपयोग किया। मैं वास्तविक दूरियों को पसंद करता हूं: जैसे अगर दो पहाड़ हैं, जो पहाड़ी से अलग हैं, पहाड़ी के ऊपर कोई सड़क नहीं है, तो उनके बीच की दूरी उन्हें जोड़ने वाली सबसे छोटी सड़क होगी।
Ionică Bizău

जवाबों:


2

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


खैर, और यह कैसे करना है?
Ionică Bizău

आप इसे मॉडलबिल्डर के साथ कर सकते हैं और पायथन को निर्यात कर सकते हैं। ArcObjects एक और मार्ग है लेकिन अधिक जटिल है। क्या आपने पहले कभी मॉडलबिल्डर का इस्तेमाल किया है?
user17260

"स्पर्श" विकल्प के साथ एक स्थानिक चयन आपको आरंभ कर सकता है। मूल चयन सेट को संकुचित करें जब आप चयन सेट को उल्टा करते हैं जो स्पर्श नहीं करते हैं।
user17260

मैंने मॉडलबिल्डर का उपयोग नहीं किया। मुझे स्टेप उत्तर द्वारा चरण की आवश्यकता है, क्योंकि यह OSM डेटा के साथ मेरी पहली बातचीत है। : D मेरे लिए बहुत मुश्किल है कि मैं इसके बारे में ट्यूटोरियल भी खोजूँ।
Ionică Bizău

वाह, यह एक बड़ा अनुरोध है। क्या आपके पास ArcMap के ArcInfo लाइसेंस तक पहुंच है?
user17260

2

आप QGIS और शुरुआत में Graphab या Conefor जैसे लैंडस्केप कनेक्टिविटी की गणना करने के उद्देश्य से एक सॉफ्टवेयर का उपयोग करके इसे प्राप्त करने में सक्षम हो सकते हैं । उदाहरण के लिए :

  • अपने OSM डेटा को QGIS में आयात करें, या तो ड्रैग और ड्रॉप करके या OpenStreetMap प्लगइन का उपयोग करके।
  • आकृति के रूप में अपना डेटा सहेजें (राइट-क्लिक करें)
  • जैसा कि यहां बताया गया है, नोड्स और कनेक्शन फ़ाइलों को उत्पन्न करने के लिए Conefor प्लगइन का उपयोग करें
  • Conefor का उपयोग करके प्रत्येक नोड और लिंक के महत्व की गणना करें। कनेक्टिविटी के लिए "एंड नोड" महत्वपूर्ण नहीं होगा। मुझे लगता है कि आप बीसी (IIC) मीट्रिक का उपयोग कर सकते हैं क्योंकि यह ध्यान में रखता है "सभी जोड़ी पैच के बीच सबसे छोटे रास्तों की संख्या जो एक विशेष नोड (...) और [लिंक की लंबाई (लिंक की संख्या) से गुजरती हैं। पैच के बीच के रास्ते जिसमें एक विशेष नोड शामिल है " ( यहां देखें )

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


इसके लिए धन्यवाद! जल्द ही इसका प्रयास करेंगे। [और] लंबाई (लिंक की संख्या) - जो मुझे किलोमीटर में दूरी देगा (यदि नहीं, तो मुझे वह कैसे मिल सकता है?)
Ionică Bizău

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

इसके अलावा, यदि आप लैंडस्केप कनेक्टिविटी पर ध्यान केंद्रित करने वाले टूल पर अधिक जानकारी चाहते हैं, तो आप इस
रिसर्चगेट

मैंने QGIS को थोड़ा बुग्याल (कम से कम मेरी मैकबुक पर) पाया, लेकिन अंतिम लिंक उपयोगी है। साथ ही उनके जवाबों की जांच करेंगे। धन्यवाद!
Ionică Bizău

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