我们在计算reduceRegion进行相应的线性统计,比如说
Image (Error)
Image.multiply, argument ‘image2’: Invalid type.
Expected type: Image.
Actual type: Float.
Actual value: 1.2069913363600504
以上的错误主要问题是因为在尝试将常量与图像相乘,这里主要的问题就是计算的是一个数值而不是一个影像,但常量必须先创建为图像。请在以下代码中使用 ee.Image.constant() 方法创建常量图像。这里我们需要用到一个函数,就是将影像转化为常量影像的转化,因为这里没有正确识别影像类型。
函数:
ee.Image.constant(value)
Generates an image containing a constant value everywhere.
将一个数值产生的结果转化为一个常量数值影像
Arguments:
value (Object):
The value of the pixels in the constant image. Must be a number or an Array or a list of numbers or Arrays.
Returns: Image
原有代码:
// Load a Landsat 8 image
var image = ee.Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318');
// Define the true values for each pixel
var truth = ee.Image.constant(10);
// Calculate the residuals
var residuals = truth.subtract(image);
// Compute the RMSE
var rmse = residuals.pow(2).reduceRegion({
reducer: ee.Reducer.mean(),
geometry: image.geometry(),
scale: 30
}).get('constant');
rmse = ee.Number(rmse).sqrt();
// Compute the MAE
var mae = residuals.abs().reduceRegion({
reducer: ee.Reducer.mean(),
geometry: image.geometry(),
scale: 30
}).get(