QGIS का उपयोग करके रेखापुंज क्लस्टरिंग


10

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

उदाहरण के लिए: वर्ग "1" की 70% (या अधिक) कोशिकाओं से बना एक क्षेत्र वर्ग "1" के क्लस्टर के रूप में माना जाएगा, भले ही वह क्षेत्र 30% कोशिकाओं के साथ अन्य वर्गों के लिए मिला हुआ हो। इसलिए क्लस्टरिंग विश्लेषण उसी वर्ग की कोशिकाओं के बीच की दूरी पर आधारित होना चाहिए।

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

उदाहरण के लिए: एक निर्दिष्ट क्षेत्र के भीतर "वर्ग 1" की 100 कोशिकाएं होनी चाहिए, क्योंकि इसे एक क्लस्टर माना जाता है।  

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


आप रेखापुंज को वेक्टर में बदल सकते हैं और वेक्टर क्लस्टरिंग टूल का उपयोग कर सकते हैं।
csk

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

3
मुझे पता है कि यह क्यूजीआईएस समाधान नहीं है, लेकिन क्या आप पड़ोस समारोह के साथ आने के लिए अजगर या आर का उपयोग कर सकते हैं ताकि आप एक नया रेखापुंज बनाएं जहां यह प्रत्येक कोशिका को देखता है और अगर> पड़ोस में 70% कोशिकाएं एक वर्ग से संबंधित हैं तब उस सेल को उस वर्ग में पुनर्वर्गीकृत किया जाता है?
लियाम जी

यह सुनिश्चित करने के लिए काम कर सकता है, धन्यवाद! मैं अजगर के लिए नया हूँ, लेकिन इसके एक प्रयास के लायक है।
स्पिरन

जवाबों:


5

यदि आप "रेखापुंज तर्क" में इस मुद्दे को संबोधित करना पसंद करते हैं, तो कुछ फ़िल्टर हैं जिन्हें आप विचार कर सकते हैं। सबसे अच्छा विकल्प आपके "पृष्ठभूमि" मूल्यों के अंदर प्रत्येक वर्ग के आपके पिक्सेल के स्थानिक वितरण पर निर्भर करेगा, लेकिन यहां दो संभावित समाधान हैं:

यदि आपके पैच जिन्हें आप निकालना चाहते हैं वे अपेक्षाकृत बड़े हैं, तो आपको QGIS 3.2 में "छलनी" (रेखापुंज> विश्लेषण> छलनी का उपयोग करना चाहिए, जो कि gdal_sieve.py पर आधारित है)।

Gdal_sieve.py स्क्रिप्ट प्रदान की गई बहुभुजों को प्रदान की गई थ्रेशोल्ड आकार (पिक्सेल में) की तुलना में छोटा करती है और उनकी जगह उन्हें सबसे बड़े पड़ोसी बहुभुज के पिक्सेल मान से बदल देती है। परिणाम मौजूदा रैस्टर बैंड पर वापस लिखा जा सकता है, या एक नई फ़ाइल में कॉपी किया जा सकता है।

यदि आपके पास "नमक और काली मिर्च" प्रभाव जैसा कुछ है (विभिन्न वर्गों के कई अलग-अलग पिक्सल्स, लेकिन छोटे पथ प्रति कुछ पिक्सेल हैं, तो आपको बहुमत फिल्टर का उपयोग करना चाहिए (उदाहरण के लिए GRASS> raster> r से अतिरिक्त टूल पर जाकर)। पड़ोसी> "मोड" विकल्प चुनें)। ध्यान दें कि यह फ़िल्टर आपकी सीमाओं को प्रभावित करेगा (थोड़ा)।

r.neighbors - प्रत्येक सेल श्रेणी को इसके चारों ओर की कोशिकाओं को सौंपे गए श्रेणी मानों के एक फ़ंक्शन को महत्व देता है, और एक आउटपुट रैस्टर मैप परत में नए सेल मानों को संग्रहीत करता है

यदि आप चाहें तो SAGA टूल्स (SAGA> raster filter) में आपको एक ही फाइलर (मेजरिटी फिल्टर, साइडिंग क्लास) और अन्य (आकृति विज्ञान) मिल जाएंगे।


यह वास्तव में बहुत ज्यादा था कि मैंने इसे कैसे हल किया। मूल रूप से घास के निबोरहुड विश्लेषण का उपयोग करके- पक्ष पर कुछ गणनाओं के साथ उपकरण। हालांकि समाधान पोस्ट करना भूल गया, आपके इनपुट radouxju के लिए बड़ा धन्यवाद।
स्पिरन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.