我是谷歌地球引擎的新手,并试图获得整个刚果民主共和国的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
值。所以我要求最高分辨率,但查询不断出错,因为它表示我已超出图像导出的最大像素限制。
所以基本上我需要弄清楚如何将刚果分成一组块,地球引擎允许我从中获取最大分辨率的合成图像。有谁知道我如何计算正确尺寸的多边形以适应账单?
答案 0 :(得分:1)
正如@Val所指出的,这里的解决方案是将maxPixels
参数应用于javascript中的param
变量。下面的最终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。
答案 1 :(得分:1)
您应在导出参数中指定比例。复合材料不再具有原生尺度,因此它们默认为每像素1度。既然你开始使用landsat,你可能需要30分。