Landsat7 ETM卫星NDVI公式
时间: 2025-06-29 22:02:23 浏览: 14
### Landsat 7 ETM+ 归一化植被指数 (NDVI) 的计算
对于Landsat 7 ETM+ 卫星数据而言,归一化植被指数(NDVI) 是通过近红外波段(NIR) 和红光波段(Red) 来计算的。具体的公式如下:
\[ \text{NDVI} = \frac{\text{(NIR - Red)}}{\text{(NIR + Red)}} \]
其中,
- NIR 表示近红外波段,在ETM+ 数据中对应的是第4波段;
- Red 表示红色可见光波段,在ETM+ 中则为第3波段。
为了利用ENVI Classic 进行NDVI 计算,可以按照以下Python伪代码实现这一过程[^1]:
```python
import numpy as np
def calculate_ndvi(nir_band, red_band):
"""
Calculate the Normalized Difference Vegetation Index (NDVI).
Parameters:
nir_band : array_like
Near-infrared band data.
red_band : array_like
Red band data.
Returns:
ndvi : ndarray
Calculated NDVI values.
"""
# Ensure no division by zero occurs
sum_bands = nir_band.astype(float) + red_band.astype(float)
valid_pixels = sum_bands != 0
# Compute NDVI avoiding invalid operations on zeros
ndvi = np.zeros_like(sum_bands).astype(float)
ndvi[valid_pixels] = (nir_band[valid_pixels].astype(float) - red_band[valid_pixels]) / sum_bands[valid_pixels]
return ndvi
```
此函数接收两个参数——`nir_band` 和 `red_band`,分别代表从遥感影像提取出来的近红外和红色波段的数据矩阵。该方法能够有效处理可能存在的零值情况以防止除法运算中的错误发生,并返回一个同样大小的结果数组表示每个像素位置上的NDVI 值。
阅读全文
相关推荐


















