请给出gee中计算ndvi的代码
时间: 2023-03-29 15:03:46 浏览: 193
以下是计算 NDVI 的代码:
```python
import numpy as np
def ndvi(nir, red):
"""
计算 NDVI
:param nir: 近红外波段的像素值
:param red: 红色波段的像素值
:return: NDVI 值
"""
ndvi = (nir - red) / (nir + red)
return ndvi
```
其中,nir 和 red 分别代表近红外波段和红色波段的像素值。NDVI 的计算公式为:(NIR - RED) / (NIR + RED)。
相关问题
请给出在GEE中计算NDVI的代码
以下是在GEE中计算NDVI的代码:
var image = ee.Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318');
var ndvi = image.normalizedDifference(['B5', 'B4']);
Map.addLayer(ndvi, {min: -1, max: 1, palette: ['blue', 'white', 'green']}, 'NDVI image');
gee逐月计算ndvi的代码
以下是Python中用于逐月计算NDVI的示例代码:
```
import rasterio
import numpy as np
import glob
# 读取所有的红光波段和近红外波段
red_bands = glob.glob('path/to/red/bands/*.tif')
nir_bands = glob.glob('path/to/nir/bands/*.tif')
# 定义计算NDVI的函数
def calc_ndvi(red_band, nir_band):
with rasterio.open(red_band) as red_src, rasterio.open(nir_band) as nir_src:
red = red_src.read(1).astype('float32')
nir = nir_src.read(1).astype('float32')
ndvi = (nir - red) / (nir + red)
return ndvi
# 遍历所有的红光波段和近红外波段,计算NDVI并保存结果
for red_band, nir_band in zip(red_bands, nir_bands):
ndvi = calc_ndvi(red_band, nir_band)
month = red_band.split('/')[-1].split('_')[-2]
with rasterio.open(f'path/to/ndvi/{month}_ndvi.tif', 'w', **red_src.profile) as dst:
dst.write(ndvi, 1)
```
这个代码通过遍历所有的红光波段和近红外波段,计算NDVI并保存结果。在每个月份的NDVI图像中,NDVI值表示该月份该地区的植被生长情况。
阅读全文