使用点的shp在GEE数据集上提取数据

使用点的shp在GEE数据集上提取数据

最近老板要我提取一些气象数据,感觉很烦很烦,下次再也不想干了。于是,在这里把方法写出来,以供后人参考学习。

1.使用ArcGIS将csv文件转化为shp

  1. 添加数据(csv文件格式)——右键——显示XY数据(选择经纬度坐标)——确定——右键——数据——导出
  2. 点击图层(勾选,可以在图上展示出散点)——右键——数据——导出数据

注意,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'])指出

在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要从shp文件提取栅格数据,可以使用Python中的GDAL库。GDAL是地理空间数据抽象库,提供了许多用于处理和转换地理空间数据的函数和工具。 首先,需要安装GDAL库。可以使用pip命令在Python环境中安装GDAL: ``` pip install gdal ``` 然后,可以使用的代码提取shp文件中的栅格数据: ```python import gdal # 打开shp文件 shp_path = 'path_to_shp_file.shp' shp_dataset = gdal.OpenEx(shp_path, gdal.OF_VECTOR) # 获取第一个图层 layer = shp_dataset.GetLayer(0) # 创建栅格数据集 raster_path = 'path_to_output_raster.tif' raster_driver = gdal.GetDriverByName('GTiff') raster_dataset = raster_driver.Create(raster_path, width, height, 1, gdal.GDT_Float32) # 设置投影信息 raster_dataset.SetProjection(layer.GetSpatialRef().ExportToWkt()) raster_dataset.SetGeoTransform(layer.GetExtent()) # 设置栅格的像素值 band = raster_dataset.GetRasterBand(1) band.Fill(0) # 可以自定义栅格背景颜色 band.SetNoDataValue(-9999) # 设置无效值 # 根据shp文件的几何信息,在栅格上进行栅格化处理 gdal.RasterizeLayer(raster_dataset, [1], layer, options=['ALL_TOUCHED=TRUE']) # 关闭数据集 shp_dataset = None raster_dataset = None ``` 以上代码中,需要将`path_to_shp_file.shp`替换为实际的shp文件路径,将`path_to_output_raster.tif`替换为输出栅格文件的路径。`width`和`height`可以根据需要进行设置,代表栅格数据集的宽度和高度。 运行代码后,将会生成一个包含栅格数据的TIFF文件。这个文件可以使用其他GIS软件进行打开和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值