python计算ndvi的代码
时间: 2024-09-29 07:02:59 浏览: 61
NDVI批量计算Python代码.zip_Arcpy_NDVI_beanf2l_python_最大值合成法
5星 · 资源好评率100%
在Python中,NDVI(Normalized Difference Vegetation Index,归一化植被指数)是一种常用的方法,用于评估遥感图像上植物覆盖度。它通常通过红光波段和近红外波段的差值除以它们的和来计算。以下是一个简单的例子,展示了如何使用Pandas、NumPy以及对特定遥感数据(如Bands 4和5,分别对应近红外和红光)进行计算:
```python
import numpy as np
import pandas as pd
# 假设你有一个包含RGB和 NIR bands 的数组data
# data是一个二维数组,例如每行代表一个像素,每列对应一个波段
# 这里我们假设bands_4 和 bands_5 分别代表NIR和Red band
bands_4 = data[:, 3] # 假设第四个元素是NIR
bands_5 = data[:, 2] # 假设第三个元素是Red
# 计算NDVI
ndvi = (bands_4 - bands_5) / (bands_4 + bands_5)
# 如果有缺失值或零值(可能导致除数为零),可以先处理一下
ndvi = np.where((bands_4 + bands_5) != 0, ndvi, np.nan)
# 将结果转换为DataFrame便于后续分析
ndvi_df = pd.DataFrame(np.column_stack([data, ndvi]), columns=data.columns.tolist() + ['NDVI'])
# 结果的NDVI列就是你的计算结果
```
阅读全文