如何在GEE中设置非正方形像素尺寸以匹配2m×30m实地样方导出数据?
Google Earth Engine非正方形像素适配修改方案
你当前提供的代码实际是对矢量点执行30m尺度像素值提取、最终导出属性表的逻辑,并非导出影像的代码。针对2m×30m非正方形像素的适配,分两种常见需求场景修改即可:
场景1:按2m×30m样方范围采样、导出属性表
原代码中reduceRegions的最后一个参数30是正方形采样的尺度,要适配矩形样方,需先把每个点转换为对应尺寸的矩形面后再采样,修改后代码如下:
// 先将所有点转为2m×30m的矩形样方面 // 注意替换下方投影为你研究区对应的米制投影(比如UTM对应带号的EPSG) var samplePlots = my_points.map(function(pt) { // 转为米制投影下的坐标 var utmPt = pt.geometry().transform('EPSG:替换为你的投影EPSG') var x = ee.Number(utmPt.coordinates().get(0)) var y = ee.Number(utmPt.coordinates().get(1)) // 生成2m(x方向)×30m(y方向)的矩形,以点为中心 var plot = ee.Geometry.Rectangle([ x.subtract(1), y.subtract(15), x.add(1), y.add(15) ], 'EPSG:替换为你的投影EPSG') return ee.Feature(plot).copyProperties(pt) }) // 用生成的样方面采样像素值 var myimage = sat_image.reduceRegions(samplePlots, ee.Reducer.first()) print(myimage) Export.table.toDrive(myimage, "pts_2x30", "insitu_points")
场景2:导出2m×30m非正方形像素的影像
如果你的核心需求是导出对应分辨率的影像,需使用Export.image.toDrive接口,通过crsTransform参数指定非正方形的像素尺寸,示例代码如下:
Export.image.toDrive({ image: sat_image, description: 'image_2x30m', folder: 'GEE导出文件夹名', // 替换为研究区对应的米制投影EPSG crs: 'EPSG:替换为你的投影EPSG', // crsTransform参数定义像素尺寸:[x方向分辨率, 旋转值, 左上角x, 旋转值, y方向分辨率负值, 左上角y] // 留空左上角坐标则GEE会自动匹配导出范围的左上角 crsTransform: [2, 0, null, 0, -30, null], region: 替换为你的导出范围矢量 })
内容的提问来源于stack exchange,提问作者geo_dd
相关产品推荐
相关产品推荐

