GEE中获取Landsat长时间序列影像

例如我们要获取1984到2018年的影像。该时段包含了3个Landsat传感器:Landsat5,Landsat7 ETM和Landsat8。我们需要将他们结合起来。
由于Landsat7 ETM在2013年发生了扫描线故障,所以需要对Landsat7图像进行处理。使用map函数应用焦点均值,使用以下代码对集合中的每个图像进行混合。注:GEE示例中发布了解决方案

.map(function(image){
  var filled1a = image.focal_mean(1, 'square', 'pixels', 2)
  return filled1a.blend(image);
})

Landsat 8具有不同的波段号,需要将Landsat 8波段重新编号。
为了将Landsat5、Landsat7 ETM、Landsat 8合并,波段编号需要对齐。

.map(function(image){
  return image.rename(['B0', 'B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'B8', 'B9', 'B10', 'B11']);
})

具体代码如下:

var L5coll = ee.ImageCollection('LANDSAT/LT05/C01/T1_SR')
.filter(ee.Filter.lt('CLOUD_COVER',25))
.select(['B3', 'B2', 'B1'])
.filterBounds(geometry)

var L7coll = ee.ImageCollection('LANDSAT/LE07/C01/T1_SR')
.filter(ee.Filter.lt('CLOUD_COVER',25))
.select(['B3', 'B2', 'B1'])
.filterBounds(geometry)
.map(function(image){
  var filled1a = image.focal_mean(2, 'square', 'pixels', 1)
  return filled1a.blend(image);
})

var L8coll = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')
.filter(ee.Filter.lt('CLOUD_COVER',5))
.filterBounds(geometry)
.map(function(image){
  return image.rename(['B0', 'B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'B8', 'B9', 'B10', 'B11']);
})
.select(['B3', 'B2', 'B1']);
//合并 
var collection_merge = ee.ImageCollection(L5coll.merge(L7coll.merge(L8coll)));
print (collection_merge);

Logo

为武汉地区的开发者提供学习、交流和合作的平台。社区聚集了众多技术爱好者和专业人士,涵盖了多个领域,包括人工智能、大数据、云计算、区块链等。社区定期举办技术分享、培训和活动,为开发者提供更多的学习和交流机会。

更多推荐