दो चूहों के प्रतिच्छेदन का पता लगाएं


9

मेरे पास दो रेखापुंज चित्र हैं, बूलियन वर्गीकृत (1 या 2)। वे दिए गए क्षेत्रों में ओवरलैप करते हैं।

मुझे एक रैस्टर चाहिए जो केवल ओवरलैपिंग सेक्शन हो।

Arcinfo 10 का उपयोग करना। उत्तर केवल रेखापुंज विधियों का उपयोग कर सकता है, बहुभुजों, बिंदुओं आदि में परिवर्तित नहीं हो ...बस संदर्भ के लिए यहां एक स्क्रीन शॉट है।


दोनों उत्तर सही हैं, पहला अधिक सुरुचिपूर्ण है लेकिन मैंने दूसरा क्रेडिट देने का फैसला किया क्योंकि यह मेरे लिए सबसे अधिक मददगार था।
थाड

जवाबों:


8

यह एक बहुत सरल क्लिपिंग ऑपरेशन की तरह लगता है। क्लिप (डेटा प्रबंधन) उपकरण का उपयोग करें ।

सहायता दस्तावेज से:

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

यह वास्तव में आपकी आवश्यकता से अधिक सरल होना चाहिए क्योंकि यह कोर फ़ंक्शंस का उपयोग करता है और अन्य तरीकों के रूप में, स्थानिक विश्लेषक एक्सटेंशन की भी आवश्यकता नहीं होनी चाहिए ।

-------------- संपादित करें

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

एक उदाहरण, आपके मामले में, बूलियन आपदाओं के साथ।

Raster 1:  1,2  
Raster 2:  1,2

Output Raster:  Possible combinations:  1x1,1x2,2x1,2x2 with output values: 1,2,4  
Value 1:  Both Boolean False  
Value 2:  1 or the other, Boolean True  
Value 4:  Both Boolean True

यदि आप यह निर्धारित करना चाहते हैं कि आपके कौन से इनपुट का सही मूल्य है, तो आपको इनपुट रिक्तियों में से किसी एक को पुनर्वर्गीकृत करने की आवश्यकता होगी ताकि आपके गुणक मान पूरी तरह से अद्वितीय हों। दोनों निविष्टियों को पुनर्वर्गीकृत करने की आवश्यकता होगी ताकि "1" का कोई मूल्य न हो, क्योंकि यह एक गुणा रेखापुंज में डुप्लिकेट मानों की अनुमति देगा।

उदाहरण:

Raster 1: 1,2 - Use [Raster Addition][4], with a constant of 1 - Output Raster 3  
Raster 2: 1,2 - Use [Multiply Raster][5], with constant of 2 - Output Raster 4  
Raster 3: 2,3  
Raster 4: 2,4

Now, multiply Raster 3 and Raster 4  
Output Raster:  Possible Combinations:  2x2,3x2,4x2,4x3 with output values: 4,6,8,12

Value 4:  Both Boolean False  
Value 6:  Raster 3 True, Raster 4 False  
Value 8:  Raster 4 True, Raster 3 False  
Value 12: both Boolean True

आप इन परिचालनों का एक संयोजन कर सकते हैं, जहां आप एक दूसरे के द्वारा चीर-फाड़ करते हैं, केवल अतिव्यापी क्षेत्र को दिखाने के लिए। फिर रिक्लासिफाई करें और चूहों को यह दिखाने के लिए गुणा करें कि दोनों गलत हैं, एक या दूसरे सच्चे हैं, या दोनों सत्य हैं।

उम्मीद है की यह मदद करेगा।


मैं एक आउटपुट सीमा त्रुटि प्राप्त करता रहता हूं। या एक मुखौटा त्रुटि। इतनी निराशा .... इससे पहले कभी इसमें भागना नहीं चाहिए।
थाड

nvm। मुझे लगता है कि मेरे पास एक प्रक्षेपण मुद्दा है। यानी ये कार्य फ्लाई प्रोजेक्टिंग पर समर्थन नहीं करते ... इसलिए वे संबंधित कार्यों से अधिक ओवरलैप नहीं करते हैं।
थाड

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

हाँ, मैंने ऐसा किया है और यह पूरी तरह से काम करता है।
Thad

9

मुझे लगता है कि आपके आपदाओं में आपके पास सफेद के लिए 1 मूल्य है (किसी तरह नोडा क्षेत्र) और 2 नीले / हरे रंग के लिए।

तो, आपको उन क्षेत्रों को प्राप्त करने की आवश्यकता है जहां दोनों आपदाओं का मूल्य 2 है।

यह आर्कगिस में रैस्टर कैलकुलेटर के साथ आसानी से किया जा सकता है ।

अभिव्यक्ति की तरह दिखेगा:

("raster1" == 2) & ("raster2" == 2)

या

Con(("raster1" == 2) & ("raster2" == 2), 1, 0)

PS इस उपकरण को स्थानिक विश्लेषक विस्तार की आवश्यकता है


0

मुझे लगता है कि यह तरीका आपकी मदद कर सकता है:

  1. arctoolbox >> Data management tools >> Raster >> Rasterprocessing >> Clip इनपुट और आउटपुट में अपने रेखापुंज को खींचें और छोड़ें (कोई फर्क नहीं पड़ता जो एक)। अब आपके पास आपके ओवरलैप क्षेत्र (हमने इसे ओवरलैप.शिपी कहा जाता है) से एक आकृति है।
  2. मास्क द्वारा अर्क का उपयोग करना, दोनों चूहों के लिए arctoolbox >> Spatial analyst tools >> Extraction >> Extract by mask:: इनपुट: रेखापुंज 1, मुखौटा डेटा: ओवरलैप ।shp। अब आपके पास ओवरलैप रैस्टर 1 (हम इसे ओवरलैप 1 कहते हैं) का एक रेखापुंज है। arctoolbox >> Spatial analyst tools >> Extraction >> Extract by mask: इनपुट: रेखापुंज 2. मुखौटा डेटा: ओवरलैप.शैप। अब आपके पास ओवरलैप रैस्टर 1 (हम इसे ओवरलैप 2 कहते हैं) का एक रेखापुंज है।
  3. अंतिम चरण:: arctoolbox >> Spatial analyst tools >> Map algebraओवरलैप 2 और ओवरलैप 1 को खींचें और छोड़ें।

अब आप कुछ भी कर सकते हैं। हर आँकड़े जो आपको चाहिए।

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