QGIS का उपयोग करके सभी रेखाओं पर परत में विभाजन करना?


11

मैं स्वचालित रूप से QGIS परत की सभी पंक्तियों को उनके शीर्ष पर विभाजित करना चाहता हूं ( जैसे यह )।

मैंने एक Google खोज की है और इस लेख को पाया है , जो काफी करीब है लेकिन वर्कफ़्लो जटिल है। क्योंकि मुझे इस उपकरण का उपयोग करने के लिए अपने सहकर्मियों (जो जीआईएस से अपरिचित हैं) को प्रशिक्षित करना होगा, मैं एक प्लगइन के रूप में कुछ सरल या ऐसा कुछ चाहता हूं जिसमें GRASS की आवश्यकता नहीं है। चूंकि यह 2010 से एक लंबा समय रहा है - पिछले उत्तर का समय , मुझे आश्चर्य है कि क्या समान परिणाम प्राप्त करने का कोई बेहतर तरीका है?


आप QGIS अब से GRASS टूल्स का उपयोग कर सकते हैं। Maybe वेक्टर-> ज्योमेट्री टूल्स-> सिंगल पार्ट्स टू मल्टीपार्ट मदद कर सकते हैं। Sextante टूलबॉक्स में "विस्फोट लाइन की परत" होनी चाहिए और वहाँ प्लगइन "स्प्लिट फीचर" है
simplexio

मुझे लगता है कि आपने जो उत्तर दिया है, वह सही प्रक्रिया है। वेक्टर टूल "सिंगल पार्ट टू मल्टीपार्ट" वह नहीं करेगा जो आप चाहते हैं। यह नोड्स पर एक मल्टी-लिनेस्ट्रिंग को विभाजित करता है , प्रत्येक शीर्ष पर नहीं।
मीका

@simplexio: Sextante टूलबॉक्स के साथ, मुझे बर्न वी। उत्तर में एक त्रुटि संदेश मिला और मुझे नेट पर कहीं भी 'स्प्लिट फीचर' प्लगइन नहीं मिला।
काओ मिन्ह तू

@ मिचा: यह प्रक्रिया सही हो सकती है लेकिन यह मेरे साथी सहकर्मियों के लिए बहुत जटिल होगी - जो जीआईएस से अपरिचित हैं, इसलिए मैं इसे अंतिम उपाय के रूप में मानूंगा, जब बाकी सभी विफल रहे :)
काओ मिन्ह तू

@ काओ मिन्ह तू: मैंने लिनक्स मास्टर पर और फिर से बनाई गई लाइन लेयर के साथ Win7 1.8 पर 'स्प्लिट फीचर' का परीक्षण किया, और वहाँ यह काम करता है। कृपया स्क्रैच से एक परीक्षण परत बनाएं और इसे वहां लागू करें। हो सकता है कि आपकी मूल परतों में त्रुटियां हों जिन्हें पहले हल किया जाना है!
बेरंड वी।

जवाबों:


17

विस्फोट लाइनों से प्रसंस्करण उपकरण बॉक्स अलग-अलग पंक्तियों के लिए अपने कोने में सभी लाइनों विभाजित कर देगा।

मेनू प्रसंस्करण -> टूलबॉक्स। फ़ंक्शन को खोजने के लिए खोज फ़ील्ड में "विस्फोट" टाइप करें। ड्रॉपडाउन से अपनी लाइन लेयर चुनें और शुरू करें। यह एक नई परत का उत्पादन करेगा।

लाइन लेयर से एक या एक से अधिक लाइनों का चयन केवल इन विशेषताओं के साथ एक स्प्लिटेड परत का उत्पादन करेगा, बाकी को छोड़ देगा।

नोट: क्यूजीआईएस तेजी से आगे बढ़ रहा है, नीचे दिए गए सभी इन्फोस पहले से ही पुराने हैं।

मुझे लगता है कि विस्फोट लाइनों SEXTANTE उपकरण बॉक्स के माध्यम से noob- समाधान होगा । QGIS Geoalgorithms > Vector geometry tools > Explode lines। दुर्भाग्य से, यह फिलहाल काम नहीं करता है, मुझे केवल एक त्रुटि संदेश मिलता है।

Traceback (most recent call last):
  File "path/.qgis//python/plugins\sextante\core\GeoAlgorithm.py", line 145, in execute
    self.processAlgorithm(progress)
  File "path/.qgis//python/plugins\sextante\algs\Explode.py", line 58, in processAlgorithm
    features = QGisLayers.features(layer)
NameError: global name 'layer' is not defined

एक कार्यशील समाधान Split Feature"योगदान" रिपॉजिटरी से -लुगिन है, जो मेरे लिए काम करता है।

सामान्य तौर पर मैं अलग-अलग प्लगइन्स पर sextante फ़ंक्शंस पसंद करता हूं, क्योंकि sextante के साथ वर्कफ़्लो बहुत तेज़ है और मध्यवर्ती चरणों की कोई जंक-फाइल्स पैदा नहीं करता है (बशर्ते यह काम करता है)।

संपादित करें: दुर्भाग्य से, बहुत सारे प्लगइन्स को अभी तक आधिकारिक प्लगइन रिपॉजिटरी में नहीं ले जाया गया था, लेकिन अभी भी केवल "योगदान" प्लगइन रिपॉजिटरी के माध्यम से उपलब्ध हैं: http://pyqgis.org/repo/contributed , जिसे डिफ़ॉल्ट सॉफ़्टवेयर से हटा दिया गया था संस्करण 1.8 के साथ सूची।

वहां आप उन्हें व्यक्तिगत रूप से डाउनलोड कर सकते हैं और उन्हें अपने .qgis / python / plugins फ़ोल्डर में खोल सकते हैं या आप इस पते को अपनी प्लगइन्स रिपॉजिटरी सूची में जोड़ सकते हैं: Plugins -> Fetch python plugins -> Tab "Repositories" -> Add ... -> enter a name and the url.


क्या आप मुझे बता सकते हैं कि 'स्प्लिट फ़ीचर' प्लगिन कहाँ मिलेगा - मैं इसे आधिकारिक प्लगइन रिपॉजिटरी में नहीं ढूँढ सकता हूँ? SEXTANTE धमाका लाइनों के साथ, मुझे आपके जैसा ही त्रुटि संदेश प्राप्त हुआ - यहाँ एक बग रिपोर्ट है: hub.qgis.org/issues/7157
काओ मिन्ह तू

@ काओ मिन्ह तू: क्षमा करें, पूरी तरह से भूल गया कि मैंने अपनी सूची में पुरानी रिपॉजिटरी को जोड़ा है, जहां यह प्लगइन विशेष रूप से रहता है। मेरे संपादन देखें।
बेरंड वी।

मैंने स्प्लिट फ़ीचर प्लगइन की कोशिश की, कोई त्रुटि संदेश नहीं है, लेकिन आउटपुट लेयर में कुछ भी नहीं है।
काओ मिन्ह तू

Pyqgis.org/repo/contributed पर केवल 404 त्रुटि है - क्या URL बदल गया है?
til_b

@til_be मेरा संपादन देखें
Bernd V.

4
  1. GRASS mapset खोलें / बनाएं (ताकि आप अपने डेटा पर उपकरण चला सकें)
  2. GRASS टूल्स खोलें / उस आकृति आकृति को आयात करें जिसे आप GRASS डेटाबेस में विभाजित करना चाहते हैं
  3. V.split.vert चलाएँ (अधिकतम संख्या सेट करें = 2)

यह समाधान खंड ज्यामिति में जेड मान रखता है
तमस कोसा

1
    segment_list = []
    for feature in feature_list:
        vertices = feature.geometry().asPolyline() # returns list of vertices comprising polyline
        for point in range(len(vertices)-1):
            segment = QgsFeature()
            segment.setGeometry(QgsGeometry.fromPolyline([vertices[point], vertices [point+1]]))
            segment.setAttributes(feature.attributes())
            segment_list.append(segment)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.