时间序列的研究我们还在继续,今天我们讲讲在研究区域内生成随机点的方法和提取随机点所在位置像素值的方法。一起探讨哦~
今天我们选取的研究数据是2020年的月平均夜间灯光指数指数数据。
//还是老样子哈,以广东省为目标
var geometry = ee.FeatureCollection('users/ZhengkunWang/guangdongsheng')
Map.centerObject(geometry,6)
var nighttimelight = ee.ImageCollection('NOAA/VIIRS/DNB/MONTHLY_V1/VCMCFG')
.filterDate(ee.Date.fromYMD(2020,01,01), ee.Date.fromYMD(2020,12,31))
.select('avg_rad')
print((nighttimelight.size()))
var nighttimeVis = {min: 0.0, max: 60.0,palette: ['black', 'yellow']};
Map.addLayer(nighttimelight.mean().clip(geometry), nighttimeVis, 'Nighttime');
结果如图:
我们再生成50个随机点。随机点的数目可以由你定,而且大家在做研究的时候,常常在自己的研究区域内有自己的研究点,到时候导入就可以了。
导入随机点和矢量边界的时候,都是在Assets栏内点NEW就OK。
注意CSV文件一定要包含研究点的经纬度(好像是废话)。
我今天就拿随机点举个例子:
//生成50个随机点,并以红色显示在图层上
var randomPoints = ee.FeatureCollection.randomPoints(geometry,50);
Map.addLayer(randomPoints.draw({color: 'red', pointRadius: 3}), {}, 'randomPoints');
//加入图层的经纬度信息,并根据随机点的位置取影像的平均值
var longlat=ee.Image.pixelLonLat();
var pointsData = nighttimelight.toBands().addBands(longlat).reduceRegions(randomPoints,ee.Reducer.mean(),20)
最后输出采样点的信息:
Export.table.toDrive({
collection: pointsData,
folder: 'nighttime_value',
description: 'nighttime_value',
fileFormat: 'CSV'
});
最后,我们看看导出的效果
代码已经更新,请在公众号回复:010201。
更多精彩内容请关注: