QGIS栅格计算器咋用?NDVI公式怎么写?
NDVI算出来全是黑的?别慌,90%的人第一步就错了
你是否也遇到过在QGIS里用栅格计算器算NDVI,结果拉伸了半天还是一片漆黑?或者数值范围莫名其妙跑到-100到+300?别怀疑人生——这不是软件bug,而是你漏掉了最关键的一步:波段值归一化。我在参与某省植被覆盖动态监测项目时,第一次批量处理200景Landsat影像,也栽在这个坑里,差点被甲方骂哭。

NDVI的本质:用数学给植物“测体温”
NDVI(归一化植被指数)听起来高大上,其实原理比奶茶配方还简单。它就是用近红外波段(NIR)减去红光波段(Red),再除以它们的和。公式长这样:
(NIR - Red) / (NIR + Red)为什么这么设计?因为健康植物会狂吸红光(用于光合作用),同时猛反射近红外(细胞结构散射)。就像人发烧时额头温度高,植被“发烧”(茂盛)时近红外反射率就飙升。这个公式本质是计算“反射差值占总反射的比例”,所以结果被强制压缩在-1到+1之间——这才是关键!如果你直接用原始DN值(比如0~10000)计算,分母动辄上万,结果自然小到看不见。
💡 类比教学:想象你在称体重。如果直接用“克”为单位(比如65000克),数字太大不方便比较;但换成“千克”(65kg),瞬间清爽。NDVI的归一化就是把波段值从“克”转成“千克”。
手把手实战:三步写出不会报错的NDVI公式
我们以Landsat 8为例(其他卫星同理),假设你已加载影像且确认波段顺序:
- 定位波段:右键图层 →
属性 → 信息,找到红光波段(通常是B4)和近红外波段(B5)。记下它们在QGIS中的编号,比如raster@4和raster@5。 - 写公式:打开
栅格 → 栅格计算器,输入:
注意:波段名必须加双引号+反斜杠转义!这是新手最高频的报错点。( "LC08_raster@5" - "LC08_raster@4" ) / ( "LC08_raster@5" + "LC08_raster@4" ) - 设置输出:指定输出路径,勾选
添加结果到工程,点击运行。
跑完后右键新图层 → 属性 → 渲染,将拉伸方式改为最小/最大,你会看到经典的NDVI色彩:红色=裸土,绿色=茂密植被。
避坑指南:Dr.Gis的三个血泪经验
- 坑1:忘记云掩膜 —— 云层的NDVI接近0,会污染统计结果。先用QA波段或手动裁剪剔除云区。
- 坑2:波段搞反 —— 把红光当近红外?结果会得到负值为主的“反NDVI”。务必核对卫星波段表!
- 坑3:数据类型陷阱 —— 如果输出选了Int16,小数会被截断成0。务必选Float32!
| 常见卫星NDVI波段组合 | 红光波段 | 近红外波段 |
|---|---|---|
| Landsat 8/9 | Band 4 | Band 5 |
| Sentinel-2 | Band 4 | Band 8 |
| MODIS | Band 1 | Band 2 |
进阶技巧:用条件函数排除无效值
想让水体/云层显示为透明?在公式里嵌套if函数:
if( ("raster@5" + "raster@4") = 0, -9999, ("raster@5" - "raster@4") / ("raster@5" + "raster@4") )这句的意思是:如果分母为0(避免除零错误),输出-9999(设为NoData值);否则正常计算NDVI。之后在图层样式里将-9999设为透明即可。总结:NDVI计算的核心就两句话
第一,波段值必须归一化——要么用反射率产品,要么自己除以最大值(如Landsat 8除10000);第二,公式要带转义符——波段名必须用" "包裹。做到这两点,黑色诅咒自动解除。
你在计算NDVI时还遇到过哪些诡异报错?是在第几步卡住的?欢迎在评论区甩出你的截图+问题,我会抽三个典型case做深度解析!
相关文章
-
GIS坐标系总是搞混?各行业投影选择与WGS84、CGCS2000转换实战技巧(含:对照表) 2026-01-14 08:30:02
-
GIS坐标系位置总对不上?三步搞定数据偏移修正(附:参数对照表) 2026-01-14 08:30:02
-
GIS坐标系6位转8位总出错?核心算法与精度提升技巧详解(附:参数对照表) 2026-01-14 08:30:02
-
GIS坐标系转换为何总出错?常见误区排查与修正方案(附:对照表) 2026-01-13 08:30:02
-
GIS坐标系转换总出错?核心参数与校正流程详解(附:参数表) 2026-01-13 08:30:02
-
GIS坐标系怎么设置?从定义到投影转换的实战指南(附:参数对照表) 2026-01-13 08:30:02
-
GIS坐标系到底用哪个?盘点国内主流坐标系及转换技巧(附:参数表) 2026-01-13 08:30:02
-
GIS坐标系转换工具怎么选?高精度投影转换实战技巧(附:对照表) 2026-01-13 08:30:02
-
GIS坐标系到底怎么选?一文搞懂投影与转换(含:常用参数表) 2026-01-13 08:30:02
-
GIS坐标系与投影傻傻分不清?GIS中地理坐标系转投影坐标系实战指南(含:常用投影参数表) 2026-01-13 08:30:01
-
GIS坐标系与投影总是报错?ArcGIS坐标定义与转换参数详解(附:对照表) 2026-01-13 08:30:01
-
GIS坐标系与投影总报错?地理坐标系和投影坐标系的核心区别(含:转换公式) 2026-01-13 08:30:01
-
WGS84坐标系转换CGCS2000总出错?原理剖析与实战转换步骤(附:常用GIS软件参数表) 2026-01-13 08:30:01
-
WGS84坐标系如何正确选择投影?常用GIS投影坐标系推荐(含:EPSG代码与参数) 2026-01-12 08:30:02
-
GIS投影后坐标没变化?定义坐标系与投影工具使用误区详解(附:对照表) 2026-01-12 08:30:02
-
GIS投影总报错?WGS84转CGCS2000实战步骤与参数详解(附:坐标系对照表) 2026-01-12 08:30:02
-
GIS投影坐标总是偏移?一分钟搞定坐标系定义与转换(附:高精度参数表) 2026-01-12 08:30:02
-
GIS坐标系与投影总出错?盘点常见投影变形问题与修正方案(附:WGS84与CGCS2000转换参数表) 2026-01-12 08:30:02
-
GIS坐标系统与投影转换必学!(含:坐标系定义与投影作用详解) 2026-01-12 08:30:02
-
GIS坐标系与投影转换总出错?排查思路与常用坐标系对照表(附:EPSG代码) 2026-01-12 08:30:02
热门标签
最新资讯
2026-01-15 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02