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


10

मेरे पास आर्कगिस 9.3 में बहुभुज सुविधाओं के विघटन के बारे में एक प्रश्न है। मेरे पास केवल नंगे-हड्डियों का लाइसेंस और वीबी का एक अत्यंत बुनियादी ज्ञान है।

मेरे पास लगभग 4500 पॉलीगोन के साथ एक बड़ी आकृति है और मैं जानना चाहता हूं कि क्या ओवरलैप वाले लोगों को भंग करने का कोई रास्ता है? मैं मूल रूप से इस परत को एक आकृति के रूप में बदलना चाहता हूं जिसमें अलग-अलग क्षेत्र होते हैं, इसलिए जहां एक बहुभुज अपने दम पर होता है, लेकिन जहां कई बहुभुज ओवरलैप होते हैं वे 1 में भंग हो जाते हैं, प्रत्येक अलग क्षेत्र में विशेषताओं का अपना सेट होता है। शेपफाइल काफी बार बदलता है और अब तक मैं उन सभी के माध्यम से जा रहा हूं और मैन्युअल रूप से अतिव्यापी क्षेत्रों को संपादक उपकरण का उपयोग करके भंग कर रहा हूं, लेकिन मुझे यकीन है कि यह करने का एक बहुत तेज़ तरीका है!

यह कैसे प्राप्त किया जा सकता है में कोई अंतर्दृष्टि?


मेरे पास भंग उपकरण का उपयोग करने और निर्यात की गई विशेषता तालिका में शामिल होने का एक रास्ता है और यह पूरी तरह से काम करता है! मुझे लगा कि विघटित उपकरण केवल विशेषताओं पर काम करते हैं न कि स्थानिक स्थान पर ताकि यह जानना बेहद उपयोगी हो। इसके अलावा ModelBuilder कोड है


शानदार जवाब। ब्रैड नेसोम, आपको भंग आकृति के लिए मूल विशेषता तालिका मान कैसे मिलता है?
गुनार

मुझे आपकी जरूरत है लेकिन जब मैं भंग करने वाला उपकरण चलाता हूं तो यह मेरे आकार की सभी विशेषताओं को मिला देता है इसलिए काम नहीं कर रहा है। आपने इसे कैसे चलाया?
फेडरिको गोमेज़

जवाबों:


13

मुझे कुछ याद आ रहा है, लेकिन क्या आपके लिए ऐसा करने के लिए मूल डिसॉल्व टूल (डेटा प्रबंधन टूलबॉक्स में कहीं भी) नहीं होगा? कलाकृति 21 के उत्तर में किसी भी कोड के साथ गड़बड़ करने की आवश्यकता नहीं है। बस विघटित टूल खोलें, अपनी सुविधा वर्ग का चयन करें, पर भंग करने के लिए किसी भी फ़ील्ड का चयन न करें, और फिर 'मल्टी-पार्ट पोयगन्स बनाएं' को अनचेक करें अन्यथा आपके सभी पॉली एक बड़े बहु-भाग पॉली बन जाएंगे।

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

यदि यह प्रक्रिया बहुत बार की जाती है या आप इसे अपने आप करना चाहते हैं, तो इसे मॉडल बिल्डर के साथ करें और इसे स्क्रिप्ट में निर्यात करें, लेकिन इस टूल को भरने के लिए 10 सेकंड का समय चाहिए।


14

@ टॉम पार्कर - MWrenn सही है।
आपके पास भंग करने के लिए एक अटारी का चयन करने का विकल्प है। (यह एक विशेषता भंग कर देगा) या कोई विशेषता नहीं है (यह एक स्थानिक भंग कर देगा)।

उन आँकड़ों को और उन विशेषताओं को चुनें जिन्हें आप ले जाना चाहते हैं। (यह आप की तरह काफी काम करने वाला नहीं है)।

विकल्प

भंग करने से पहले। एक नया क्षेत्र बनाएं और उसमें FID की गणना करें।
फिर अपनी विशेषताओं का dbf निर्यात करें और आप (बाद में पॉलीगॉन के साथ उन्हें वापस जोड़ सकते हैं)।

यदि आपको इसकी सहायता चाहिए तो मुझे बताएं और मैं अधिक स्क्रीन शॉट्स पोस्ट करूंगा या arcgis.com संसाधन केंद्र पर कुछ सहायता पा सकता हूं।

यदि आप निम्नलिखित स्क्रीन शॉट में नोटिस करते हैं तो नाम सभी बहुभुजों में समान है (9.3.1 arcmap से सही ढंग से भंग नहीं होता है)। इसे arccatalog से आज़माएँ।

पिछाड़ी भंग

शायद किसी और के पास एक बेहतर तरीका होगा।

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


4

आप मॉडल बिल्डर के भीतर एक मॉडल बना सकते हैं और स्क्रिप्ट को निर्यात कर सकते हैं, फिर उस स्क्रिप्ट को आर्कपब vba के भीतर एक UIButtonControl पर कॉपी और पेस्ट कर सकते हैं। नीचे स्क्रिप्ट उदाहरण देखें।

Private Sub Dissolve_Click()

' Create the Geoprocessor object
set gp = CreateObject("esriGeoprocessing.GPDispatch.1")

' Load required toolboxes...
gp.AddToolbox "C:/Progra~1/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx"

' Local variables...

Dim test_shp as string

test_shp = "C:\Temp\test.shp"
Output_Feature_Class = "C:\Temp\test_Dissolve.shp"

' Process: Dissolve...
gp.Dissolve_management test_shp, Output_Feature_Class, "", "", 
  "MULTI_PART", "DISSOLVE_LINES"

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