如何在QGIS中统计不同分辨率栅格图层的像素类别占比?
QGIS中不同分辨率土地覆盖栅格的类别统计方案
第一步:确保栅格空间对齐
先检查两个栅格的坐标系是否一致,若不一致,用Raster > Projections > Warp (Reproject)工具将栅格1(高分辨率)转成和栅格2相同的坐标系。同时确认栅格1完全覆盖栅格2的范围,避免统计遗漏。第二步:将低分辨率栅格转为矢量面
打开Raster > Conversion > Raster to Vector工具,选择栅格2作为输入,设置输出字段名称(比如lc_class),输出类型选“Polygon”,生成的矢量面每个要素对应栅格2的一个像素,后续用这个面作为统计单元。第三步:按类别执行分区统计
在Processing工具箱中找到Zonal Statistics by Categories工具(中文界面为“按类别分区统计”),参数设置如下:- 输入矢量图层:选择第二步生成的栅格2矢量面
- 输入栅格图层:选择栅格1(高分辨率土地覆盖栅格)
- 统计字段:选择栅格1的类别值字段(单波段栅格默认选
Value) - 输出表格:可选择保存为CSV文件或临时图层
- 统计选项:勾选
Count(数量);若需要占比,可后续用数量除以该矢量面内的总像素数(总像素数= (100/5)×(100/5)=400,因为栅格2像素是100×100,栅格1是5×5,每个栅格2像素包含400个栅格1像素),部分版本支持直接勾选Percentage选项
第四步:查看与整理结果
输出的统计表格会包含栅格2的像素ID、栅格2的类别、栅格1的细分类别、对应数量等信息,直接在QGIS中查看表格,或导出到Excel等工具计算占比、筛选数据。
替代方法(无需转矢量)
使用Raster > Aggregation工具,将栅格1聚合到栅格2的分辨率(设置聚合分辨率为100×100),聚合方法选择Frequency,输出的栅格属性表会包含每个聚合单元(对应栅格2像素)内各细分类别的数量,后续可手动计算占比。
内容的提问来源于stack exchange,提问作者Min
相关产品推荐
相关产品推荐

