नेटवर्क में लाइनों को कैसे कनेक्ट करें?


15

मेरे पास लाइनों की एक आकृति है और बहुभुज का एक और है। जब दो या दो से अधिक लाइनें एक बहुभुज को काटती हैं, तो उन्हें कनेक्ट (तड़कना) किया जाना चाहिए, लेकिन कभी-कभी मैन्युअल डिजिटलीकरण के दौरान यह नहीं होता है। मुझे इन सभी त्रुटियों को खोजने और सुधारने की आवश्यकता है। मैंने v.cleanGRASS GIS का उपयोग किया और इसने स्वचालित रूप से बहुत सारे सिरों को तोड़ दिया, जो कि अच्छा था, लेकिन उनमें से कुछ डिस्कनेक्ट की गई पंक्तियाँ मेरे द्वारा दी गई सहिष्णुता से और अधिक हैं और अगर मैं सहनशीलता को बहुत बढ़ा देता हूं तो यह अन्य प्रकार की त्रुटियों को उत्पन्न करना शुरू कर देता है।

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

कोई विचार?


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

लेकिन कभी-कभी बहुभुज के बाहर सभी लाइनें समाप्त हो जाती हैं ...
vascobnunes

1
ये रेखाएँ क्या दर्शाती हैं? यदि वे नदियाँ हैं तो क्या वे अतिरिक्त जानकारी जैसे कि नाम या स्ट्रीम ऑर्डर से एनकोडेड हैं? क्या नेटवर्क का निर्देशन (जैसे कि नदी नेटवर्क) के रूप में कहा जाता है कि दो पहले ऑर्डर स्ट्रीम को दूसरे ऑर्डर स्ट्रीम में प्रवाहित होना चाहिए। मुझे लगता है कि मैं कहने की कोशिश कर रहा हूं कि आप बढ़ती खोज सहिष्णुता के साथ डॉगी तड़क के साथ इस मुद्दे पर काबू पाने के लिए तड़क प्रक्रिया के पीछे कुछ खुफिया जानकारी डालना चाहते हैं।
हॉर्नबड

1
आपकी टिप्पणी प्रश्न के विपरीत लगती है। सवाल यह लगता है कि आप एक सामान्य बहुभुज के भीतर आने वाले कोने को स्नैप करना चाहते हैं। यदि एक बहुभुज के बाहर एक शिखर गिरता है, तो आप इसके लिए कोई मापदंड नहीं देते हैं कि इसका इलाज कैसे किया जाना चाहिए! तो, वास्तव में बहुभुज और बहुपत्नी के बीच संबंध क्या है?
whuber

1
मैं व्हीबर से सहमत हूं; शायद आपको सवाल स्पष्ट करना चाहिए। लगता है कि आप ऐसी लाइनें चाहते हैं जो 'बहुभुज' के साथ-साथ 'करीब' हों, लेकिन जो 'में हैं' को छोड़ दें लेकिन ठीक से शामिल न हों?
डैरेन कोप

जवाबों:


7

समस्या के बारे में मेरी समझ इस प्रकार है:

यदि एक पॉलीलाइन समापन बिंदु एक बहुभुज को प्रतिच्छेद करता है तो पॉलीलाइन को एक ही बहुभुज को प्रतिच्छेद करने वाले सभी अतिरिक्त पॉलीलाइन समापन बिंदुओं पर (जोड़ जोड़कर या समायोजन करके) जुड़ने की आवश्यकता होती है।

कुछ पॉलीलाइन एंडपॉइंट्स एक बहुभुज को नहीं काटते हैं, अंडरशूट होते हैं, लेकिन इन्हें ऊपर के रूप में जोड़ा जाना चाहिए।

यह उत्तर पहले से दिए गए कुछ पर बनाता है, लेकिन पूरा नहीं है क्योंकि मुझे सभी QGIS कमांड के बारे में पता नहीं है - शायद कोई और इसे जोड़ सकता है?

  1. प्रत्येक पॉलीलाइन के लिए, एंडपॉइंट निर्देशांक ( वेक्टर> ज्योमेट्री टूल्स> एक्सट्रेक्ट नोड्स को निकालें और फिर साफ करें) निकालें और गणना करें कि वे बहुभुज के भीतर हैं या नहीं ( वेक्टर> रिसर्च टूल्स> लोकेशन द्वारा सिलेक्ट करें ) के ।

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

    आप उल्लेख करते हैं कि ऐसी परिस्थितियाँ हो सकती हैं जहाँ कुछ या सभी पंक्तियों को सही ढंग से जोड़ा गया है, इन स्थितियों में (संयोग पॉलीलाइन अंत बिंदुओं द्वारा पहचाने जाने योग्य) आप बहुभुज केन्द्रक के बजाय संयोग अंत बिंदु स्थान का उपयोग करने का विकल्प चुन सकते हैं क्योंकि विस्तार करने के लिए बिंदु उस बहुभुज के लिए कोई अतिरिक्त असंबद्ध पॉलीनेन्स।

  3. बहुभुज के बाहर गिरने वाले पॉलीलाइन समापन बिंदु के लिए, पॉलीलाइन के उस छोर को निकटतम बहुभुज के केंद्र में विस्तारित करें। फिर से, मैं निकटतम बहुभुज की गणना करने के बारे में निश्चित नहीं हूं, हालांकि GRASS v.distance मॉड्यूल चाल करने के लिए दिखता है।


समस्या समाधान के लिए एक अच्छा तर्क है। मुझे भी एलेग्थिथ के जवाब के साथ ऐसा कुछ मिला। लेकिन मैं "पॉलीलाइन के उस छोर को निकटतम बहुभुज के केंद्र में विस्तारित करने के लिए" ऑपरेशन में फंस गया था। अब सवाल यह है कि मैं ऐसा कैसे करूं? अगर मैं बहुभुज के केन्द्रक के लिए v.clean.snap का उपयोग करता हूं तो यह अभी भी किसी भी कोने को स्थानांतरित करेगा जो एंडपॉइंट नहीं हैं ...
vascobnunes

एक दृष्टिकोण यह होगा कि पॉलीइन को बिंदुओं के रूप में परिवर्तित किया जाए और यदि आवश्यक हो तो किसी दिए गए लाइन के प्रारंभ या अंत में एक अतिरिक्त बिंदु जोड़ें जो मौजूदा प्रारंभ या अंत बिंदु के स्थान द्वारा तय किया गया हो। जोड़े गए बिंदु का स्थान बहुभुज का केंद्रक होगा, और बिंदु को पॉलीलाइन के प्रारंभ या अंत में रखने के लिए -1 या 1000000 के शीर्ष क्रम संख्या के साथ जिम्मेदार ठहराया जाएगा। इसके बाद
पॉलीन्स

2

मुझे लगता है कि मैं इसे कुछ कस्टम एल्गोरिदम के साथ कर सकता हूं ... ध्यान दें कि आप इसे कैसे लागू करना चाहते हैं, लेकिन मुझे लगता है कि यह काम करेगा।

प्रत्येक पंक्ति के लिए, प्रत्येक अंत बिंदु के लिए, अंतिम बिंदु पर शीर्ष के लिए बहुभुज में एक बिंदु करें और इसे बहुभुज से लिंक करें।

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

यह बहुत आसान है। लेकिन मानक ऑपरेटरों में उपलब्ध नहीं है। मुझे लगता है कि यह आर्कजीआईएस में एक दिन कोडिंग समय के साथ किया जा सकता है।

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


1

दिलचस्प समस्या! मैं स्वचालित रूप से तड़क-भड़क प्रदर्शन करने का एक तरीका नहीं सोच सकता, लेकिन यहां मैनुअल पहचान के लिए कम से कम देखने के लिए क्षेत्रों की पहचान करने का एक कदम है:

  • अपनी पंक्ति परत में एक नया कॉलम जोड़ें, और इसे सभी विशेषताओं के लिए '1' के बराबर सेट करें।
  • वेक्टर के तहत> स्थान से जुड़ने के गुण, अपनी लक्ष्य परत को अपनी बहुभुज परत, और रेखा परत को सम्मिलित परत के रूप में सेट करें। फिर "टेक इंटर्सेक्टिंग फीचर्स का सारांश" चुनें और "सम" पर क्लिक करें। आउटपुट फ़ाइल के लिए एक स्थान दें, और "ठीक है।"
  • परिणामी बहुभुज फ़ाइल आपकी मूल बहुभुज परत होगी, लेकिन कुछ अतिरिक्त क्षेत्रों के साथ। SUM फ़ील्ड वह है जो आप चाहते हैं; जब यह 2 है, इसका मतलब है कि तब आप इसे ज़ूम कर सकते हैं और मैन्युअल रूप से सुविधाओं को स्नैप कर सकते हैं।

स्थिति (सुविधाओं की संख्या, संख्या जो इस स्थिति में हैं बनाम उन पर नहीं हैं, आदि) के आधार पर यह आपको कुछ समय बचा सकता है।

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


मैंने पहले ही ऐसा कुछ किया था। मैंने भी लाइनों के लिए नोड्स को पुनः प्राप्त करने के लिए v.net का उपयोग किया और नोड्स से मेल खाते बहुभुज का स्थानिक चयन किया। मुझे इसे सही करने के लिए बहुत सी त्रुटियां मिलती हैं, लेकिन मुझे अभी भी 3 बड़ी समस्याएं हैं: 1) मैन्युअल रूप से सही करने के लिए हजारों त्रुटियां हैं, जो लूंग समय लेती हैं; 2) मुझे कुछ मामलों में सभी त्रुटियां नहीं मिलती हैं, जो कि लाइनें या नोड्स पॉलीगॉन को 'स्पर्श' नहीं करते हैं; 3) मुझे ऐसी त्रुटियां मिलती हैं जो त्रुटियां नहीं हैं, जब दो लाइनें ठीक से जुड़ती हैं, तो वे भी चयनित होती हैं।
vascobnunes

0

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

यह उन लोगों के लिए भी काम करेगा जो बहुभुज के बाहर रहते हैं। यह कैसे करना है कि QGIS में मुझे नहीं पता, क्षमा करें, लेकिन मैं ESRI के उत्पादों में ऐसा करूंगा जिन्हें मैं अच्छी तरह से जानता हूं। जब मैंने पहले उत्तर में कहा, तो मुझे समझ आया कि "स्टार" बनाने का सुझाव दिया गया था।

मुझे पूरा यकीन है कि यहां ऐसे लोग हैं जो जानते हैं कि क्यूजीआईएस में इस तरह का विश्लेषण कैसे किया जाता है


4
जीआईएस स्टैक एक्सचेंज में आपका स्वागत है! मैंने देखा कि आपके उत्तर ने कुछ गिरावट और संदेह को आकर्षित किया है, क्योंकि आपने उस तकनीक का विकल्प सुझाया है जिसका उपयोग करने वाला (GRASS / QGIS) कर रहा है। मेरी सिफारिश होगी कि ऐसे सुझावों को उत्तरों के बजाय टिप्पणियों के रूप में फ्लोट किया जाए और यदि प्रश्नकर्ता रुचि रखता है तो जानकारी को उत्तर में स्थानांतरित करें।
PolyGeo
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.