我正在将可在Javascript代码编辑器中工作的进程转换为Python,并且在导出时失败,但是文档似乎非常稀疏。还有一个类似的问题here,但该解决方案似乎不适用于我的情况(导出表与图像)。
我已经计算出一个混淆矩阵,现在必须导出结果以避免超时错误。我正在工作的Javascript代码如下:
var utterConfusion = validated.errorMatrix('class','classification');
Export.table.toDrive({
collection: ee.FeatureCollection([
ee.Feature(null, {
'array': utterConfusion.array(),
'accuracy': utterConfusion.accuracy(),
'kappa': utterConfusion.kappa()
}),
]),
description: 'ConfusionMatrix',
fileFormat: 'CSV'
});
我失败的Python代码如下:
collection = ee.FeatureCollection([
ee.Feature(None, {
'array': utterConfusion.array(),
'accuracy': utterConfusion.accuracy(),
'kappa': utterConfusion.kappa()
}),
])
task_config = {
'description': 'ConfusionMatrix_jupyter',
'folder': 'Colab Notebooks',
'fileFormat': 'CSV'
}
task = ee.batch.Export.table.toDrive(collection, **task_config)
task.start()
我对此代码进行了一些尝试(例如在toDrive()调用中从task_config中传递参数,而不是传递给** kwargs),但是我始终遇到相同的错误(从task.status()中):< / p>
'error_message':'Collection.reduceColumns:当前操作不支持空日期范围。'
此错误消息似乎与我导出的表的几何形状不相关-在Javascript中可以正常使用。不涉及任何日期。在创建混淆矩阵之前,没有任何错误。
有人可以告诉我我在做什么错吗?
编辑:我最初在下面的回答中使用了尼古拉斯建议的格式,但出现了同样的错误。
请注意,我唯一需要参考日期的时间是在对图片进行过滤时,它似乎可以正常工作(至少javascript变体可以做到):
sen2_temporal_filter = sen2_spatial_filter.filterDate('2016-06-05', '2016-06-05')
我知道上述数据为dat存在两个图像,但我也尝试扩展日期范围,但仍返回相同的错误。