Google earth engine filterdate игнорируется сюжетом?

Я начинаю с кодирования двигателя земли (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);

Google earth engine filterdate игнорируется сюжетом?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
185
1

Ответы 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

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

Другие вопросы по теме