Google Earth Engine(GEE)实例代码学习四——表达式计算(Expression)

标题——表达式

本文分享如何单张影像计算表达式——‘Expression’

实例代码为计算MODIS地表反射率影像EVI。
上文利用GEE提供的函数便捷化计算了归一化差分指数,这里主要是计算自己的表达式。

//加载MODIS地表反射率数据其单位为*10000,所以这里需要*0.0001
var img = ee.Image('MODIS/006/MOD09GA/2012_03_09').multiply(0.0001);

// 定义自己的表达式
//是在单张影像上进行操作
// variable name to band name in the input image.
var evi = img.expression(
    '2.5 * (nir - red) / (nir + 6 * red - 7.5 * blue + 1)',
    {
        red: img.select('sur_refl_b01'),    // 620-670nm, RED
        nir: img.select('sur_refl_b02'),    // 841-876nm, NIR
        blue: img.select('sur_refl_b03')    // 459-479nm, BLUE
    });
// 地图中心
Map.setCenter(-94.84497, 39.01918, 8);
// 加载影像,真彩色合成
Map.addLayer(img.select(['sur_refl_b01', 'sur_refl_b04', 'sur_refl_b03']),
         {min: 0, max: 0.2}, 'MODIS bands 1/4/3');
//加载计算的EVI,会覆盖在上幅影像上
Map.addLayer(evi, {min: 0, max: 1}, 'EVI');

代码运行结果
在这里插入图片描述
接下来修改代码,计算Landsat8的燃烧指数BAI


var img = ee.Image('LANDSAT/LC08/C01/T1_SR/LC08_123032_20160113').multiply(0.0001);

var MyExpressionBAI='1/(sqrt(0.1-RED)+sqrt(0.06-NIR))'
var BAI = img.expression(MyExpressionBAI,
    {
        RED: img.select('B4'),    // 620-670nm, RED
        NIR: img.select('B5'),    // 841-876nm, NIR
    });

// Center the map.
Map.setCenter(116, 39.9, 8);

Map.addLayer(BAI, {min: 1.79, max: 3.97}, 'BAI');

运行结果

在这里插入图片描述

发布了4 篇原创文章 · 获赞 0 · 访问量 16

猜你喜欢

转载自blog.csdn.net/little00bee/article/details/105602827