基于GEE的Landsat 数据使用

基于GEE的Landsat 数据使用

1.最常使用的数据:TOA数据和SR数据。
2.注意查看影像信息介绍
如下图中,需要注意比例因子的使用
在这里插入图片描述
比例因子的设置是为了减少存储,在正常使用时,需要进行还原,即:*(scale)+(offset)

// Applies scaling factors
function applyScaleFactors(image) {
  var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
  var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0);
  return image.addBands(opticalBands, null, true)
              .addBands(thermalBands, null, true);
}

3.去云
(1)对于TOA和SR数据,去云方式有些许差别
LANDSAT/LC08/C01/T1_SR:
在这里插入图片描述
去云代码:

var dataset = ee.ImageCollection('LANDSAT/LC09/C02/T1_L2')
    .filterDate('2022-01-01', '2022-02-01');

// Applies scaling factors.
function applyScaleFactors(image) {
  var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
  var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0);
  return image.addBands(opticalBands, null, true)
              .addBands(thermalBands, null, true);
}

dataset = dataset.map(applyScaleFactors);

var visualization = {
  bands: ['SR_B4', 'SR_B3', 'SR_B2'],
  min: 0.0,
  max: 0.3,
};

Map.setCenter(-114.2579, 38.9275, 8);

Map.addLayer(dataset, visualization, 'True Color (432)');

(2)对于TOA数据
LANDSAT/LC08/C01/T1_TOA:
对于TOA数据而已,可以使用ee.Algorithms.Landsat.simpleComposite() 函数进行去云。
代码如下:

var roi = /* color: #0b4a8b */ee.Geometry.Polygon(
        [[[115.22447911987308, 38.97207826950874],
          [117.64147130737308, 39.07450027191289],
          [117.55358068237308, 40.67633196985795],
          [114.91686193237308, 40.576272152256934]]]);
Map.centerObject(roi, 7);

//使⽤用ee.Algorithms.Landsat.simpleCloudScore会在影像中添加⼀一个波段叫
//做“cloud”,这个波段就是GEE写的云识别算法结果,值是0-100,
//值越⼤大那么是云的可能性越⼤大
function rmCloud(image) {
  var mask = image.select("cloud").lte(5);//lte筛选云量大于 5 
  return image.updateMask(mask);
}

//ee.Algorithms.Landsat.simpleCloudScore会在影像中添加⼀一个波段叫做“cloud”,
//这个波段就是GEE写的云识别算法结果,值是0-100,值越⼤大那么是云的可能性越⼤大。
var image = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA')
              .filterDate('2018-01-01', '2019-1-1')
              .filterBounds(roi)
              .map(ee.Algorithms.Landsat.simpleCloudScore)
              .map(rmCloud)
              .median()
              .clip(roi);

var visParams = {
  bands: ['B4', 'B3', 'B2'],
  min: 0,
  max: 0.3
};
Map.addLayer(image, visParams, "image");
  • 1
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要基于Google Earth Engine (GEE) 计算Landsat 8 的地表温度(LST)数据,可以按照以下步骤进行操作。 首先,登录GEE的网站,在代码编辑器中选择一个新的脚本。接下来,在脚本中输入以下代码来导入Landsat 8数据。 ```javascript var imageCollection = ee.ImageCollection('LANDSAT/LC08/C01/T1_8DAY_LST'); var filteredCollection = imageCollection.filterDate('2019-01-01', '2019-12-31'); var selectedImage = filteredCollection.median(); // 添加选定的图像到地图中 Map.addLayer(selectedImage, {min: 13000, max: 16000, palette: ['white', 'yellow', 'red']}, 'LST'); ``` 在这段代码中,首先通过ee.ImageCollection方法导入了Landsat 8的地表温度数据集,并用filterDate方法筛选了指定时间范围内的数据。然后,通过median方法选择了这段时间内的中值图像,并用Map.addLayer方法将其添加到地图中。 接下来,可以通过ee.Algorithms.Landsat.simpleCloudScore() 方法来去除云,并使用ee.Algorithms.Landsat.simpleLST() 方法计算地表温度。 ```javascript var cloudMasked = ee.Algorithms.Landsat.simpleCloudScore(selectedImage).select('BQA').lt(25); var lst = ee.Algorithms.Landsat.simpleLST({image: selectedImage, emissivity: 0.95, cloudMask: cloudMasked}); Map.addLayer(lst, {min: 14000, max: 16000, palette: ['white', 'yellow', 'red']}, 'LST with Cloud Mask'); ``` 在这段代码中,通过simpleCloudScore方法对选定的图像进行云掩蔽,并选择云掩蔽后的图像进行地表温度计算。最后,用Map.addLayer方法将计算得到的地表温度图像添加到地图中。 通过以上步骤,就可以在GEE上利用Landsat 8数据计算地表温度,并将结果呈现在地图上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值