使用GEE对Landsat-8二级产品进行大气校正
时间: 2023-06-13 08:07:18 浏览: 242
LANDSAT8辐射定标与大气校正
5星 · 资源好评率100%
首先,需要在GEE中导入Landsat-8图像。在GEE中,可以使用以下代码导入Landsat-8图像:
```javascript
var L8 = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR');
var image = L8.filterDate('2019-01-01', '2019-12-31')
.filterBounds(geometry)
.sort('CLOUD_COVER')
.first();
```
其中,`filterDate`和`filterBounds`分别用于按时间和区域筛选图像,`sort`用于按云量排序,`first`用于选择云量最小的图像。
接下来,需要对图像进行大气校正。在GEE中,可以使用以下代码进行大气校正:
```javascript
// 定义参数
var aeroModel = 'MODTRAN'; // 大气校正模型
var elevation = ee.Image('USGS/SRTMGL1_003'); // 地形高度
var waterVapor = 'MOD08_D3'; // 水汽数据集
var ozone = 'OMI/AURA/OMTO3/Monthly'; // 臭氧数据集
var year = image.date().get('year'); // 根据图像日期获取年份
// 进行大气校正
var corrImage = ee.Algorithms.Landsat.simpleCloudScore(image).select(['B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'B10', 'B11']);
corrImage = ee.Algorithms.Landsat.correctRadiometry(corrImage);
corrImage = ee.Algorithms.Landsat.calibrate(corrImage);
corrImage = ee.Algorithms.Landsat.TOA(corrImage);
corrImage = ee.Algorithms.Landsat.simpleCloudScore(corrImage).select(['B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'B10', 'B11']);
corrImage = ee.Algorithms.Landsat.atmosphericCorrection(corrImage, elevation, aeroModel, ozone, waterVapor, year);
```
在上述代码中,`ee.Algorithms.Landsat.simpleCloudScore`用于计算云量,`ee.Algorithms.Landsat.correctRadiometry`用于矫正辐射定标系数,`ee.Algorithms.Landsat.calibrate`用于定标反射率,`ee.Algorithms.Landsat.TOA`用于将反射率转换为顶部大气反射率,`ee.Algorithms.Landsat.atmosphericCorrection`用于进行大气校正。
最后,可以使用以下代码将大气校正后的图像可视化:
```javascript
Map.addLayer(corrImage, {bands:['B4', 'B3', 'B2'], min:0, max:0.3}, 'Corrected Image');
```
阅读全文