我想导出我感兴趣的区域的单一日期的 Sentinel-2 MSI 表面反射带。我使用了以下代码:
var dateOfInterest = '2024-11-04';
var s2Collection = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
.filterBounds(roi)
.filterDate(dateOfInterest, dateOfInterest);
.first();
这会引发错误
"Error: Collection.first: Empty date ranges not supported for the current operation"
。
我已检查 Copernicus 浏览器是否有 SR_L2A 产品可用于单个日期的投资回报率。我不明白为什么 Google Earth Engine 会出现此错误。我不需要中值或合成图像。 我想单独导出表面反射率 (L2A) 产品的一个日期的所有波段。
有人可以帮我解决这个问题吗?任何帮助表示赞赏。非常感谢!
如 filterDate 方法的文档中所指定,startDate 参数是包含的,而 endDate 参数是排他的,因此通过在两者中设置相同的日期,您将请求一个空时间范围。
EarthEngine 开发人员实际上在内部编写了解决您问题的解决方案。我再次引用文档:
结束日期(不含)。选修的。如果未指定,则会创建从“start”开始的 1 毫秒范围。
因此您的用例的正确请求是:
var dateOfInterest = '2024-11-04';
var s2Image = (
ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
.filterBounds(roi)
.filterDate(dateOfInterest);
.first()
);