हजारों छोटे अतिव्यापी बहुभुज फिक्सिंग?


21

मैं ArcMap 10.3 का उपयोग कर रहा हूँ।

मेरे पास विभिन्न भूमि उपयोग प्रकारों की एक परत है। मुझे पता चला कि कई बहुभुज एक-दूसरे को ओवरलैप करते हैं और परिणामस्वरूप एक ही बहुभुज में दो अलग-अलग भूमि उपयोग प्रकार होते हैं।

@ Radouxju के उत्तर का उपयोग करते हुए , मैंने भूमि उपयोग परत के लिए एक टोपोलॉजी का निर्माण किया (नियम ओवरलैप नहीं होना चाहिए)। फिर, मैंने बड़े ओवरलैपिंग बहुभुजों को ठीक करने के लिए मर्ज का उपयोग किया।

हालांकि, मेरे पास हजारों छोटे ओवरलैपिंग पॉलीगॉन हैं। मैं उन सभी को मैन्युअल रूप से ठीक कर सकता हूं जो समय लगेगा।

क्या इन सभी त्रुटियों को ठीक करने का एक तेज़ तरीका है?

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

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


मैंने सभी भूमि उपयोग प्रकारों को दिखाने के लिए नक्शे को अपडेट किया है। बहुभुज एक दूसरे को ओवरलैप कर रहे हैं; ढलान नहीं।


2
क्या आपके लिए इंटीग्रेट टूल काम करेगा?
Fezter

@ मैं ऐसा नहीं सोचता क्योंकि उनके पास बहुभुज समान क्षेत्र नहीं है और मैं पूरी परत के लिए समान XY सहिष्णुता का उपयोग नहीं कर सकता।
चमकदार

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

@alexGIS मैं पूरी तरह से आपसे सहमत हूँ कि डेटा कितना बुरा है। हालाँकि, मुझे मिला बेस्ट डेटा है। मैं विश्लेषण के लिए साफ करने की कोशिश कर रहा हूं।
चमकदार

जवाबों:


6

@ अदम कारा द्वारा उठाया गया चिंता बहुत मान्य है। हालाँकि जब मैंने स्वयं-चौराहे पर देखा तो यह प्रतीत हुआ कि उनमें से ज्यादातर 2 बड़े बहुभुजों के बीच की सीमा पर पतले बिट्स हैं या एक दूसरे के अंदर बैठे एक बड़े बहुभुज के कटे हुए द्वीप / द्वीप हैं। इस मामले में, ओवरलैप को मिटाना, और भंग किए गए ओवरलैप को निकटतम पड़ोसी की विशेषता (जो भी पहले आता है) काम कर सकता है।

प्रक्रिया:

arcpy.Intersect_analysis("Landuse2b #","D:/Scratch/mpart.shp","ALL","#","INPUT")
arcpy.MultipartToSinglepart_management("mpart","D:/Scratch/spart.shp")
arcpy.Dissolve_management("spart","D:/Scratch/dissolved_1.shp","#","#","SINGLE_PART","DISSOLVE_LINES")
arcpy.Erase_analysis("Landuse2b","dissolved_1","D:/Scratch/erased.shp","#")
arcpy.DeleteField_management("spart","FID_Landus;OBJECTID;Lnduse2013;Shape_Leng;Shape_Area")
arcpy.SpatialJoin_analysis("spart","erased","D:/Scratch/sj_1.shp","JOIN_ONE_TO_ONE","KEEP_ALL"…..)
arcpy.Merge_management("sj;erased","D:/Scratch/merge_1.shp"….)
arcpy.Dissolve_management("merge_1","D:/Scratch/dissolved.shp","Lnduse2013","#","SINGLE_PART","DISSOLVE_LINES")

परीक्षा:

arcpy.Intersect_analysis("dissolved #","D:/Scratch/test.shp","ALL","#","INPUT")

संदेश:

  • निष्पादन: Intersect "भंग #" D: \ Scratch \ test.shp सभी # INPUT
  • प्रारंभ समय: शुक्र अप्रैल 22 10:16:07 2016
  • पढ़ना सुविधाएँ ...
  • क्रैकिंग सुविधाएँ ...
  • कोडांतरण सुविधाएँ ...
  • चेतावनी 000117: उत्पन्न खाली चेतावनी को चेतावनी।
  • शुक्र 22 अप्रैल 2016 को समाप्त हुआ (बीता समय: 2.34 सेकंड)

नोट इस संदेश का अर्थ है कि अंतिम विघटन से उत्पादन में कोई स्व-प्रतिच्छेदन नहीं हैं

परिणाम:

https://drive.google.com/file/d/0B6B33FrGNitPT0FvbVdHQm0xMDg/view?usp=sharing


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

1
इस तरह के डेटा के साथ कोई भी नहीं जानता कि आईएस क्या सही है
फेलिक्सिप

7

यदि आपके पॉलीगॉन स्लैवर हैं, तो समाप्त कमांड उन्हें बड़े क्षेत्र बहुभुज या सबसे लंबे किनारे में विलय करने के लिए अच्छी तरह से काम करता है।

यदि बहुभुज ओवरलैप हैं, तो एक आसान तरीका हो सकता है, लेकिन मैं ओवरलैप को एक अलग परत के लिए चुनूंगा, फिर उन्हें वापस संघ में लाऊंगा, और स्लाइड बनाने और समाप्त कमांड का उपयोग करूंगा।


आपके समय एवं मदद के लिए धन्यवाद। मेरे बहुभुज अतिव्यापी हैं। आपके जवाब का पालन करने के लिए, मैं ओवरलैप को एक अलग परत के लिए कैसे चुन सकता हूं? टोपोलॉजी के निर्माण के बाद ओवरलैप्स को क्षेत्र की त्रुटियों के रूप में दिखाया गया है।
चमकदार

पॉलीगन्स परत पर बस Intersect ( resource.arcgis.com/EN/HELP/MAIN/10.1/index.html#//… ) चलाएं । Intersect का परिणाम इस परत में सभी ओवरलैप होगा।
इरफान

@iRfAn धन्यवाद, मैं अंतरक्षेत्र चलाता हूं और मुझे ओवरलैप मिला है।
चमकदार

@ ब्रायन वॉलर मैंने आपके सुझाव का पालन करने की कोशिश की: मैंने "अंतर" का उपयोग करके एक अलग परत को ओवरलैप का चयन किया; फिर उन्हें "BUT NO SILVERS WERE CREATE" में वापस मिलाएं। के बाद मैं समाप्त कमांड का उपयोग किया, मैं अभी भी पा सकते हैं एक ही बहुभुज दो अलग भूमि उपयोग प्रकार है। किसी भी सहायता की सराहना की जाएगी। आप भूमि उपयोग की परत यहां पा सकते हैं। goo.gl/0aE3wq
चमकदार

6
  1. एक छोटे से क्षेत्र का चयन करें और दो आकार की फ़ाइलों में परिवर्तित करें यह देखने के लिए कि क्या यह प्रक्रिया काम कर रही है।
  2. S1 और s2 में परीक्षण (नाम) नाम से एक नया फ़ील्ड बनाएं।
  3. दो आकार फाइल S1 और S2 को इंटरसेक्ट करें।
  4. ओवरलैपिंग क्षेत्रों की पहचान एक अलग फाइल में की जाएगी, जैसे कि कॉमन 1 (हैचड एरिया इन फिगर)।
  5. सामान्य में 1 के रूप में क्षेत्र परीक्षण की गणना करें।
  6. यूनियन एस 1 और कॉमन
  7. यहाँ छवि विवरण दर्ज करेंपरीक्षण क्षेत्र से 1 का चयन करें और रची क्षेत्र को हटा दें।
  8. अब मर्ज s2 और आम। मिटा क्षेत्र का उपयोग आम क्षेत्र को मिटाने के लिए किया जा सकता है।

@ आपकी मदद के लिए धन्यवाद। मेरे पास जो ओवरलैप्स हैं वे एक ही शेपफाइल के अंदर हैं न कि दो शेप की फाइलें।
चमकदार

6

क्या आपने इस तरह से उनके साथ काम करने के लिए अलग-अलग भूमि उपयोग कक्षाओं को अलग-अलग आकार में विभाजित करने पर विचार किया है। मैंने पहले एक इंटरसेक्ट चलाने की सोची लेकिन मैंने देखा कि ऊपर फेल हो गया। यदि आपके पास सात अलग आकार हैं, हालांकि, आप उन्हें अधिक आसानी से हेरफेर करने में सक्षम हो सकते हैं।

मुख्य प्रश्न मेरे पास है अगर ओवरलैप है, तो क्या आपके पास एक पदानुक्रम है जिसके लिए वर्ग जीतता है और अंत में दिखाना चाहिए? उदाहरण के लिए: यदि क्रॉपिंग और डेयरी ओवरलैप करते हैं, जो आप रखते हैं? एक बार यह पदानुक्रम तय हो जाने के बाद, एक बार में 2 कक्षाओं को काटना, सबसे कम से शुरू करना और उच्चतम के साथ समाप्त होना। यदि आपका आउटपुट किसी दिए गए प्रतिच्छेदन पर खाली है, तो इसका मतलब है कि वे प्रतिच्छेद नहीं करते हैं।


2
आप यहां सबसे महत्वपूर्ण मुद्दा उठाते हैं: ओवरलैप को कैसे वर्गीकृत किया जाए? बस डेटा को "नीट" बनाने का मतलब यह नहीं है कि यह "सही" है।
एलेक्सगिस

@alexGIS फिर, मैं आपसे सहमत हूं। हालांकि, इस विश्लेषण के लक्ष्य और डेटा के अतिव्यापी बहुभुज के छोटे क्षेत्र को देखते हुए, ओवरलैप की श्रेणी ओवरलैप को ठीक करने की तुलना में मुख्य लक्ष्य नहीं है।
चमकदार

यह एक और कारण के लिए एक अच्छा विचार हो सकता है। ओवरलैप समय के साथ क्षेत्र की सीमाओं और फसल में बदलाव का प्रतिनिधित्व कर सकते हैं।
nmtoken

5

एक बार जब आप एक टोपोलॉजी बना लेते हैं, तो आपने त्रुटियों की पहचान कर ली है।

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

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

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


4

जबकि मैं दूसरों के साथ इस बात से सहमत हूं कि क्या वे बहुभुज ओवरलैप या स्लिव हैं, जो मैं इस तस्वीर के साथ यहां देख रहा हूं, आप सभी को दिखा रहे हैं। मैं आपको भूमि उपयोग के लिए अपने सहजीवन रंग बदलने की सलाह दूंगा। इस तरह आप देख सकते हैं कि किसे जाना चाहिए या दूसरे को। एक रंग जो आपने हमें गुलाबी रंग में दिखाया है, वह वास्तव में पढ़ना मुश्किल है और यह आपके लिए समय लेने वाला हो सकता है।

दूसरे भाग में, मैं सभी या तो ओवरलैप्स या स्लिव्स पॉलीगनों का चयन करूँगा और उन्हें एक नए आकार के लिए निर्यात करूँगा। इस तरह आप उन्हें पहचान सकते हैं कि वे भूमि उपयोग में क्या हैं।


आपकी सहायता के लिए धन्यवाद। मैंने सभी भूमि उपयोगों के लिए रंग दिखाने के लिए नक्शे को अपडेट किया है।
चमकदार

4

एक संभावित समाधान, अगर आपके पास स्थानिक विश्लेषक या 3 डी विश्लेषक हैं, तो आप लैंड यूज पॉलीगन्स को रैस्टर इमेज (पॉलीगॉन टू रैस्टर कन्वर्जन) टूल का उपयोग करके कन्वर्ट करते हैं ताकि यह सुनिश्चित हो सके कि कोई ओवरलैपिंग पॉलीगॉन बाहर नहीं निकलेगा, क्योंकि आप पिक्सल को ओवरलैप नहीं कर सकते। फिर, रेखापुंज को पॉलीगन्स में बदलकर (Raster to Polygon) टूल का उपयोग करें, यदि आपको अभी भी वेक्टर प्रारूप में इसकी आवश्यकता है। इस मामले में अच्छी गुणवत्ता वाले बहुभुज प्राप्त करने के लिए उच्च रिज़ॉल्यूशन सेल आकार (विस्तृत सेल आकार) चुनें, लेकिन आपको मेमोरी पर विचार करने की आवश्यकता है। जब तक आप परिणामों से संतुष्ट नहीं होंगे, तब तक आपको सेल आकार में बदलाव करके इसे कई बार आज़माने की आवश्यकता हो सकती है। आपको आउटपुट पॉलीगॉन के लिए कुछ स्मूथिंग करने की आवश्यकता हो सकती है, अगर यह सही नहीं है, लेकिन यह निर्भर करता है कि आपके पास कम से कम मानक लाइसेंस है ArcGIS डेस्कटॉप के लिए। मुझे पता है कि यह एक आसान काम नहीं है, लेकिन यह आपकी समस्या को हल कर सकता है।


4

सहिष्णुता को खोजने के लिए पॉलीगनों के बीच कुछ अंतराल या कुछ अतिच्छादन की जाँच करें और उचित सहिष्णुता मूल्यों के साथ आर्कटॉक्सबॉक्स से एकीकृत उपकरण का उपयोग करें।

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

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