是否有可能获得30年的最绿色像素,NDVI年度平均值和特定坐标的中位数数据,而无需手动更改每一年的日期?

当前,我正在使用以下代码并手动更改年度时间范围以获取值。以及如何在.csv文件中导出此数据集。

var l8 = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA');
var spatialFiltered = l8.filterBounds(point);
print('spatialFiltered', spatialFiltered);
var temporalFiltered = spatialFiltered.filterDate('2015-01-01', '2015-12-31');
print('temporalFiltered', temporalFiltered);
var sorted = temporalFiltered.sort('CLOUD_COVER');
var scene = sorted.first();


//获得2015年最模糊的图像。

var image = ee.Image(
    l8.filterBounds(point)
        .filterDate('2015-01-01', '2015-12-31')
        .sort('CLOUD_COVER')
        .first()
);


//(NDVI)。

var nir = image.select('B5');
var red = image.select('B4');
var ndvi = nir.subtract(red).divide(nir.add(red)).rename('NDVI');


//结果。

Map.centerObject(image, 9);
var ndviParams = {min: -1, max: 1, palette: ['blue', 'white', 'green']};
Map.addLayer(ndvi, ndviParams, 'NDVI image');
var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI');

最佳答案

您可以使用映射功能来计算年度NDVI作为图像集。使用Google Earth Engine的方法如下。

var point = ee.Geometry.Point([-122.44210030630455, 37.73518696319849]);
Map.centerObject(point, 9);

var l8 = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA');

var years = ee.List.sequence(2013, 2019);

var leastCloudIC = ee.ImageCollection(years.map(function (y) {
    return ee.Image(
        l8.filterBounds(point)
          .filterDate(ee.Date.fromYMD(ee.Number(y), 01, 01),
                      ee.Date.fromYMD(ee.Number(y), 12, 31))
          .sort('CLOUD_COVER').first()
    );
}));

var annualNDVI = leastCloudIC.map(function (img) {
    return img.normalizedDifference(['B5', 'B4']).rename('NDVI').set('system:time_start', img.get('system:time_start'));
});

var ndviParams = {min: -1, max: 1, palette: ['blue', 'white', 'green']};
var ndvi2015 = annualNDVI.filterDate('2015-01-01', '2015-12-31').first();
Map.addLayer(annualNDVI.filterDate('2015-01-01', '2015-12-31').first(), ndviParams, 'ndvi 2015');


Here's相同的GEE脚本。

关于javascript - 是否有任何代码可以通过Landat开发NDVI的30年数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59079987/

10-17 03:02