Google Earth Engine(GEE)——影像进行数学运算(NDVI为例)!

数学运算符对图像带执行基本的算术运算。它们接受两个输入:两个图像或一个图像和一个常数项,它被解释为没有屏蔽像素的单波段常数图像。对于每个波段,按像素执行操作。

举一个简单的例子,使用陆地卫星图像,其中计算归一化植被指数(NDVI)的中会使用到add()subtract()以及divide()用于运营商:当然这里有集成号的内置函数可以使用: normalizedDifference()

仅考虑两个输入之间未屏蔽像素的交集并将其返回为未屏蔽,其他所有像素均已屏蔽。通常,如果任一输入只有一个波段,则它会用于另一个输入中的所有波段。如果输入具有相同数量的波段,但名称不同,则它们按自然顺序成对使用。输出波段以两个输入中较长的命名,或者如果它们的长度相等,则按第一个输入的顺序命名。输出像素的类型是输入类型的并集。下面这张图就是波段信息:在此示例的第二部分中,使用 计算平方差 image.pow(2)。有关处理基本算术、三角、幂、舍入、强制转换、按位运算等.

平方差结果

2008-1999的差异

代码:

//第一部分就是一个简单的NDVI的计算
// Load a 5-year Landsat 7 composite 1999-2003.
var landsat1999 = ee.Image('LANDSAT/LE7_TOA_5YEAR/1999_2003');

// Compute NDVI.
var ndvi1999 = landsat1999.select('B4').subtract(landsat1999.select('B3'))
  .divide(landsat1999.select('B4').add(landsat1999.select('B3')));



//第二部分就是运用5年的NDVI进行一个差值计算和平方差的计算并且以图形显示效果
// Load a 5-year Landsat 7 composite 2008-2012.
var landsat2008 = ee.Image('LANDSAT/LE7_TOA_5YEAR/2008_2012');

// Compute multi-band difference between the 2008-2012 composite and the
// previously loaded 1999-2003 composite.
var diff = landsat2008.subtract(landsat1999);
Map.addLayer(diff,
             {bands: ['B4', 'B3', 'B2'], min: -32, max: 32}, 'difference');

// Compute the squared difference in each band.
var squaredDifference = diff.pow(2);
Map.addLayer(squaredDifference,
             {bands: ['B4', 'B3', 'B2'], max: 1000}, 'squared diff.');

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此星光明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值