QGIS में ज्यामिति वैधता त्रुटियों को ठीक करना?


31

मैं यूएस काउंटी स्तर पर स्वामित्व डेटा पर काम कर रहा हूं। मेरे पास प्रति काउंटी एक शेपफाइल है जिसमें हजारों टैक्स पार्सल हैं। मुझे एक ही व्यक्ति के स्वामित्व वाले पार्सल का प्रतिनिधित्व करने वाले बहुभुज को भंग करने की आवश्यकता है। जब आकृति साफ नहीं होती है, तो QGIS में "भंग" उपकरण काम नहीं करता है, यह जमा देता है। मुझे पहले "चेक ज्यामिति वैधता" टूल का उपयोग करके ज्यामिति वैधता के मुद्दों को ठीक करना होगा। हालांकि, मेरे पास कभी-कभी सैकड़ों त्रुटियां हैं। उन्हें मैन्युअल रूप से ठीक करने में बहुत समय लगता है। क्या कोई अन्य रणनीति है जो मुझे कुछ समय बचा सकती है?

मैं QGIS 2.4.0 का उपयोग कर रहा हूं।


2
क्या आपने घास में फ़ाइल आयात करने और v.clean का उपयोग करने की कोशिश की? यह शायद आपकी त्रुटियों को ठीक करेगा।
सर्जियो

जवाबों:


20

बहुभुजों पर एक सूक्ष्म बफर चलाने की कोशिश करें। -0.001 की सेटिंग यदि आपका CRS UTM है तो एक कोशिश के लायक होगा। VECTOR | बफर


4
मैंने बिल्व द्वारा सुझाए गए "बफर" समाधान को सबसे पहले आज़माया। इसने मेरे 97% मुद्दों को हल किया, जो अब मेरे लिए पर्याप्त है। मैं मैन्युअल रूप से काम खत्म कर सकता हूं। पॉलीगनों पर एक छोटे बफर को चलाने से मुझे विश्वास है कि मेरे लिए कोई समस्या पैदा नहीं होगी। लेकिन मैं कुछ मामलों को देख सकता हूं जहां ST_MakeValid का उपयोग कर रहे हैं या v.clean की कोशिश करना बेहतर और अधिक सटीक हो सकता है।
बाप

18

जब मेरे पास त्रुटियों के साथ एक परत होती है, तो मैं इसे सामान्य रूप से प्रसंस्करण टूलबॉक्स में GRASS फ़ंक्शन v.clean के माध्यम से चलाता हूं । हालांकि मुझे वास्तव में कभी नहीं पता चला कि कौन सा उपकरण किस मामले में सबसे अच्छा है, मैं सामान्य रूप से वहां फंक्शन का चयन करता हूं

शायद इससे भी महत्वपूर्ण यह है कि स्नैप सहनशीलता और न्यूनतम क्षेत्र के लिए उन्नत पैरामीटर सेट करना है । परत के आधार पर, मैं आमतौर पर स्नैपिंग के लिए 0.1 से 2 मीटर और न्यूनतम क्षेत्र के लिए 10 वर्गमीटर का चयन करता हूं।

तड़कना उदाहरण के लिए सीमाओं को संरेखित करता है जो साझा सीमाओं के लिए होती हैं, लेकिन छोटे ऑफ़सेट्स होते हैं, न्यूनतम क्षेत्र चौराहों आदि से छोटे स्लिव्स को समाप्त करता है।

बम्पर के साथ, यह आम तौर पर बहुत अधिक टोपोलॉजी को बदलने के बिना सभी त्रुटियों को हल करता है।


11

आप QGIS में सीधे ST_MakeValid का उपयोग कर सकते हैं lwgeom प्लगइन जोड़कर जो प्रसंस्करण टूलबॉक्स में lwgeom प्रदाता जोड़ते हैं => आप PostV / spatialite में कनवर्ट किए बिना MakeValid को सीधे अपनी भरी हुई परत पर लगा सकते हैं। Postgis / Spatialite उसी Liblwgeom का उपयोग ST_MakeValid करते हैं

आपको liblwgeom को स्थापित करना होगा और इसे इंगित करने के लिए प्रसंस्करण प्रदाता को कॉन्फ़िगर करना होगा

lwgeom प्रदाता प्रयोगात्मक के रूप में पाया जा सकता है: https://plugins.qgis.org/plugins/processinglwgeomprovider/


3
मैंने अभी qgis प्रसंस्करण के वर्तमान मास्टर संस्करण के साथ प्रयोग करने योग्य होने के लिए प्रोसेस्लिंगवूम प्रदाता का नया संस्करण जारी किया। (प्रसंस्करण refactoring के अधीन है)
लुइगी पिरेली

2
हाय @LuigiPirelli मैंने Lwgeom प्लगइन का उपयोग करके एक समान समस्या को हल करने की कोशिश की है, लेकिन यह हमेशा निष्पादन के दौरान दुर्घटनाग्रस्त हो जाती है और मुझे QGis को फिर से शुरू करने की आवश्यकता होती है। क्या किसी तरीके से मे इसे ठीक कर सकता हूँ? धन्यवाद।
एलेक्स फर्नांडीज पोल्सुसेन

1
अधिक चल संदर्भ के बिना कहना मुश्किल है। Btw 2014 के बाद से qgis में अधिक मरम्मत ज्यामिति उपकरण उपलब्ध हैं। आमतौर पर lwgeom में एक दुर्घटना लोड या साझा की गई वस्तु में एक मिसलिग्न्मेंट (गंदा इंस्टॉलेशन) समस्या है। क्या आपने अन्य उपकरणों का परीक्षण किया?
लुइगी पिरेली

1
क्या यह QGIS 2.18 के साथ काम कर रहा है? मेरे QGIS संस्करण, github.com/faunalia/processinglwgeomprovider
RutgerH

1
बस एक अद्यतन ... चूंकि QGIS3.x में एक प्रसंस्करण देशी फ़िक्गोमेट्री एल्गोरिथम है जो GEOS lwgeom MakeValid एल्गोरिदम के लिए एक आवरण है। कोई डीबी आवश्यक नहीं है।
लुइगी पिरेली


2

मैं बस qgis में एक समान समस्या में भाग गया। मैं एक पाली गलत तरीके से पेश करना शुरू कर दिया था। मैंने प्रोसेसिंग टूलबॉक्स में ग्रास फ़्यूज़न v.clean का इस्तेमाल किया जैसा कि बर्नड ने सुझाव दिया था। हालांकि बम्पर काम नहीं करता था, यह ब्रेक फ़ंक्शन के साथ तय किया गया लगता है।

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