标题
本文主要分享利用影像各波段如何计算归一化差分指数——‘Normalized Difference’
这里例子为计算NDVI
//加载MODIS地表反射率影像,位置为全球范围
var img = ee.Image('MODIS/006/MOD09GA/2012_03_09');
//计算公式:normalizedDifference(A, B),表示 (A - B) / (A + B)
//计算影像归一化差分指数,计算结果以一张影像格式显示
//'sur_refl_b02''sur_refl_b01'为MOD09GA波段名,为红波段和近红波段
var ndvi = img.normalizedDifference(['sur_refl_b02', 'sur_refl_b01']);
//创建一个调色盘,将计算的NDVI分为这几级并赋予相应颜色
var palette = ['FFFFFF', 'CE7E45', 'DF923D', 'F1B555', 'FCD163', '99B718',
'74A901', '66A000', '529400', '3E8601', '207401', '056201',
'004C00', '023B01', '012E01', '011D01', '011301'];
//设置地图显示中心
Map.setCenter(-94.84497, 39.01918, 8);
// 选择红绿蓝波段合成显示
Map.addLayer(img.select(['sur_refl_b01', 'sur_refl_b04', 'sur_refl_b03']),
{gain: [0.1, 0.1, 0.1]}, 'MODIS bands 1/4/3');
//显示计算NDVI,显示范围为0-1,按之前设置色调显示
Map.addLayer(ndvi, {min: 0, max: 1, palette: palette}, 'NDVI');
代码运行结果
现在来修改试试
计算某幅Landsat8,NBR指数
var img = ee.Image('LANDSAT/LC08/C01/T1_SR/LC08_123032_20160113');
var NBR = img.normalizedDifference(['B5', 'B7']);
Map.setCenter(116, 39.9, 8);
Map.addLayer(img.select(['B4', 'B3', 'B2']),
{gain: [0.1, 0.1, 0.1]}, 'Landsat bands 1/4/3');
Map.addLayer(NBR, {min: 0, max: 1}, 'NBR');
代码运行结果