#visualization #google-earth-engine
Вопрос:
У меня возникли проблемы с визуализацией моих окончательных изображений. У меня есть данные за 8 лет, и я рассчитываю годовой SPM. Код находится здесь. Независимо от того, каковы максимальные и минимальные значения или цветовые палитры. Конечные продукты будут синими/фиолетовыми. Кроме того, как я могу экспортировать все изображения из своей коллекции изображений в виде пакетной загрузки с помощью JavaScript API.
var starYear = 2013
var endYear = 2020
var startMonth = 4;
var startDay = 1;
var endMonth = 6;
var endDay = 30
var l8geo = l8.filterBounds(geometry).select('SR_B4')
.filterMetadata('CLOUD_COVER', 'less_than', 5)
// .filter(ee.Filter.calendarRange(2013,2020,'year'))
// .filter(ee.Filter.calendarRange(4,6,'month'))
print(l8geo)
var years = ee.List.sequence(starYear, endYear);
print(years)
var annualMedian = ee.ImageCollection.fromImages(
years.map(function (year) {
var startDate = ee.Date.fromYMD(year, startMonth, startDay);
var endDate = ee.Date.fromYMD(ee.Number(year).add(1), endMonth, endDay);
var annual = l8geo
.filterDate(startDate, endDate)
.median();
return annual
.set('year', year)
.set('system:time_start', ee.Date.fromYMD(year, 4, 1).format("YYYY_MM_dd"))
.set('system:time_end', ee.Date.fromYMD(year, 6, 30).format("YYYY_MM_dd"));
}));
print(annualMedian)
var visPar = {min: 0, max: 1, palette: ['FFFFFF', 'CE7E45', 'DF923D', 'F1B555',
'FCD163', '99B718', '74A901',
'66A000', '529400', '3E8601',
'207401', '056201', '004C00', '023B01',
'012E01', '011D01', '011301']}
// Map.addLayer(annualMedian.first().clip(geometry), visPar, 'First year')
//
var OrderList=[0,1,2,3,4,5,6,7]
var annualMedian = annualMedian.toList(annualMedian.size()); // convert ImageCollection to List
for (var i in OrderList) {
var imageMed = ee.Image(annualMedian.get(OrderList[i])).multiply(0.0000275);
Map.centerObject(geometry, 9)
// Map.addLayer(image.clip(geometry), visPar);
}
//assiging parameters for the equaltion (A / (B - red band/ C))
var A = ee.Image.constant(289.29)
var B = ee.Image.constant(1)
var C = ee.Image.constant(0.1686)
var D = ee.Image.constant(.0000275)
//applying SPM algorithm
var addSPM = function(image) {
var image = ee.Image(image)
var spm1 = (B.subtract(image.multiply(D)).divide(C))//SPM equation D is the scaling factor
var spm2 = A.divide(spm1)
return image.addBands(spm2);
};
// Second, apply function over your collection
var YearlySPM = annualMedian.map(addSPM);
var visPar2 = {min: 60, max: 80, palette: ['blue', 'green', 'yellow']}
for (var i in OrderList) {
var image = ee.Image(YearlySPM.get(OrderList[i]))
Map.addLayer(image.clip(geometry));
}
// export the images