我想合并 Landsat 4、5、7 和 8 图像。我需要调整 Landsat 8 波段,使其与其他 Landsat 影像波段相匹配。这是我的代码的基本结构:
// L4 collection
var L4 = ee.ImageCollection("LANDSAT/LT04/C01/T1")
.filter(ee.Filter.eq('WRS_PATH', 225))
.filter(ee.Filter.eq('WRS_ROW', 59))
.select(['B3', 'B2', 'B1']);
// L5 collection
var L5 = ee.ImageCollection("LANDSAT/LT05/C01/T2")
.filter(ee.Filter.eq('WRS_PATH', 225))
.filter(ee.Filter.eq('WRS_ROW', 59))
.select(['B3', 'B2', 'B1']);
// l7 collection
var L7 = ee.ImageCollection("LANDSAT/LE07/C01/T1")
.filter(ee.Filter.eq('WRS_PATH', 225))
.filter(ee.Filter.eq('WRS_ROW', 58))
.select(['B3', 'B2', 'B1']);
// l8 collection
var L8 = ee.ImageCollection('LANDSAT/LC08/C01/T1')
.filter(ee.Filter.eq('WRS_PATH', 225))
.filter(ee.Filter.eq('WRS_ROW', 58))
.select(['B4', 'B3', 'B2', ],['B3', 'B2','B1']);
// Merge all
var collection = ee.ImageCollection(L4.merge(L5.merge(L7.merge(L8))));
// Map
Map.addLayer(collection, {bands:['B3', 'B2', 'B1'], min: 0, max: 3000}, 'collection_merge')
我已经尝试了几种改变 Landsat 8 波段的方法......
return image.rename(['B0', 'B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'B8', 'B9', 'B10', 'B11']);
})
.select(['B3', 'B2', 'B1']);
function renameBandsL8(image) {
var bands = ['B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'pixel_qa'];
var new_bands = ['B', 'G', 'R', 'NIR', 'SWIR1', 'SWIR2', 'pixel_qa'];
return image.select(bands).rename(new_bands);
}
和最新的
.select(['B4', 'B3', 'B2', 'B1'],['B5', 'B4', 'B3','B2'])
似乎没有任何工作,我不知道为什么。