错误
您好,我感兴趣的是能够使用 MNDWI 阈值通过水掩模来掩盖 Landsat NDVI 复合材料的时间序列。然后我想对这些水蒙版的每月复合材料进行分段。我还没有弄清楚如何在两个图像集合之间执行此操作,并且收到一个无法用两个图像集合掩盖的错误。另一种方法是什么?这是我的代码。另外,这是我解释这一点的堆栈交换帖子。
Layer 4: Layer error: Image.updateMask, argument 'mask': Invalid type. Expected type: Image<unknown bands>. Actual type: ImageCollection.
ImageCollection (Error)
Image.updateMask, argument 'mask': Invalid type. Expected type: Image<unknown bands>. Actual type: ImageCollection.
代码链接:
https://code.earthengine.google.com/c839df7d4c6ee21f880d9b4c92de2a37
代码:
var geometry =
/* color: #d63000 */
/* shown: false */
/* displayProperties: [
{
"type": "rectangle"
}
] */
ee.Geometry.Polygon(
[[[2.350473559400781, 6.499249521311179],
[2.350473559400781, 6.38939813370194],
[2.658434069654687, 6.38939813370194],
[2.658434069654687, 6.499249521311179]]], null, false);
/*
Purpose:
Organization:
Citations: adaptation of work created by
Singh, G., Reynolds, C., Byrne, M., and Rosman, B., 2020. A remote sensing method to monitor water,
aquatic vegetation and the invasive water hyacinth at national extents.
Author:
Contact:
*/
// ### Functions ##############################################################
//Function for acquiring Landsat SR image collection
function getLandsatImageCollection(studyArea,startDate,endDate,startJulian,endJulian,cloud){
var ls;var l4SR;var l5SR;var l7SR;var l8SR;var l9SR;var out;
var sensorBandDictLandsatSR =ee.Dictionary({L9: ee.List([1,2,3,4,5,6,8,17,18]),
L8 : ee.List([1,2,3,4,5,6,8,17,18]),
L7 : ee.List([0,1,2,3,4,5,8,17,18]),
L5 : ee.List([0,1,2,3,4,5,8,17,18]),
L4 : ee.List([0,1,2,3,4,5,8,17,18])
});
var bandNamesLandsatSR = ee.List(['SR_B1','SR_B2','SR_B3','SR_B4','SR_B5',
'SR_B6','TEMP','QA_PIXEL', 'QA_RADSAT']);
l4SR = ee.ImageCollection("LANDSAT/LT04/C02/T1_L2")
.filterDate(startDate,endDate)
.filter(ee.Filter.calendarRange(startJulian,endJulian))
.filterBounds(studyArea)
.select(sensorBandDictLandsatSR.get('L4'), bandNamesLandsatSR);
l5SR = ee.ImageCollection("LANDSAT/LT05/C02/T1_L2")
.filterDate(startDate,endDate)
.filter(ee.Filter.calendarRange(startJulian,endJulian))
.filterBounds(studyArea)
.select(sensorBandDictLandsatSR.get('L5'),bandNamesLandsatSR);
l7SR = ee.ImageCollection("LANDSAT/LE07/C02/T1_L2")
.f