Javascript 地球引擎:从多边形内提取气候数据

Javascript 地球引擎:从多边形内提取气候数据,javascript,polygon,google-earth-engine,noaa,Javascript,Polygon,Google Earth Engine,Noaa,我正在研究从地球引擎中的多边形中提取与日期和时间相关的数据,数据集为“RTMA:实时中尺度分析”() 我设法编写了一些代码,以获得普立万内某个变量的平均值(见下面的代码),但实际上我需要一份列表,例如多边形内x个点的每天风速(例如,10个,随机散布在多边形内)。它们可以随机分散在多边形中,也可以彼此保持一定距离 当您点击地球引擎中的“inspector”然后点击地图上的某个点时,EE(谷歌地球引擎)将为您提供定义时间段内该点的变量(如风速)值(见下图)。本质上,我的目标是让EE精确地给出这些值(

我正在研究从地球引擎中的多边形中提取与日期和时间相关的数据,数据集为“RTMA:实时中尺度分析”()

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

当您点击地球引擎中的“inspector”然后点击地图上的某个点时,EE(谷歌地球引擎)将为您提供定义时间段内该点的变量(如风速)值(见下图)。本质上,我的目标是让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, windSpeedVis, 'Wind Speed Polygon');

var WindDirPoly = meanWindDir.clipToCollection(fc_geo);
Map.addLayer(WindDirPoly, windDirVis, '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(),
  geometry: geometry,
  bestEffort: true,
  scale: 30
});

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