Похоже, вы отображаете функцию в коллекцию, но внутри функции, которую вы читаете в той же коллекции.При отображении функций на коллекции убедитесь, что сама функция принимает в качестве аргумента только одно изображение и возвращает одно изображение.Вот как я справляюсь с переименованием группы, если хочу объединить коллекции Landsat:
function renameBandsETM(image) {
var bands = ['B1', 'B2', 'B3', 'B4', 'B5', 'B7', 'pixel_qa'];
var new_bands = ['B', 'G', 'R', 'NIR', 'SWIR1', 'SWIR2', 'pixel_qa'];
return image.select(bands).rename(new_bands);
}
var etm = ee.ImageCollection('LANDSAT/LE07/C01/T1_SR')
.map(renameBandsETM)
Затем я делаю то же самое с изображениями LC8, принимая во внимание другую систему именования полос:
function renameBandsOLI(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);
}
var oli = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')
.map(renameBandsOLI);
Затем вы можете объединить коллекции:
var landsat = ee.ImageCollection(etm.merge(oli));