นี่คือวิธีการที่อาจเป็นประโยชน์ เครื่องมือ 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|
+-----------------------------------------------------------------------------+
สคริปต์การประมวลผลทางภูมิศาสตร์ต่อไปนี้ใช้ไฟล์ข้อความนี้เป็นอินพุตและตั้งค่า renderer ที่เหมาะสม (พร้อมสีแบบสุ่มเพื่อความสะดวก) สำหรับเลเยอร์แรสเตอร์ (แรงบันดาลใจจาก LAWHEAD, J .: QGIS Python Programming Cookbook, p. 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 คุณสามารถรวมสองสิ่งนี้ไว้ในตัวสร้างแบบกราฟิกและเพิ่มพารามิเตอร์แบบแรสเตอร์เพื่อเลือกเลเยอร์แรสเตอร์แบบโหลด:
หลังจากบันทึกแบบจำลองโดยการดับเบิลคลิกในกล่องเครื่องมือการประมวลผลมันสามารถใช้งานได้เหมือนเครื่องมือทั่วไป:
ด้วยผลลัพธ์ที่มีลักษณะเช่นนี้ (outcrop ของชุดข้อมูล rasterized natura2000):
หรือในคุณสมบัติชั้น:
ฉันคิดว่านี่ต้องมีการปรับแต่งประสบการณ์ผู้ใช้ แต่เป็นขั้นตอนแรก