0

我想为 中的每个乐队选择特定bands的和一个参数,但我不能让它工作。scalegetDownloadURL

var geometry = /* color: #d63000 */ee.Geometry.Polygon(
    [[[-3.1990814208984375, 10.698337865705495],
      [-3.2155609130859375, 10.50665993373459],
      [-2.63671875, 10.525563079495361],
      [-2.665557861328125, 10.714530481853876]]]);

var landsat = ee.Image(ee.ImageCollection("LANDSAT/LC08/C01/T2_TOA").first())
.clip(geometry)


print(landsat.getDownloadURL(
{
  'name': 'output',  
  'bands': [{id:'B1', scale:30}, {id:'B2', scale:100}]
}))      
4

2 回答 2

0

这感觉像是 GEE 中的错误,或者文档与 API 不一致。您的代码看起来不错,似乎遵循文档。但是,我从未在实践中看到过这种bands说法。原因可能getDownloadURL是从 GEE 下载数据的旧方法,我实际上仍然在一些脚本中使用它,因为它更简单,不需要 GDrive 或 GCS 帐户,但可能不稳定。

一种解决方法是使您的代码工作是使用所需的比例一个一个地下载这些频段:https ://code.earthengine.google.com/13cfdb894d9e28831f39f3972b56baf7

print(landsat.select('B1').getDownloadURL({ scale: 30, region: region }))
print(landsat.select('B2').getDownloadURL({ scale: 100, region: region }))

如果你使用getDownloadURL- 准备实现重试算法,检查下载的 zip 文件是否有效,如果不是则重试下载。

另一种(推荐)方法是使用导出:https ://developers.google.com/earth-engine/exporting 。对于小的预览图像,ee.Image.getThumbURL可以使用。

于 2018-01-20T13:13:35.057 回答
0

您必须设置区域参数

var region = geometry.toGeoJSONString(); var path1 = rgbImage.getDownloadURL({'name':assetName,'format':'png','region':region,"scale": 10});

于 2018-10-18T04:51:29.777 回答