首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何对陆地卫星8波段重新编号,以便与陆地卫星4-7图像合并?

如何对陆地卫星8波段重新编号,以便与陆地卫星4-7图像合并?
EN

Stack Overflow用户
提问于 2020-05-21 09:52:16
回答 1查看 168关注 0票数 1

我想合并陆地卫星4,5,7和8图像。我需要调整陆地卫星8波段,以便它们与其他陆地卫星影像波段相匹配。这是我的代码的基本结构:

代码语言:javascript
运行
复制
// L4 collection
var L4 = ee.ImageCollection("LANDSAT/LT04/C01/T1")
        .filter(ee.Filter.eq('WRS_PATH', 225))
        .filter(ee.Filter.eq('WRS_ROW', 59))
        .select(['B3', 'B2', 'B1']);     

// L5 collection
var  L5 = ee.ImageCollection("LANDSAT/LT05/C01/T2")
        .filter(ee.Filter.eq('WRS_PATH', 225))
        .filter(ee.Filter.eq('WRS_ROW', 59))
        .select(['B3', 'B2', 'B1']);

// l7 collection
var L7 = ee.ImageCollection("LANDSAT/LE07/C01/T1")
        .filter(ee.Filter.eq('WRS_PATH', 225))
        .filter(ee.Filter.eq('WRS_ROW', 58))
        .select(['B3', 'B2', 'B1']);   

// l8 collection
var L8 = ee.ImageCollection('LANDSAT/LC08/C01/T1')
        .filter(ee.Filter.eq('WRS_PATH', 225))
        .filter(ee.Filter.eq('WRS_ROW', 58))
        .select(['B4', 'B3', 'B2', ],['B3', 'B2','B1']);

// Merge all
var collection = ee.ImageCollection(L4.merge(L5.merge(L7.merge(L8))));

// Map
Map.addLayer(collection, {bands:['B3', 'B2', 'B1'], min: 0, max: 3000}, 'collection_merge')

我已经尝试了几种方法来改变陆地卫星8的波段。

代码语言:javascript
运行
复制
  return image.rename(['B0', 'B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'B8', 'B9', 'B10', 'B11']);
})
.select(['B3', 'B2', 'B1']);
代码语言:javascript
运行
复制
function renameBandsL8(image) {
    var bands = ['B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'pixel_qa'];
    var new_bands = ['B', 'G', 'R', 'NIR', 'SWIR1', 'SWIR2', 'pixel_qa'];
    return image.select(bands).rename(new_bands);
}

最新的

代码语言:javascript
运行
复制
.select(['B4', 'B3', 'B2', 'B1'],['B5', 'B4', 'B3','B2'])

似乎什么都不起作用,我不知道为什么。

EN

回答 1

Stack Overflow用户

发布于 2020-05-21 17:07:02

您应该将所有波段转换为相同的格式。陆地卫星4,5,7是无符号的int8格式,而你的陆地卫星-8是无符号的int16格式。有不同的方法来处理这一点,一种方法是将您的陆地卫星-8转换为未签名的int8格式。请注意,我刚刚修改了L8集合部分。

代码语言:javascript
运行
复制
// L4 collection
var L4 = ee.ImageCollection("LANDSAT/LT04/C01/T1")
        .filter(ee.Filter.eq('WRS_PATH', 225))
        .filter(ee.Filter.eq('WRS_ROW', 59))
        .select(['B3', 'B2', 'B1']);     

// L5 collection
var  L5 = ee.ImageCollection("LANDSAT/LT05/C01/T2")
        .filter(ee.Filter.eq('WRS_PATH', 225))
        .filter(ee.Filter.eq('WRS_ROW', 59))
        .select(['B3', 'B2', 'B1']);

// l7 collection
var L7 = ee.ImageCollection("LANDSAT/LE07/C01/T1")
        .filter(ee.Filter.eq('WRS_PATH', 225))
        .filter(ee.Filter.eq('WRS_ROW', 58))
        .select(['B3', 'B2', 'B1']);   

// l8 collection
var L8 = ee.ImageCollection('LANDSAT/LC08/C01/T1')
        .filter(ee.Filter.eq('WRS_PATH', 225))
        .filter(ee.Filter.eq('WRS_ROW', 58))
        .select(['B4', 'B3', 'B2', ],['B3', 'B2','B1'])
        .map(function(image){return image.toByte()});

// Merge all
var collection = ee.ImageCollection(L4.merge(L5.merge(L7.merge(L8))));
print(collection)
Map.addLayer(collection, {bands:['B3', 'B2', 'B1'], min: 0, max: 3000}, 'collection_merge')

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61925867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档