用途:面向 QGIS 的栅格分析技能,覆盖地图代数、地形分析、栅格分类与 DEM 处理,帮助在 PyQGIS 与 Processing 框架中正确完成栅格计算与派生。
主要能力:可查询栅格图层属性(尺寸、范围、波段数、波段名、栅格类型、CRS、NoData 值);支持多种渲染器,如单波段灰度、单波段伪彩色、多波段 RGB、调色板分类与实时山体阴影。地形分析算法包括 native:hillshade、native:slope、native:aspect、native:ruggednessindex,以及 GDAL 的 hillshade、slope、aspect、contour、roughness、tri、tpi。GDAL 处理算法涵盖 warpreproject、translate、polygonize、rasterize、merge、buildvirtualraster、fillnodata、rastercalculator。
使用方式:加载栅格后先用 isValid() 校验;用 dataProvider().sample() 或 identify() 读取像元值;用 QgsRasterCalculator 做地图代数,表达式中的引用需与 entry.ref 一致(如 'dem@1');用 processing.run() 调用 native: 或 gdal: 算法,内存输出使用 'memory:';设置渲染器后需调用 triggerRepaint()。
限制与注意:NoData 会沿算术传播,必须显式检查与设置;QGIS 波段从 1 开始编号;processCalculation() 返回 0 才表示成功;对比度增强的数据类型需与波段实际类型匹配;GDAL 算法不要用 'TEMPORARY_OUTPUT' 作内存输出。具体参数与更多示例见随附 references 文档及 QGIS 官方文档。