QGIS में समोच्च बहुभुज के लिए रेखापुंज परिवर्तित करें


14

मुझे एक रेखापुंज परतों से चिकनी समोच्च बहुभुज बनाने में सीमित सफलता मिली है।

मैंने समोच्च रेखाएं और सीमा पॉलीलाइन बनाई हैं और फिर QGIS यूनियन का उपयोग किया है। तब मैं QGIS बहुभुज का उपयोग करता हूं। फिर पॉलीगोन पर मूल्य प्राप्त करने के लिए मूल रेखापुंज के लिए आंचलिक आँकड़ों का उपयोग करें।

मैंने जो 2 तरीका आजमाया, वह था रेखापुंज को बहुभुज में बदलना। फिर समोच्च मैं इच्छा के लिए गोल एक नया विशेषता स्तंभ बनाएँ। फिर मैं उसी मूल्य के बीच की रेखाओं को भंग करता हूं। फिर v.generalize का उपयोग करें। यह विधि थोड़ी तेज है, लेकिन यह कुछ बहुभुजों को दांतेदार / बेपर्दा छोड़ देगी।

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

क्या कोई आसान तरीका है जो वास्तव में हर समय काम करता है। ऐसा लगता है कि एक साधारण कमांड होना चाहिए जो पूरी प्रक्रिया करता है।


2
आप Polygonize का उपयोग क्यों कर रहे हैं? क्या आपका इनपुट रेखापुंज निरंतर (एक अस्थायी बिंदु DEM की तरह) है? QGIS के पास एक समोच्च उपकरण है, जो GDAL_Contour .. qgistutorials.com/en/docs/working_with_terrain.html के लिए एक शॉर्टकट है। क्या आप कॉन्ट्रोवर्सीज़ या हाइपोमेट्रिक क्षेत्र प्राप्त करने की कोशिश कर रहे हैं?
माइकल स्टिम्सन

इनपुट फ़ाइल एक tif है और आवश्यक आउटपुट फ़ाइल विशिष्ट वेतन वृद्धि पर केवल बहुभुज के साथ एक आकृति फ़ाइल है। मुझे पॉलीइन्स बनाने के लिए कई उपकरण मिले हैं, लेकिन बहुभुज नहीं।
Rx_

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

आप जो वर्णन करते हैं, वह मुझे लगता है कि मैं अपनी पहली विधि में कर रहा हूं। इसका बोझिल। यह सुनिश्चित करने की आवश्यकता है कि प्रत्येक फ़ाइल में एक आईडी विशेषता है और फिर बहुभुजों को हटा दें जिसमें बहुभुज होने के बाद शून्य से ऊपर का क्षेत्र न हो। मैं बहुभुज में स्थानांतरित करने के लिए लाइन का लगातार सही लेबल प्राप्त करने में विफल रहा। दूसरी विधि जो मैं चाहता हूं, उसके करीब है, लेकिन v.generalize समय का 100% काम नहीं करता है। मैं चाहता हूं कि ESRI सरल बहुभुज QGIS में एक विकल्प था जैसे आपने बताया।
Rx_

जवाबों:


12

मैंने वही समस्याएं अनुभव की हैं जो आप अपने दूसरे तरीके में रखते हैं। मैंने एक वेक्टर को एक रेखापुंज निर्यात किया और v.generalise का उपयोग करने का प्रयास किया और मुझे सामयिक 'स्टेप्ड' सीमा के साथ ज्यादातर चिकनी बहुभुज मिलते हैं जो एल्गोरिदम द्वारा अप्रभावित प्रतीत होता है।

मुझे एक ऐसी प्रक्रिया मिली जो मेरे काम के लिए काम करती है, निश्चित नहीं कि अगर इसका सबसे अच्छा तरीका है, लेकिन मुझे लगा कि अगर यह आपकी मदद करता है तो मैं इसे साझा करूंगा।

मैंने BoM से एक ऐसीसी ग्रिड शुरू की जो इस तरह दिखती थी: यहाँ छवि विवरण दर्ज करें

मैं क्या कुछ इस तरह BoM उत्पादन के समान चाहता था: यहाँ छवि विवरण दर्ज करें

मैं निम्नलिखित चरणों का उपयोग करके एक परिणाम प्राप्त करने में सक्षम था (कि मैं खुश था)।

  • लोड ग्रिड (मेरे मामले में BoC से ASCII ग्रिड) QGIS में।
  • असतत वर्गों में पुनर्निर्मित। (प्रोसेसिंग टूलबॉक्स> ग्रास> रैस्टर> आर.रेडकोड)
  • 'क्लीन अप' के लिए बहुमत फ़िल्टर चलाएँ। (प्रोसेसिंग टूलबॉक्स> SAGA> रेखापूर्ण फ़िल्टर> अधिकांश फ़िल्टर)
  • 1 के अंतराल पर फ़िल्टर किए गए ग्रिड से आकृति बनाई गई, और उन्हें एक विशेषता 'वर्ग' में संग्रहीत किया (क्योंकि मेरी कक्षाएं 1,2,3,4, आदि थीं)। (रेखापुंज 'मेनू'> निष्कर्षण> कंटूर)
  • आउटपुट कंट्रोस कुछ सामान्यीकृत हैं, लेकिन मैंने 'स्नेक' एल्गोरिदम के साथ v.generalised का उपयोग उन्हें चिकना करने के लिए किया है। (प्रोसेसिंग टूलबॉक्स> ग्रास> वेक्टर> v.generalize)
  • फिर मैंने लाइनों को बहुभुज में बदल दिया। (प्रोसेसिंग टूलबॉक्स> QGIS जियोलाइज़ोरिम्स> वेक्टर जियोमेट्री टूल> लाइन्स टू पॉलिगॉन)
  • अंत में मुझे सिंगल पार्ट पॉलीगॉन को कई हिस्सों में बदलना पड़ा, ताकि सभी पॉलीगनों को अच्छी तरह से आकर्षित किया जा सके। (प्रोसेसिंग टूलबॉक्स> QGIS जियोलाइगोरिद्म> वेक्टर ज्योमेट्री टूल> सिंगलपार्ट टू मुलिटपार्ट)।

स्टाइलिंग के बाद मेरा आउटपुट नीचे है: यहाँ छवि विवरण दर्ज करें

अगर कोई सरल तरीका जानता है तो मुझे भी सुनने में दिलचस्पी होगी। मूल रूप से मैं @Rx_ के समान सोच रहा था कि मैं अपने रेखापुंज को वेक्टर में बदल सकता हूं फिर सामान्य कर सकता हूं और मुझे किया जाएगा। मुझे जो करना था, वह बहुत लंबा था।


3

मुझे यहाँ उत्तर पसंद हैं लेकिन मुझे विश्वास है कि QGIS अभी भी ऐसा करने का एक त्वरित और आसान तरीका नहीं है। MapInfo किसी भी अंतराल के साथ या तो बहुभुज या लाइनों के रूप में आकृति उत्पन्न कर सकता है जिसे आप निर्दिष्ट कर सकते हैं।

यह इस तरह के एक मूल कार्य की तरह लगता है और विस्तार प्राप्त करने के लिए भी महत्वपूर्ण है। अगर किसी के पास ऐसा करने के लिए अद्यतन या तेज़ तरीका है तो कृपया साझा करें!


1

एक अधिक प्रत्यक्ष तरीका gdal_countour"पॉलीगॉनल मोड" (यानी -pविकल्प के साथ) में सीधे (कमांड-लाइन प्रोग्राम के रूप में ) उपयोग करना है।

उदाहरण:

gdal_contour -p -amin min_val -amax max_val -i 1 input_raster.tif output_shape.shp

प्रलेखन: https://gdal.org/programs/gdal_contour.html

यह विकल्प केवल संस्करण> = 2.4 में उपलब्ध है (इसे जांचा जा सकता है gdalinfo --version)। यदि आप Ubuntu 18.4 का उपयोग कर रहे हैं, तो आपको इसे UbuntuGIS से इंस्टॉल करना पड़ सकता है


0

QGIS 3.8 में आप रैस्टर - एक्सट्रैक्शन - कंटूर का उपयोग कर सकते हैं

यहाँ एक अच्छा उदाहरण है https://support.dronesmadeeasy.com/hc/en-us/articles/217759823-Using-QGIS-to-make-custom-Contour-Maps


यह उपकरण लाइन समोच्च परतों का उत्पादन करता है, बहुभुज समोच्च परतें अनिवार्य रूप से यहां के लिए पूछी जा रही हैं।
MapInfoNewbie
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.