前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Google Earth Engine(GEE)——影像导出谷歌硬盘发生错误Error: Exported bands must have compatible data types

Google Earth Engine(GEE)——影像导出谷歌硬盘发生错误Error: Exported bands must have compatible data types

作者头像
此星光明
发布2024-02-02 13:06:06
1710
发布2024-02-02 13:06:06
举报

粉丝问题:

我正在尝试运行一个非常简单的脚本,该脚本应该将 Landsat 8 图像导出到我的 Google Drive。当我在任务上单击“运行”时,GEE 吐出一个错误:“错误:导出的波段必须具有兼容的数据类型;发现不一致的类型:Float32 和 UInt16。(错误代码:3)” 

这特别奇怪,因为当我使用“检查器”工具检查图像时,我使用的所有波段(波段 4、波段 3、波段 2)都具有相同的数据类型(浮点数)。我用不同的图像集合重复了这个过程并得到了相同的结果。任何帮助将不胜感激。

源代码:

代码语言:javascript
复制
var rktcity = /* color: #d63000 */ee.Geometry.Point([-86.5855234096938, 34.72665015863473]);
var l8 = ee.ImageCollection("LANDSAT/LC08/C02/T1_TOA")

var l8_filt = l8.filterBounds(rktcity)
                .filterDate("2018-06-01", "2018-07-01")
                .first()
                
var visual_params = {
  bands: ['B4', 'B3', 'B2'],
  min: 0, 
  max: 0.2
}

Map.addLayer(l8_filt, visual_params, 'landsat 8 toa')

print(l8_filt); 

Export.image.toDrive(
    l8_filt, 
    'ls8_hsv_062018'
)

问题处在哪里呢?这里首先是我们再进行影像波段筛选的时候一定要提前筛选我们所需要的影像波段,否则到时候回出现很多波段不一样类型,有的是整形,有的是浮点型:

Error: Exported bands must have compatible data types; found inconsistent types: Float32 and UInt16. (Error code: 3)

 这里有两种解决方案,方案一是就是首先在影像筛选的阶段就完成对影像波段的筛选工作,也就是影像预处理阶段,最后把后续出现的问题都解决掉,把问题扼杀在摇篮里,这样我们有利于后续的处理简单化;第二种方案则是通过在导出影像的时候进行将需要导出的部分进行处理,也就是设定Export.image.toDrive中的参数,把参数设定好了进行导出也是可以的。

大家可以将以上两种方案都进行实验

修改后的代码:

代码语言:javascript
复制
var rktcity = /* color: #d63000 */ee.Geometry.Point([-86.5855234096938, 34.72665015863473]);
Map.centerObject(rktcity, 9);

var l8 = ee.ImageCollection("LANDSAT/LC08/C02/T1_TOA")

var l8_filt = l8.filterBounds(rktcity)
                .filterDate("2018-06-01", "2018-07-01")
                .first()
//修改方法1                
var l8_filt = l8.filterBounds(rktcity)
                .filterDate("2018-06-01", "2018-07-01")
.select(['B4', 'B3', 'B2'])
                .first()
                

var visual_params = {
  bands: ['B4', 'B3', 'B2'],
  min: 0, 
  max: 0.2
}

Map.addLayer(l8_filt, visual_params, 'landsat 8 toa')

print(l8_filt); 

Export.image.toDrive(
    l8_filt.toFloat(), 
    'ls8_hsv_062018'
)


//修改方法2 
Export.image.toDrive(
    l8_filt.select(['B4', 'B3', 'B2']), 
    'ls8_hsv_062018'
)

运行后的结果:当然这里没有进行mosaic,所以只是一小块下载结果:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档