дата фильтра двигателя Google Earth игнорируется сюжетом?

Я начинаю с кодирования двигателя земли (ee). Следуя инструкциям на странице https://developers.google.com/earth-engine/tutorial_api_07. Мне удалось собрать код и получить сюжет. Но почему диапазон дат на графике идет с 2016 по 2018 год, а filterDate('2017-01-01', '2017-12-31')?

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

var addNDVI = function(image) {
  var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI');
  return image.addBands(ndvi);
};

var ndvi = addNDVI(image).select('NDVI');

var withNDVI = s2.map(addNDVI);

var chart = ui.Chart.image.series({
  imageCollection: withNDVI.select('NDVI'),
  region: point,
  reducer: ee.Reducer.first(),
  scale: 30
}).setOptions({title: 'NDVI over time'});

print(chart);

введите здесь описание изображения


person KcFnMi    schedule 24.11.2018    source источник


Ответы (1)


Ваш код не создает ожидаемую диаграмму с диапазоном дат, потому что вы устанавливаете результат временной фильтрации для изображения (ee.Image(...first()), а затем используете исходную коллекцию изображений s2 для расчетов NDVI и построения диаграмм. Ваш код должен выглядеть примерно так, когда вы устанавливаете результаты фильтрации в переменную коллекции изображений и используете ее в функции NDVI и графике:

var s2 = ee.ImageCollection("COPERNICUS/S2"),
    point = ee.Geometry.Point([-86.54734555291998, 34.74135144079877]);

var filteredIC = s2.filterBounds(point)
    .filterDate('2017-01-01', '2017-12-31')
    .sort('CLOUD_COVER')

var addNDVI = function(image) {
    var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI');
    return image.addBands(ndvi);
};

var withNDVI = filteredIC.map(addNDVI);

var chart = ui.Chart.image.series({
    imageCollection: withNDVI.select('NDVI'),
    region: point,
    reducer: ee.Reducer.first(),
    scale: 30
}).setOptions({title: 'NDVI over time'});

print(chart);

Вот ссылка на код: https://code.earthengine.google.com/6e7dba0fbbda1cab133b3dffe31e2e9e

Надеюсь, это поможет!

person Kel Markert    schedule 05.12.2018