Earth Engine:从多边形内提取气候数据

问题描述

我正在考虑从 Earth Engine 的多边形内的数据集“RTMA:实时中尺度分析”(https://developers.google.com/earth-engine/datasets/catalog/NOAA_NWS_RTMA#bands) 中提取与日期和时间相关联的数据。

我设法编写了一些代码来获得多边形内变量的平均值(请参阅下面的代码),但实际上我需要一个列表,例如多边形内 x 个点(例如 10 个,随机散布在多边形内)每天的风速。它们可以随机散布在多边形中,也可以彼此相距一定距离。

当您点击地球引擎中的“检查器”,然后点击地图上的一个点时,EE(谷歌地球引擎)将在定义的时间段内为您提供该点的变量值(例如风速)(请参阅此处的图片 data calculated on the point clicked on with the "Inspector)。本质上,我的目标是让 EE 准确地为我提供这些值(在表格或图表中) - 但对于我预先定义的多边形内的几个点。

有人能指出我正确的方向吗?我并不是要一个现成的解决方案(我希望我自己能想出这个解决方案,然后在此发布),但如果有人对如何去做这件事有任何想法,那就太棒了。

// Start and end dates,format YYYY-MM-DD
var startDate = '2018-01-01'
var endDate = '2018-01-02'

// Load the dataset between selected dates
var dataset = ee.ImageCollection('NOAA/NWS/RTMA')
                  .filter(ee.Filter.date(startDate,endDate));
                 
var windSpeed = dataset.select('WIND');
var windDir = dataset.select('WDIR');

var windSpeedVis = {"min":0,"max":18,"palette":["001137","01abab","e7eb05","620500"]}
var windDirVis = {"min":0,"max":360,"pallette":["000000","FFFFFF"]}

// display the collection of windSpeed 'images'
Map.addLayer(windDir,windDirVis,'Wind Direction');
Map.addLayer(windSpeed,windSpeedVis,'Wind Speed');

// from here on: new material and new code. Get the mean windspeed during time frame
var meanWindSpeed = windSpeed.mean();
var meanWindDir = windDir.mean();
var maxWindSpeed =windSpeed.max();

// Create a featureCollection from a user define polygon called geometry
var fc_geo = ee.FeatureCollection(geometry)

// display the result.
var WindSpeedpoly = meanWindSpeed.clipToCollection(fc_geo);
Map.addLayer(WindSpeedpoly,'Wind Speed polygon');

var WindDirpoly = meanWindDir.clipToCollection(fc_geo);
Map.addLayer(WindDirpoly,'Wind Direction polygon');

// Get a dictionary of wind speed means  in the region.
var windSpeedMeans = meanWindSpeed.reduceRegion({
  reducer: ee.Reducer.mean(),geometry: geometry,bestEffort: true,scale: 30
});
// Get a dictionary of wind means  in the region.
var windDirMeans = meanWindDir.reduceRegion({
  reducer: ee.Reducer.mean(),scale: 30
});

print('Mean Wind Speed in Selected polygon:',windSpeedMeans)
print('Mean Wind Direction in Selected polygon:',windDirMeans)


解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)