लाइनों से विशेष दूरी पर समानांतर लाइनें बनाना जो एक आकृति का हिस्सा हैं


11

मैं QGIS 2.18 का उपयोग कर रहा हूं। मेरे पास शेपफाइल है जिसमें कई लाइनें हैं। कुछ डेटा प्रोसेसिंग को संसाधित करने के बाद, मुझे मौजूदा लाइनों से अलग-अलग दूरी पर समानांतर रेखा खींचने की आवश्यकता है। उदाहरण के लिए मेरे पास मौजूदा शेपफाइल में 32 लाइनें हैं। मैं लाइन आईडी नंबर से 50, 100, 170, 500,400 की दूरी पर समानांतर रेखा खींचना चाहता हूं। 3, 6,20,25,31 एक बार में। क्या ऐसा करने के लिए QGIS में कोई विधि या प्लगइन है?

जवाबों:


6

आप QAD प्लगइन का उपयोग कर सकते हैं , जो QGIS में CAD जैसी कमांड प्रदान करता है।

यह केवल प्रोजेक्टेड कोऑर्डिनेट सिस्टम के साथ काम करता है (इसलिए इसका उपयोग करने से पहले आपको अपना डेटा प्रोजेक्ट करना होगा) और संपादन मोड सक्षम होने के साथ (लेयर पर राइट-क्लिक करें और चुनें Toggle Editing)।

आपके मामले के लिए, आपको ऑफसेट बटन पर क्लिक करने की आवश्यकता है :

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

और उन निर्देशों का पालन करें जो QAD टेक्स्ट विंडो पर दिखाई देंगे (बिल्कुल AutoCAD की तरह):

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

उदाहरण के लिए, दो अलग-अलग सुविधाओं के लिए एक अलग ऑफसेट का उपयोग करते समय यह आउटपुट होता है:

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


आपके जवाब के लिए धन्यवाद। क्या डेटा को प्रोजेक्ट किए बिना इस कार्य को करने के लिए कोई अन्य विधि या प्लगइन है?
जितेंद्र

मैंने अनुमानित आंकड़ों के साथ एक दृष्टिकोण का उपयोग किया क्योंकि ऐसा लगता था कि आप मीटर ( 50, 100, 170, 500,400 की दूरी) के साथ काम कर रहे थे । प्रक्षेपण बदलना बहुत सरल है: परत पर राइट-क्लिक करें, Save asऔर फिर अंत में एक अनुमानित समन्वय प्रणाली का चयन करें। एक बार जब आप ऑफ़सेट का प्रदर्शन कर लेते हैं, तो आप रिवर्स ऑपरेशन के साथ भौगोलिक समन्वय प्रणाली में वापस आ सकते हैं ... यह सही होना चाहिए।
mgri

डेटा को प्रोजेक्ट किए बिना, आपको मीटर के बजाय कोणों से निपटने की आवश्यकता है और मुझे नहीं पता कि क्या यह आपके लिए आसान हो जाता है ...
mgri

QAD टूल ठीक काम कर रहा है। लेकिन मुझे मैन्युअल रूप से सभी पंक्तियों के लिए कार्य को दोहराना होगा। क्या विशेषता तालिका या एक्सेल या CSV फ़ाइल से स्वचालित रूप से पढ़ने के लिए लाइन_आईडी और दूरी पढ़ने की कोई विधि है और सभी समानांतर रेखाएँ एक साथ खींचती हैं।
जितेन्द्र

मैं एक उपकरण नहीं जानता, जो यह कार्य करता है, लेकिन मैं PyQGIS का उपयोग करके समाधान देने का प्रयास कर सकता हूं ... क्या यह आपके लिए रुचि का हो सकता है?
mgri

6

यदि आपकी विशेषता तालिका में एक स्तंभ है जो समानांतर रेखाओं के बीच की दूरी को निर्दिष्ट करता है तो निम्न विधि इसे एक में करने में सक्षम होनी चाहिए -

आप प्रसंस्करण टूलबॉक्स में Single sided buffers (and offset lines) for linesएल्गोरिथ्म का उपयोग कर सकते हैं GDAL/OGR > [OGR] Geoprocessing। आपको ऑपरेशन को ऑफसेट कर्व के रूप में सेट करना होगा और बफ़र दूरी में कॉलम वाले नाम को दर्ज करना होगा (मेरे मामले में कॉलम का नाम चौड़ाई है )। इसके अलावा, आप सेट कर सकते हैं कि दाएं या बाएं बफ़र पक्ष का चयन करके समानांतर रेखा के किस पक्ष को खींचा जाना चाहिए ।

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


जवाब के लिए धन्यवाद। मैं आपके सुझाव के अनुसार OGR टूल का उपयोग कर रहा हूं लेकिन नए आउटपुट शेपफाइल में कुछ भी नहीं दिखाया गया है।
जितेन्द्र

क्या आप अपने आकार फ़ाइल में प्रक्षेपण प्रणाली को साझा कर सकते हैं? आउटपुट परत विशेषता तालिका का स्क्रीनशॉट शायद मददगार हो।
nash

शेपफाइल का प्रोजेक्शन सिस्टम EPSG 4326
जितेन्द्र

तो आप समझते हैं कि नई लाइनें 50,100,170,500 और 400 की दूरी पर बनाई गई हैं, जो कि यूनिट डिग्री में है और मीटर नहीं है (जो मैं आपको मान रहा हूं?)
nash

यह मानते हुए कि आप मीटरों में दूरी चाहते हैं - आपको अपनी शेपफाइल को मीटरों में इकाइयों के साथ एक प्रक्षेपण प्रणाली में बदलना होगा (उदाहरण के लिए लागू क्षेत्र का एक UTM प्रक्षेपण प्रणाली)। फिर एल्गोरिथ्म चलाएं।
नशीला

6

आप "v.parallel" का उपयोग कर सकते हैं, आप इस टूल को QGIS प्रोसेसिंग टूलबॉक्स में पा सकते हैं।

  1. लाइन आईडी नंबर के साथ लाइन का चयन करें। 3, 6,20,25,31 है लाइनों का चयन करें

  2. "V.parallel" का उपयोग करें, चयनित लाइनों से समानांतर रेखा बनाएं। लेकिन, आपको अलग-अलग ऑफसेट दूरी (50, 100, 170, 500,400) का उत्पादन करने के लिए कई बार करना होगा। एक विकल्प "साइड" है, आप समानांतर लाइनों के स्थान को असाइन कर सकते हैं। "V.parallel"

  3. परिणाम: चयनित लाइनों के बाईं ओर समानांतर रेखाएं (नीला रंग) परिणाम

उत्तर के लिए साय वाई धन्यवाद। मैंने v.parallel कमांड का उपयोग किया है लेकिन नए आउटपुट शेपफाइल में कुछ भी नहीं दिखाया गया है।
जितेन्द्र

1
p / s: "v.parallel" कमांड केवल घुमावदार लाइनों के साथ काम करता है, यह सीधी रेखाओं के लिए काम नहीं कर सकता है जिसमें केवल दो लाइन शीर्ष हैं।
साई टी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.