【问题标题】:Raster to Point conversion: how to convert every single pixel? on Google Earth Engine光栅到点转换:如何转换每个像素?在谷歌地球引擎上
【发布时间】:2020-12-06 17:28:02
【问题描述】:

美好的一天。我正在尝试使用 Google 地球引擎将栅格转换为点。我的栅格有一个波段(集群),它已被裁剪到我的 ROI。我知道 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
});

非常感谢您的帮助。

【问题讨论】:

    标签: gis polygon raster points google-earth-engine


    【解决方案1】:

    ee.Image.sample为每个像素返回一个点。

    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

    【讨论】:

      猜你喜欢
      • 2020-12-27
      • 1970-01-01
      • 1970-01-01
      • 2019-01-05
      • 2019-02-03
      • 1970-01-01
      • 1970-01-01
      • 2019-08-25
      • 1970-01-01
      相关资源
      最近更新 更多