NDVI
NDVI数据库
GEE自身提供了相当多的NDVI资源可以直接导入使用。
以Landsat 8 8天周期NDVI产品为例,导入及可视化代码如下:
1 | var dataset = ee.ImageCollection('LANDSAT/LC08/C01/T1_8DAY_NDVI') |
计算NDVI
当然,有时候产品无法满足要求,需要根据波段信息运算。GEE可以方便的使用几行代码完成运算。
首先放上NDVI的计算公式:
NDVI = (近红外波段 - 红波段) / (近红外波段 + 红波段)
针对每种卫星的波段,选用的波段都有所不同,公式如下:
Landsat8: NDVI = (band5 - band4) / (band5 + band4)
Sentinel2: NDVI = (band8 - band4) / (band8 + band4)
Modis: NDVI = (band2 - band1) / (band2 + band1)
ETM/TM: NDVI = (band4 - band3) / (band4 + band3)
AVHRR: NDVI = (CH2 - CH1) / (CH2 + CH1)
接下来以Landsat 8和Sentinel 2为例,计算NDVI,摘自某位网友,侵删。
Landsat 8:
1 | //landsat 8 NDVI Demo |
Sentinel 2:
1 | //sentinel2 NDVI Demo |
NDWI
NDWI数据库
GEE自身提供了相当多的NDVI资源可以直接导入使用。
以Landsat 8 32天周期NDWI产品为例,导入及可视化代码如下:
1 | var dataset = ee.ImageCollection('LANDSAT/LC08/C01/T1_32DAY_NDWI') |
计算NDWI
同理,NDWI的计算公式:
NDWI = (绿波段 - 近红外波段) / (绿波段 + 近红外波段)
针对每种卫星的波段,选用的波段都有所不同,公式如下:
landsat8: NDWI = (band3 - band5) / (band3 + band5)
landsat5/7: NDWI = (band2 - band4) / (band2 + band4)
sentinel2: NDWI = (band3 - band8) / (band3 + band8)
接下来以Landsat 8和Sentinel 2为例,计算NWVI,摘自某位网友,侵删。
Landsat 8:
1 | //landsat 8 NDWI Demo |
Sentinel 2:
1 | // sentinel2 ndwi |
Landsat 8 NDVI 和 NDWI 添加波段
python代码如下:
1 | # Use Landsat 8 surface reflectance data. 【使用Landsat8影像】 |
可视化结果如下:
NDVI:
NDWI:
下次讲下如何利用水体指数提取潘阳湖面积今年变化~