数学运算符对图像带执行基本的算术运算。它们接受两个输入:两个图像或一个图像和一个常数项,它被解释为没有屏蔽像素的单波段常数图像。对于每个波段,按像素执行操作。
举一个简单的例子,使用陆地卫星图像,其中计算归一化植被指数(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.');