前言:

由于我要使用S2在2016-2020年时序数据进行作物分类,但GEE仅提供2018年后的S2 L2A数据('COPERNICUS/S2_SR'),因此需要进行大气校正,同时由于需要的数据量大,因此需要批量处理。

大气校正的方法论文:(英文)一种传感器不变的大气校正方法:适用于哨兵-2/MSI和陆地卫星8/OLI (researchgate.net)

我的代码:(主要包括去云、大气校正、矢量裁剪、均值融合、显示和数据下载)

//加载 shpfile
var shpfile1 = ee.FeatureCollection('projects/ee-wenqikou/assets/qixia_0_09').filter(ee.Filter.eq('grid_label','6')).geometry()
//聚焦shp范围
Map.centerObject(shpfile1)
//显示shp
Map.addLayer(shpfile1)
//引入大气纠正方法
var siac = require('users/marcyinfeng/utils:SIAC');
//去云函数
function rmCloudByQA(image) {var qa = image.select('QA60');var cloudBitMask = 1 << 10;var cirrusBitMask = 1 << 11;var mask = qa.bitwiseAnd(cloudBitMask).eq(0).and(qa.bitwiseAnd(cirrusBitMask).eq(0));return image.updateMask(mask);}
//数据函数,参数(开始日期,截止日期,云量筛选,融合形式,图像显示选择波段(这里仅支持真彩色))
// 其中,融合方式compositiontype: 0 min 1 mean 2 median 3 max
var compsition = function(startdate,enddate,cloudiness,compositiontype,bands){var image = ee.ImageCollection('COPERNICUS/S2').filterDate(startdate,enddate).filterBounds(shpfile1).filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', cloudiness))
//去云image = image.map(rmCloudByQA)
//批量大气校正image = image.map(siac.get_sur)
//融合(这样可以免本地拼接等if(compositiontype === 0){image = image.min().multiply(10000)}else if(compositiontype == 1){image = image.mean().multiply(10000)} //均值融合else if(compositiontype == 2){image = image.median().multiply(10000)}else image = image.max().multiply(10000)
//裁剪image = image.clip(shpfile1);
//数据显示if(bands == 432) {Map.addLayer(image,{min:0, max:3000, bands:["B4", "B3", "B2"]},'real'+startdate);}
//数据下载Export.image.toDrive({image: image,description: startdate,folder: 'qixia/grid/image/06',crs:"EPSG:4326",fileNamePrefix: startdate,region: shpfile1,scale: 10,maxPixels: 1e13
});return image}var ys = compsition('2021-02-15','2021-02-16',100,1,432)

关于Landsat7和Landsat8:

Landsat7:仅需要修改“siac.get_sur”为“siac.get_l7_sur”

Landsat8:仅需要修改“siac.get_sur”为“siac.get_l8_sur”

例子:

var ground_sensor = ee.Geometry.Point(-52.905090, -28.228550);
var polygon = ground_sensor.buffer(1000).bounds();//
var start_date = '2017-11-15';
var end_date   = '2017-11-30';var criteria = ee.Filter.and(ee.Filter.bounds(ground_sensor), ee.Filter.date(start_date, end_date));
var cloud_perc = 60;//Max cloud percentile per scene.    // -- Collections of Landsat 7, 8 and Sentinel 2 TOA data
var L8_col = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA').filter(criteria).filter(ee.Filter.lt('CLOUD_COVER', cloud_perc));var L7_col = ee.ImageCollection('LANDSAT/LE07/C01/T1_TOA').filter(criteria).filter(ee.Filter.lt('CLOUD_COVER', cloud_perc));var S2_col = ee.ImageCollection("COPERNICUS/S2").filter(criteria).filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', cloud_perc));// - Import the SIAC atmospheric correction module
var siac = require('users/marcyinfeng/utils:SIAC');// - Apply SIAC and retrieve bottom of atmosphere (BOA) reflectance
var L7_boa = siac.get_l7_sur(L7_col.first());
var L8_boa = siac.get_l8_sur(L8_col.first());
var S2_boa = siac.get_sur(S2_col.first()); // - Check and visualization
var Color_comp_01 = {bands:"B4,B3,B2", min: 0.0, max: 0.2, gamma: 1};
var Color_comp =    {bands:"B4,B3,B2", min:200, max:2000, gamma: 1};
Map.addLayer(S2_col.first(), Color_comp, 'TOA');
Map.addLayer(S2_boa, Color_comp_01, 'BOA');
Map.centerObject(S2_col.first())

GEE|在GEE对Sentinel-2、Landsat7、Landsat8进行批量大气校正、去云,并进行均值融合、裁剪、显示和数据下载相关推荐

  1. GEE(Google earth engine)中的Landsat影像的选择和去云(附代码)

    1.获取校正过的Landsat 影像 在这里可以看到GEE提供的全部Landsat数据:Landsat Collections in Earth Engine  |  Earth Engine Dat ...

  2. ENVI软件对Landsat-8数据进行辐射定标、大气校正、提取NDVI、估算植被覆盖度等操作【图说GIS】

    目录 一.前言 二.数据下载 第一步 访问网站 第二步 登录账户 第三步 点击高级检索, 下载数据 三.软件下载及安装 四.辐射定标 第一步 打开数据 第二步 辐射定标 五.计算区域平均高程 第一步 ...

  3. gee去云处理Landsat、Sentinel和Modis影像

    gee去云处理Landsat.Sentinel和Modis影像 1.Landsat 和 MODIS影像的去云函数 function cloudfree_mod09a1(image){var qa = ...

  4. 利用GEE下载Landsat8影像并实现去云

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.去云 二.数据获取与导出下载 1.获取数据 2.导出数据 前言 最近在使用GEE批量下载Landsat8数据,发现 ...

  5. GEE(8):使用MODIS填补由去云后的Landsat影像计算得到的NDVI数据

    最近想要在GEE中使用Landsat影像计算一下广州的NDVI值,发现这片区域云覆盖较多,去云以后部分月份的数据很少,就造成NDVI计算结果缺失的问题.经过查阅相关资料,可以使用MODIS的NDVI产 ...

  6. GEE学习笔记 九十二:Sentinel-2 最新去云方法总结

    关于影像去云实际上是非常复杂的算法来实现的,但是我们不是专业研究如何识别云的,所以我们采用被人已经研究好的成果来实现我们的需求就可以.在GEE如何上实现Sentinel-2去云,之前也专门提到过,这篇 ...

  7. Google Earth Engine(GEE)——Landsat TOA影像一种新的去云方法

    利用光学仪器获取的地球观测卫星图像需要自动和准确的云检测.云层检测的多时空方法通常比其单一场景的方法更强大,因为云层的存在在不同的采集中变化很大,而表面在广义上可以假设是静止的.然而,两个实际的限制通 ...

  8. Google Earth Engine(GEE)——全球12级流域矢量数据免费下载(含数据下载链接)

    HydroBASINS代表了一系列矢量多边形图层,在全球范围内描述了子流域的边界.该产品的目标是在全球范围内无缝覆盖不同尺度(从几十平方公里到几百万平方公里)的大小一致.分层嵌套的子流域,并由一个编码 ...

  9. Google Earth Engine(GEE)——Landsat 8TI/TOA/SR影像对比分析区别和去云即NDVI计算

    1简介 2背景 3在 Google Earth Engine 中使用 Landsat 8 进行预处理 3.1预处理级别示例. 3.2大气顶(TOA) 3.3表面反射率(SR) 3.4 Landsat ...

最新文章

  1. Exchange Server 2000/2003 中设定超过2G的邮箱图解
  2. Navicat连接sqlserver提示:未发现数据源名并且未指定默认驱动程序
  3. 从国内的源使用pip安装库,提高安装速度
  4. python包实际怎么使用_Python--模块与包
  5. Java快速入门学习笔记6 | Java语言中的for循环语句
  6. python数据分析系列教程——Pandas全解
  7. mysqld --initialize --console 没有 打印信息_JavaScript学习笔记(三)-- 循环结构
  8. 遗传算法及c++实现
  9. 车型代号对照表_车型代号对照表 2016最新版
  10. 如何免费批量将caj转换成PDF
  11. 计算32768晶体的负载电容,与晶体手册电容匹配
  12. Adobe Premiere Pro CC教程笔记
  13. poi 启用保护后取消_保护模式禁用怎么解除
  14. 银行与银行之间的现金是如何流转的:央行支付清算系统
  15. ansys 服务器无响应,ANSYS出现的各种错误及解决方法
  16. Linux基础系列(2命令帮助的详细获取)
  17. Spacy en_core_web_sm
  18. Source insight 4.0 显示右边文件
  19. java游戏魔塔20层_▓▓◇◆20层魔塔超详细攻略◇◆ ▓▓
  20. ROS麦克纳姆轮底盘制作(上)

热门文章

  1. canvas在线画图
  2. 基于asp.net748警官学院物资管理系统
  3. 你选“美丽冻人”还是“加条秋裤”?
  4. 基于Python制作的24点游戏生成器
  5. 专转本计算机操作题库,专转本计算机题库
  6. 如何才能写出好的APP新闻报道及软文?
  7. revit2016注册表删除_revit2016卸载不干净是为什么,怎么办
  8. vs开发revit2016_2016年重要的软件开发发展
  9. 公交车到站预测1----python处理csv文件
  10. java项目第8期-在线游戏商城系统【毕业设计】