光栅到点的转换:如何转换每个像素?在 Google 地球引擎上

Raster to Point conversion: how to convert every single pixel? on Google Earth Engine

美好的一天。我正在尝试使用 Google Earth Engine 将栅格转换为点。我的栅格有一个波段(簇),它已被剪裁到我的投资回报率。我知道 Google Earth Engine 上的 reduceToVectors 函数,但据我了解,此函数创建的区域具有 相同的相邻值 ,而我想要的是创建与像素一样多的点。

到目前为止,我已经尝试了不同版本的:

var vectors = image.reduceToVectors({
  reducer : null,
  geometry : treat,
  scale:30,
  crs :image.projection().getInfo().crs,
  geometryType : 'centroid',
  labelProperty : 'null',
  eightConnected: false,
  maxPixels: 1e15
});

非常感谢您的帮助。

ee.Image.sample returns 每个像素一个点。

var vectors = image.sample({
  region: treat,
  geometries: true,  // if you want points
});

如果您不指定 scalecrs,它将使用输入图像原始分辨率中的每个像素。如果这样做,它将改为以给定的比例进行采样。

演示脚本:

var region = ee.Geometry.Polygon(
  [[[-110.00683426856995, 40.00274575078824],
    [-110.00683426856995, 39.99948706365032],
    [-109.99576210975647, 39.99948706365032],
    [-109.99576210975647, 40.00274575078824]]], null, false);
var image = ee.Image('CGIAR/SRTM90_V4');
Map.setCenter(-110, 40, 16);
Map.addLayer(image, {min: 1000, max: 2000}, 'SRTM');

var vectors = image.sample({
  region: region,
  geometries: true,
});
print(vectors);
Map.addLayer(ee.FeatureCollection([region]).style({"color": "white"}));
Map.addLayer(vectors);

https://code.earthengine.google.com/625a710d6d315bad1c2438c73bde843b