У меня нет опыта использования Google Earth Engine (GEE), поэтому я в течение прошлой недели бился головой о стену, пытаясь понять, как это сделать. Я пытаюсь экспортировать таблицу со среднесуточными температурами для городов в 3 выбранных штатах, с 1 января 2018 года по 31 декабря 2018 года. Мне удалось получить среднегодовые значения для каждого города, но я действительно хочу получить среднесуточное значение для каждого города. Как я должен думать об этой проблеме? Должен ли я написать цикл?
Я импортировал ресурс под названием города для границ городов, представляющих для меня интерес, в Google Earth Engine. Я написал функцию для применения среднего значения редуктора (для средней температуры) к городским регионам и попытался экспортировать таблицу в мой Google Drive, но получаю сообщение об ошибке: «gridmet18.reduceRegions не является функцией». Другие вещи, которые я пробовал (в комментариях), доступны через кодовую ссылку: https://code.earthengine.google.com/5ae73d83044244229cb655bf4a75a47f.
var prism18 = prism.filterDate('2018-01-01','2018-12-31').select('tmean');
var gridmet18 = gridmet.filterDate('2018-01-01','2018-12-31').select('tmmx','tmmn','pr');
var cityMean = gridmet18.reduceRegions(
{
'reducer': ee.Reducer.mean(),
'scale': 4000,
'collection': cities,
});
// Commented out portion
//var daily_mean = ee.List.sequence(0, 1*1).map(function(n) {
//var start = ee.Date('2018-01-01').advance(n, 'daily');
//var end = start.advance(1, 'month');
//return ee.ImageCollection('OREGONSTATE/PRISM/AN81d').filterDate(start, end).select('tmean').mean();
//});
////////
//var month_mean = ee.List.sequence(0, 1*1).map(function(n) { // .sequence: number of years from starting year to present
//var start = ee.Date('2018-01-01').advance(n, 'daily'); // Starting date
//var end = start.advance(1, 'daily'); // Step by each iteration
//return ee.ImageCollection("IDAHO_EPSCOR/GRIDMET")
// .filterDate(start, end)
// .mean()
//.set('system:time_start', start.millis());
//});
///////
//var weatherCollection = ee.ImageCollection('IDAHO_EPSCOR/GRIDMET')
// .select('pr','tmmx','tmmn') // select precip band only
// .filterDate('2018-01-01', '2018-12-31');
//var weatherDaily = weatherCollection.reduce(ee.Reducer.mean());
//var cityCA = weatherDaily.reduceRegions({
//collection: CA,
//reducer: ee.Reducer.mean(),
//scale: 4000 // the resolution of the GRIDMET dataset
//});
// ***
//var polyOut = cityCA.select(['.*'],null,false);
// add a new column for year to each feature in the feature collection
//polyOut = polyOut.map(function(feature){
//return feature.set('Day',2018-01-01);
//});
// Table to Drive Export Example
Export.table.toDrive({
collection: polyOut,
description: 'GRIDMET_annual_precip_by_city',
fileFormat: 'CSV'
});
Что я действительно хочу, так это среднесуточная температура для каждого отдельного города в шейп-файле актива «города» (загруженного в Google Earth Engine) за каждый день с 1 января 2018 года по 31 декабря 2018 года. достичь с помощью закомментированного кода были среднегодовые показатели для каждого города. Я подозреваю, что мне нужно что-то делать с «системой: время начала», но я не знаю, где и как поместить этот код. Буду очень признателен за любые предложения или советы, поскольку у меня ограниченный опыт работы в GEE. Спасибо!