使用点的shp在GEE数据集上提取数据
最近老板要我提取一些气象数据,感觉很烦很烦,下次再也不想干了。于是,在这里把方法写出来,以供后人参考学习。
1.使用ArcGIS将csv文件转化为shp
- 添加数据(csv文件格式)——右键——显示XY数据(选择经纬度坐标)——确定——右键——数据——导出
- 点击图层(勾选,可以在图上展示出散点)——右键——数据——导出数据
注意,QGIS里,x选LONG,y选LAT
2.上传到Google Earth Engine提取气象数据
提取气象的脚本
// Change Date here
var dataset = ee.ImageCollection('NOAA/CFSV2/FOR6H')
.filter(ee.Filter.date('2021-03-01', '2021-7-31'));
// Upload your point shapefile(Need Change!!)
var sample_point = ee.FeatureCollection("users/szliu1120/youyi853realloss");
// Start collect data
var ft = ee.FeatureCollection(ee.List([]))
var fill = function(img, ini) {
// tran ini 2 FeatureCollection
var inift = ee.FeatureCollection(ini)
// Extract pixel value
var ft2 = img.sampleRegions({
collection:sample_point,
// Add "NAME" to feature collection (Your Index)
properties:ee.List(['NAME'])
});
var date = img.date().format()
// var LAT =
var ft3 = ft2.map(function(f){return f.set("date", date)})
return inift.merge(ft3)
}
// Iterate Image and save result to feature collection
var newft = ee.FeatureCollection(dataset.iterate(fill, ft))
// Export data
Export.table.toDrive({
collection: newft,
description: 'sample_weather_get',
fileFormat: 'CSV'
});
这里的编号即NAME有上文代码中的properties:ee.List(['NAME'])
指出