使用Google地球引擎获取许多城市的每日温度表

时间:2019-05-06 04:00:18

标签: google-earth-engine

我没有使用Google Earth Engine(GEE)的经验,因此在过去的一周里,我一直不停地尝试着解决这个问题。我正在尝试导出一个表,其中列出了3个选定州从2018年1月1日到2018年12月31日的城市的每日平均温度。我已经能够获取每个城市的年度平均值-但我真正想要的是每日平均值每个城市。我应该如何考虑这个问题?我应该写一个循环吗?

我已将名为城市的资产导入我感兴趣的城市边界到Google Earth Engine中。我写了一个函数来在城市地区应用平均温度的降低平均值,并试图将表格导出到我的Google云端硬盘,但是我收到一条错误消息:“ 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'
});   

我真正想要的是,从2018年1月1日到2018年12月31日,每天在资产shapefile“城市”(上传到Google Earth Engine)中的每个城市的平均温度。通过注释的代码实现的是每个城市的年度平均值。我怀疑我必须对“系统:时间开始”做些什么,但是我不知道在哪里或如何放置此代码。任何建议都将不胜感激,因为我在GEE方面的经验有限。谢谢!

0 个答案:

没有答案