【QGIS数据篇】QGIS 3.40 栅格计算器经典实用公式全集

QGIS作为一款强大的开源GIS软件,栅格计算器功能是其数据处理和分析的重要利器。它支持基于栅格数据的数学运算、逻辑判断、条件筛选、指数计算等多种操作,极大方便了地理空间分析。

本文将为大家系统整理QGIS 3.40版本栅格计算器中最实用的公式,覆盖从基础运算到常用环境指数的计算,助你快速掌握栅格数据的高级处理技巧!


1. 栅格计算器基础

栅格计算器允许你基于栅格图层的波段(Band)或单波段数据,使用数学和逻辑表达式进行计算。表达式中可以用波段名(如“layer@1”)或图层名代替。
在这里插入图片描述

示例:

"DEM@1" > 1000

筛选高程大于1000米的区域。
在这里插入图片描述
在这里插入图片描述


2. 数学运算类公式

  • 加法:
"layer1@1" + "layer2@1"
  • 减法:
"layer1@1" - "layer2@1"
  • 乘法:
"layer1@1" * 2
  • 除法:
"layer1@1" / "layer2@1"
  • 取对数(以e为底):
log("layer1@1")
  • 取绝对值:
abs("layer1@1")
  • 开方:
sqrt("layer1@1")

在这里插入图片描述
在这里插入图片描述


3. 逻辑判断与条件筛选

  • 条件判断(if语句):

QGIS栅格计算器不直接支持if语句,但可以用条件表达式:

("layer1@1" > 100) * "layer1@1" + ("layer1@1" <= 100) * 0

表示:当值大于100时保留原值,否则赋值为0。

  • 多条件筛选:
(("layer1@1" > 50) AND ("layer2@1" < 100)) * 1 + (NOT (("layer1@1" > 50) AND ("layer2@1" < 100))) * 0

在这里插入图片描述
在这里插入图片描述


4. 栅格重分类公式

  • 重分类为1和0(阈值分割):
("layer1@1" >= 500) * 1 + ("layer1@1" < 500) * 0
  • 多级重分类示例:
("layer1@1" < 100) * 1 + (("layer1@1" >= 100) AND ("layer1@1" < 500)) * 2 + ("layer1@1" >= 500) * 3

在这里插入图片描述
在这里插入图片描述


5. 环境与遥感常用指数计算

  • NDVI(归一化植被指数):

假设红波段为“red@1”,近红外波段为“nir@1”,公式为:

("nir@1" - "red@1") / ("nir@1" + "red@1")
  • NDWI(水体指数):
("green@1" - "nir@1") / ("green@1" + "nir@1")
  • 土壤调整植被指数(SAVI):

L一般取0.5:

(("nir@1" - "red@1") / ("nir@1" + "red@1" + 0.5)) * (1 + 0.5)

在这里插入图片描述
在这里插入图片描述


6. 统计与面积计算

  • 计算某条件覆盖区域的面积(需要配合栅格像元面积):

先重分类为1/0,然后用统计工具计算像元数,乘以单个像元面积。
在这里插入图片描述
在这里插入图片描述


7. 多栅格组合运算示例

  • 坡度加权NDVI综合评价:
("ndvi@1" * 0.7) + ("slope@1" * 0.3)
  • 多指标复合风险指数:
("flood@1" * 0.5) + ("landuse@1" * 0.3) + ("pop_density@1" * 0.2)

8. 常见错误及排查技巧

  • 波段引用错误,请确保波段名称和图层名称对应正确
  • 除零错误,表达式中应避免除数为零,例如用条件筛选过滤
  • 计算结果为空,检查是否有无效值或栅格范围不匹配
  • 运算速度慢,可尝试裁剪数据或降低分辨率

总结

栅格计算器是QGIS中极其强大的工具,通过熟练掌握和灵活运用本文中的经典公式,能让你在环境分析、土地利用、遥感影像处理等多个领域高效工作。建议读者结合自己的数据多加练习,灵活编写适合项目的表达式。

如果你喜欢这篇【QGIS数据篇】,欢迎点赞、收藏和转发,也欢迎留言告诉我你想了解的其他QGIS技巧!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐