यहाँ एक दृष्टिकोण है जो सहायक हो सकता है। GRASS टूल r.report
एक रास्टर लेयर में प्रत्येक अद्वितीय मान के लिए एक मूल आंकड़े की गणना करने में सक्षम है:
आउटपुट को एक सादा txt फ़ाइल लिखा जा सकता है जो इस तरह दिखती है (बाएं: अद्वितीय मान, दाएं: प्रत्येक मान द्वारा कवर किया गया क्षेत्र):
+-----------------------------------------------------------------------------+
| Category Information | square|
| #|description | miles|
|-----------------------------------------------------------------------------|
|1111| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 1.249845|
|1113| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 0.062666|
[...]
|3412| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 0.013926|
|4111| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 4.713902|
|4211| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 0.083555|
|4212| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 0.135777|
|-----------------------------------------------------------------------------|
|TOTAL | 17.048727|
+-----------------------------------------------------------------------------+
निम्नलिखित जियोप्रोसेसिंग स्क्रिप्ट इस पाठ फ़ाइल को एक इनपुट के रूप में लेती है और रास्टर परत के लिए एक उपयुक्त रेंडरर (सुविधा के लिए यादृच्छिक रंगों के साथ) स्थापित करती है (LAWHEAD, J द्वारा प्रेरित: QGIS पायथन प्रोग्रामिंग कुकबुक, पृष्ठ 135):।
##giswg=group
##thexml=file
##theraster=raster
from random import randint
from PyQt4.QtGui import QColor
from qgis.core import *
myraster = processing.getObject(theraster)
infile = open(thexml, 'r')
univalues = [l.split('|')[1] for l in [f for f in infile.readlines()][4:-4]]
s = QgsRasterShader()
c = QgsColorRampShader()
c.setColorRampType(QgsColorRampShader.EXACT)
i = []
for u in univalues:
i.append(QgsColorRampShader.ColorRampItem(float(u), QColor('#%06x' % randint(0, 2**24)), u))
c.setColorRampItemList(i)
s.setRasterShaderFunction(c)
ps = QgsSingleBandPseudoColorRenderer(myraster.dataProvider(), 1, s)
myraster.setRenderer(ps)
QGIS की प्रसिद्ध प्रसंस्करण क्षमताओं के लिए धन्यवाद, आप इन दोनों को एक साथ ग्राफिकल मॉडलर में डाल सकते हैं और एक रेखापुंज पैरामीटर जोड़ सकते हैं ताकि बस एक भरी हुई रास्टर परत चुनें:
मॉडल को सहेजने के बाद, इसे प्रोसेसिंग टूलबॉक्स में डबल क्लिक करके इसे सामान्य टूल की तरह इस्तेमाल किया जा सकता है:
इस तरह दिखने वाले परिणाम के साथ (एक रैस्टोरैंट नैटुरा २२४ डेटासेट का बहिष्कार):
या परत गुणों में:
मुझे लगता है कि उपयोगकर्ता अनुभव में इसे कुछ सुधार की आवश्यकता है, लेकिन यह एक पहला कदम है।