QGIS में पिक्सेल मूल्यों को कैसे योग करें?


10

मुझे एक रेखापुंज में सभी पिक्सेल के मूल्य का पता होना चाहिए। हालाँकि, गुण के मेटाडेटा टैब के सांख्यिकी खंड में, सभी कक्षों के योग के तहत यह हमेशा 0.00 इंगित करता है। मैंने बिना किसी लाभ के विभिन्न रेखापुंज स्वरूपों के साथ प्रयास किया है। मैं क्या गलत कर रहा हूं? मुझे यह मूल्य कैसे मिल सकता है?


मुझे आशा है कि मैं तुम्हें सही मिला; मैंने अपनी समस्या को एक रेखापुंज के साथ समेटने की कोशिश की। एक रेखापुंज में सभी पिक्सेल का योग x- पिक्सेल * y- पिक्सेल है, है ना? यह मान आपको 2 तरीकों से मिल सकता है: 1) वास्तविक फ़ाइल (मेरे मामले में एक झगड़ा) पर राइट क्लिक करें, विस्तार विंडो को यह जानकारी प्रदान करनी चाहिए 2) जीआईएस के अंदर रेखापुंज क्लिक करें-> विविध-> जानकारी। अपनी फ़ाइल का चयन करें-> संपादन-> ठीक है। फिर आपको दो मूल्य होने चाहिए, जिन्हें गुणा करना होगा। परिणाम एक रेखापुंज में सभी पिक्सल का योग है।
शेफर्डो

गलत। इससे आपको कोशिकाओं की संख्या मिलेगी। सेल वैल्यू का योग नहीं
रॉबर्ट हिजमैन

जवाबों:


9
  1. वेक्टर> अनुसंधान उपकरण> परत सीमा से बहुभुज का उपयोग करके बहुभुज बनाएं। यहाँ परत प्रश्न में रेखापुंज है।
  2. सक्रिय करें / स्थापित करें आंचलिक आँकड़े प्लगइन।
  3. ज़ोनल स्टैटिस्टिक्स प्लगइन का उपयोग करें जहाँ रास्टर वह होता है जिसकी राशि की आवश्यकता होती है और बहुभुज वह होता है जिसे आपने लेयर हद से बनाया है। आउटपुट कॉलम उपसर्ग दर्ज करें (आँकड़े_)। प्लगइन चलाएं।
  4. बहुभुज की विशेषता तालिका खोलें। अब आपके पास आँकड़े_ उपसर्ग के साथ अन्य स्तंभों के साथ आँकड़े_सम कॉलम है।
  5. मैंने GRASS GIS में मूल्यों की जाँच की और मैच एकदम सही है।

4

QGIS 2.x में, आप संसाधन टूलबॉक्स में रैस्टर लेयर सांख्यिकी एल्गोरिथ्म का उपयोग करके पूरी परत (बैंड में सभी पिक्सेल मानों के योग सहित) के लिए रेखापुंज आँकड़े प्राप्त कर सकते हैं।

प्रसंस्करण | टूलबॉक्स (चेक बॉक्स)

फिर प्रोसेसिंग टूलबॉक्स पर जाएं:

QGIS जियो-एल्गोरिदम | रेखापुंज उपकरण | रेखापुंज परत आँकड़े

जिस परत का आप निरीक्षण करना चाहते हैं, उसके लिए आंकड़े तैयार करें। परिणाम फिर परत मेटाडेटा में संग्रहीत होते हैं, जो परत पर राइट-क्लिक करके और गुण चुनने से सुलभ है।


2

आप pyqgis का उपयोग कर सकते हैं और एक सुस्पष्ट सरणी और योग बना सकते हैं:

import gdal
import numpy as np
ds = gdal.Open(r'C:\somefolder\someraster.tif')
band1 = ds.GetRasterBand(1).ReadAsArray()
s = np.sum(band1)
print(s)

1

मैं इस सवाल को समझ गया, मुझे एक रेखापुंज के सभी पिक्सेल मान कैसे प्राप्त होंगे? एक वेक्टर की विशेषताओं पर सांख्यिकी चलाने जैसा कुछ। एक प्रोग्रामिंग के माध्यम से आसानी से कर सकते हैं। मैं QGIS के माध्यम से ऐसा करने का एक और तरीका सोच सकता हूं। यह अक्षम और थोड़ा गलत होगा, लेकिन यह काम करेगा।

  • रेखापुंज के प्रत्येक पिक्सेल का प्रतिनिधित्व करने वाली एक बिंदु परत बनाएँ। आप इसे वेक्टर -> अनुसंधान उपकरण -> नियमित अंक के माध्यम से कर सकते हैं। X_size * y_size के रूप में अंकों की संख्या का उपयोग करें। तो 100 px चौड़ाई x 100px ऊंचाई के एक रेखापुंज के लिए, 10000 का उपयोग करें। (पिक्सेल रिज़ॉल्यूशन) / 2 की एक ऑफसेट निर्दिष्ट करें, इसलिए आप पिक्सेल के केंद्र का नमूना ले रहे हैं।
  • अगला, प्वाइंट सैम्पलिंग प्लगइन स्थापित करें। इस प्लगइन का उपयोग करके, आप सभी 10000 बिंदुओं पर रेखापुंज कर सकते हैं और एक विशेषता मान प्राप्त कर सकते हैं जो पिक्सेल मूल्य है।
  • वेक्टर प्राप्त करें -> विश्लेषण -> राशि प्राप्त करने के लिए परिणामी वेक्टर पर बुनियादी आंकड़े।

0

उदाहरण के लिए, रैस्टर आँकड़े प्राप्त करने के लिए आप gdalinfo का उपयोग कर सकते हैं:

gdalinfo -stats filename.tif

यह आपको पिक्सेल में माध्य पिक्सेल मान और रेखापुंज आकार देगा। आप इस डेटा को गुण -> मेटाडेटा टैब से भी प्राप्त कर सकते हैं।

फिर यह अंकगणित का सवाल है: माध्य मान x (पिक्सेल में पिक्सेल x चौड़ाई में ऊँचाई)।

निक।


4
यह गलत है। सबसे पहले, ये आँकड़े हमेशा मौजूद नहीं होते हैं (फ़ाइल लिखने वाले एप्लिकेशन पर निर्भर करता है) और यदि वे मौजूद हैं, तो आप सुनिश्चित नहीं हो सकते कि वे वास्तव में सही हैं। दूसरा, गुणन इस संभावना की अनदेखी करता है कि कोई डेटा मान नहीं हैं (जिस स्थिति में यह गणना गलत होगी)।
रॉबर्ट हिजमन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.