QGIS में शून्य मान रेखापुंज मान बदलें?


13

मुझे मदद की ज़रूरत है ... मुझे QGIS से समस्या है। मेरे पास कुछ मुर्गियाँ हैं जो अशक्त मूल्यों को प्रकट करती हैं, भले ही मैंने उन्हें एक बूलियन रेखापुंज प्राप्त करने के लिए पुनर्वर्गीकृत किया हो ... (

मैं NULL मानों को 0 में कैसे बदल सकता हूं?

जवाबों:


14

@RK उत्तर के अलावा, आप घास में r.null का भी उपयोग कर सकते हैं ।

r.null - दिए गए रेखापुंज मानचित्र के पूर्ण-मान का प्रबंधन करता है।

उदाहरण

NULL के लिए एक वर्गीकृत मानचित्र के विशिष्ट मान सेट करें:

r.null map=landcover.30m setnull=21,22

नक्शे के NULL-मानों को एक विशिष्ट मान पर सेट करें:

 r.null map=fields null=99

मुझे उम्मीद है इससे आपको मदद मिली होगी...


9

मुझे लगता है कि RasterCalc प्लगइन आपकी समस्या को हल करने में सक्षम होना चाहिए। एक बार जब आप इसे स्थापित कर लेते हैं, तो आप निम्न क्वेरी का उपयोग कर सकते हैं (यह मानते हुए कि NULL मान -9999 से मेल खाते हैं; आप इस मान को लेयर प्रॉपर्टीज की पारदर्शिता टैब में देख सकते हैं):

eq ([your_raster] @ 1, -9999, 0)

eq का मतलब बराबर है। यह RasterCalc को बताता है कि NULL मान वाले आपके रेखापुंज में सभी पिक्सेल का मान 0 पर सेट होना चाहिए। मुझे लगता है कि आपके पास एक एकल बैंड रास्टर है।


1
यह काम करने के लिए प्रतीत नहीं होता है (QGIS 1.8 / Rastercalc 0.2.5) - एक लोड किए गए रेखापुंज के साथ "अभिव्यक्ति को अमान्य", जैसेeq( EL_hm@1, NULL, 0 )
Simbamangu

1
@ सिंबांगु, यदि आप वास्तविक मान का उपयोग NULL (-9999 उदाहरण के लिए) के रूप में करेंगे - यह काम करेगा। जैसे eq (EL_hm @ 1, -9999, 0)
SS_Rebelious

1
@SS_Rebelious - आप अपने संपादन में उल्लेख करना चाहते हैं कि NULL मान वरीयताओं में सेट किया जा सकता है ( General|Representation for NULL values) और यह अभिव्यक्ति में परिलक्षित होना चाहिए।
सिंबांगु

2

मुझे नहीं पता कि क्या आपने इसे हल किया है? अधिक सुव्यवस्थित तरीका हो सकता है लेकिन यह मेरे लिए नवीनतम QGIS (v2.8.1) में ठीक काम करता है:

  1. ऊंचाई / स्तर के लिए एक विशेषता स्तंभ के साथ एक नया बहुभुज बनाएं। जितना आप बदलना चाहते हैं उससे अधिक बड़ी सीमा के साथ एक बहुभुज आकार बनाएं।
  2. रेखापुंज> रूपांतरण> रेखापुंज उपकरण का उपयोग कर इस बहुभुज को व्यवस्थित करें।
  3. GDAL विश्लेषण टूल> कोई डेटा नहीं भरें> और रेखागणित बहुभुज को वैधता परत के रूप में उपयोग करें।
  4. परिणामी रेखापुंज फ़ाइल में अब वे मान होने चाहिए जहाँ पहले कोई डेटा नहीं था। ये या तो 0 (-9999 उदाहरण के लिए) से नीचे कुछ यादृच्छिक मूल्य होंगे या 0. यदि यह 0 है तो बहुत अच्छा है जो आपको चाहिए था। यदि यह नहीं है, तो चरण 5 को पूरा करें।
  5. SAGA> ग्रिड -टूल> मोसेक रैस्टर लेयर्स का उपयोग करके भरे हुए रास्टर लेयर और रैस्टराइज़्ड बहुभुज का इनपुट किया जाता है। अतिव्यापी क्षेत्रों में [3] अधिकतम का चयन करें और अपने मूल रेखापुंज में उत्पादन सीमा निर्धारित करें। इसका परिणाम एक नए रेखापुंज में होना चाहिए जो आपके पिछले सभी डेटा मानों को 0 पर एक नया मान देते हुए आपके सभी मानों को 0 से अधिक बनाए रखता है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.