2

我是 Google 地球引擎的新手,正在尝试获取整个刚果民主共和国的 Landsat 图像。该项目涉及一些计算机视觉和图像分割,因此我需要尽可能获得最高分辨率。

我有一些从地球引擎开发的代码,用于从下面发布的 1 年陆地卫星图像合成。

var geometry = ee.Geometry.Polygon(
    [[[29.70703125, -3.3160183381615123],
      [24.609375, -3.4476246666468526],
      [24.8291015625, -7.732765062729807],
      [29.970703125, -7.645664723491028]]]);

// Composite 6 months of Landsat 8.

Map.setCenter(  26.362312, -4.643601, 5);
var boundingBox = geometry.bounds(1)
var L8 = ee.ImageCollection('LANDSAT/LC08/C01/T1');
var composite = ee.Algorithms.Landsat.simpleComposite({
  collection: L8.filterDate('2015-1-1', '2015-7-1').filterBounds(geometry),
  asFloat: true});
var region = ee.Geometry(geometry.getInfo())
                        .toGeoJSONString()
var params ={
      crs: 'EPSG:4326',
      region:region
    }
Export.image(composite,'congo_test',params);

问题是每次我运行脚本时都会询问我的scale值。所以我要求最高分辨率,但查询一直出错,因为它说我已经超过了图像导出的最大像素限制。

所以基本上我需要弄清楚如何将刚果分割成一组块,地球引擎允许我为这些块提取最大分辨率的合成图像。有谁知道我如何计算正确大小的多边形以适应账单?

4

2 回答 2

1

正如@Val 所指出的,这里的解决方案是将maxPixels参数应用于paramjavascript中的变量。下面的最终 javascript 代码将根据 maxPixels 参数自动将图像分解成块。

var geometry = ee.Geometry.Polygon(
    [[[29.70703125, -3.3160183381615123],
      [24.609375, -3.4476246666468526],
      [24.8291015625, -7.732765062729807],
      [29.970703125, -7.645664723491028]]]);

// Composite 6 months of Landsat 8.

Map.setCenter(  26.362312, -4.643601, 5);
var boundingBox = geometry.bounds(1)
var L8 = ee.ImageCollection('LANDSAT/LC08/C01/T1');
var composite = ee.Algorithms.Landsat.simpleComposite({
  collection: L8.filterDate('2015-1-1', '2015-7-1').filterBounds(geometry),
  asFloat: true});
var region = ee.Geometry(geometry.getInfo())
                        .toGeoJSONString()
var params ={
      crs: 'EPSG:4326',
      maxPixels: 1e12,
      region:region
    }
Export.image(composite,'congo_test',params);

这对我有用。谢谢@Val。

于 2017-10-05T15:39:34.960 回答
1

您应该在导出参数中指定比例。复合材料不再具有原生比例,因此它们默认为每像素 1 度。由于您从 landsat 开始,您可能需要 30 的比例。

于 2017-12-05T14:22:08.487 回答