我有一个功能可以可视化不同日期的图像。但是,我需要同时使用 landsat 7 和 8,因为我想要的日期早于 2013 年。问题是 landsat 7 和 8 对它们的波段排序不同,因此以相同的方式可视化图像需要不同的代码。为了解决这个问题,我尝试重命名 landsat 7 图像集中的红色、绿色、蓝色和 NIR 波段以匹配 landsat 8。这样我可以编写一个通用代码,该代码将适用于 landsat 7 和 8 的图像。下面是我编写的代码(假设 landsat 7 已被导入并称为“landsat7”,并且还导入了一个包围称为“bounds”的感兴趣区域的几何图形)。
// Function to rename landsat 7 bands to match landsat 8 bands
var adjustBands = function(landsat7){
var adjust = ee.ImageCollection(landsat7)
.filterDate('2010-01-01', '2010-05-01')
.filterBounds(bounds).first();
return adjust.select(['B4', 'B3', 'B2', 'B1'],['B5', 'B4', 'B3','B2']);
}
print('adjust', adjustBands(landsat7));
//apply function to entire image collection
var l7a = landsat7.map(adjustBands);
但是,当我运行代码时出现错误:地图错误(ID = LE07_001004_20000610):Image.select:需要参数'input'。有什么建议吗?