在计算索引并生成高质量马赛克时,有一个明显的图像是异常值。我已经确定了图像,问题在于 B5 波段的值非常低,这使得索引具有非常高的值。

编号:哥白尼/S2_SR/20200829T174909_20200829T175522_T13UFP

代码:

var imageCollection = ee.ImageCollection("COPERNICUS/S2_SR"),geometry = /* color: #98ff00 *//* shown: false *//* displayProperties: [{"type": "rectangle"}] */ee.Geometry.Polygon([[[-103.99506389984352, 48.962358795597474],[-103.99506389984352, 46.88665586989701],[-99.68842327484352, 46.88665586989701],[-99.68842327484352, 48.962358795597474]]], null, false),geometry2 = /* color: #0b4a8b */ee.Geometry.Point([-102.87049298795543, 48.22935423511586]),geometry3 = /* color: #00ffff */ee.Geometry.Point([-101.57471425064051, 48.22316284019277]);//get veg bare soil water
function maskSCL(image) {var scl = image.select('SCL');var mask = scl.gte(4).and(scl.lte(6));return image.updateMask(mask);//.divide(10000);
}//calculate red edge chlorophyll index
var getIndices = function(img){var im = img.divide(10000);var CIre=im.select('B7').divide(im.select('B5')).subtract(1).rename("CIre");return im.addBands(CIre).copyProperties(img,['system:time_start']);
}function addDOY(im){var doy = im.date().getRelative('day', 'year');var doyBand = ee.Image.constant(doy).uint16().rename('doy')doyBand = doyBand.updateMask(im.select('B8').mask())var yr = im.date().get('year')var yrBand = ee.Image.constant(yr).uint16().rename('year')yrBand = yrBand.updateMask(im.select('B8').mask())return im.addBands(doyBand).addBands(yrBand)
}//max CIre from July-Sept
var dataset1 = imageCollection
.filterBounds(geometry)
.filter(ee.Filter.calendarRange(2018, 2021, 'year'))
.filter(ee.Filter.calendarRange(7, 9, 'month'))
.map(maskSCL)
.map(getIndices)
.map(addDOY)
.select('CIre', 'doy', 'year');var CIre_max = dataset1.qualityMosaic('CIre');Map.addLayer(CIre_max.select('CIre'),
{min:0,max:20,palette:['black','indigo','cyan','limegreen','yellow']},'CIre')
Map.addLayer(CIre_max.select('doy'),
{min:183,max:274,palette:['black','indigo','cyan','limegreen','yellow']},'doy')
Map.addLayer(CIre_max.select('year'),
{min:2018,max:2021,palette:['indigo','cyan','limegreen','yellow']},'year')// var index = dataset1
// .select('CIre')
// .reduce(ee.Reducer.percentile([98]))// //calculate band to use for quality mosaic of 98th percentile values
// // loop over image collection
// //get absolute difference from 98th percentile
// //convert to 1/abs dif + .1 to use as band for quality mosaic
// var forQM  = dataset1.map(function(x){
//   // get absolute difference of the percentiles with the CI
//   var selector = x.select('CIre').subtract(index).abs();
//   var selector_fixed = selector.eq(0).multiply(0.1).add(selector)
//   // invert to let the min diff be the largest value
//   var invsel   = ee.Image.constant(1).divide(selector_fixed);
//   // add inverted difference band to the image and name properly
//   return x.addBands(invsel.rename('selector_CIre'))
// });// // // // use the new selectors to perform the quality mosaic and add to map
// var CIre_p98QM  = forQM
// .qualityMosaic('selector_CIre')
// .select(['CIre', 'doy'])// Map.addLayer(CIre_p98QM.select('CIre'),
// {min:0,max:20,palette:['black','indigo','cyan','limegreen','yellow']},'CIre_p98')
// Map.addLayer(CIre_p98QM.select('doy'),
// {min:183,max:274,palette:['black','indigo','cyan','limegreen','yellow']},'doy_p98')///print trouble image
//ID COPERNICUS/S2_SR/20200829T174909_20200829T175522_T13UFP
//Think B5 is not right
var checkit = imageCollection
.filterBounds(geometry2)
.filter(ee.Filter.calendarRange(2020, 2020, 'year'))
.filter(ee.Filter.calendarRange(240, 242, 'day_of_year'))
print(checkit)
Map.addLayer(checkit.max(),{bands:['B4','B3','B2'], min:100,max:2000},'trouble_image')
Map.addLayer(checkit.max(),{bands:['B5'], min:100,max:2000},'trouble_b5')///nearby image same time period...B5 better
var checkit = imageCollection
.filterBounds(geometry3)
.filter(ee.Filter.calendarRange(2020, 2020, 'year'))
.filter(ee.Filter.calendarRange(240, 242, 'day_of_year'))
print(checkit)
Map.addLayer(checkit.max(),{bands:['B4','B3','B2'], min:100,max:2000},'nearby_image')
Map.addLayer(checkit.max(),{bands:['B5'], min:100,max:2000},'nearby_b5')

Google Earth Engine(GEE)——S2影像异常值相关推荐

  1. Google Earth Engine (GEE) ——卫星影像的监督分类(svm)

    问题 GEE 提供哪些机器学习技术? 如何对卫星图像进行监督分类? 如何评估分类器的准确性? 如何手动创建自己的几何图形? 目标 练习查找无云图像和使用手绘几何导入 学习训练和应用分类算法所需的基本功 ...

  2. 基于google earth engine(GEE)下载研究区域影像

    基于google earth engine(GEE)下载研究区域影像 当研究需要Landsat数据时,我们可以通过USGS官网或者地理空间数据云平台下载.由于地理空间数据云目前无法下载到较新的数据,可 ...

  3. Google Earth Engine(GEE)批量下载代码(以 NDVI数据为例)

    下载数据先准备工作(具体细节都能查到):科学上网 谷歌邮箱,谷歌邮箱注册GEE账号. 一:导入需要下载边界shp文件. 标题 找到自己的shp文件,导入除了sbx文件的所有文件. 导入成功 命名ass ...

  4. Google Earth Engine(GEE)——User memory limit exceeded(2)

    上一次我们已经知道如何去进行避免这种错误的发生,有关详细内容,如果单单只是解决这个问题我们用到的是limit 和 first,上一次的博客在这里: (207条消息) Google Earth Engi ...

  5. Google Earth Engine(GEE) 01-中输入提示快捷键Ctrl+space无法使用的问题

    Google Earth Engine(GEE) 01-中输入提示快捷键Ctrl+space无法使用的问题 GEE中 Ctrl+space组合键用于代码输入快捷提示,能够提高编码的准确度和速度,但是, ...

  6. 使用Google Earth Engine (GEE)实现MODIS数据批量下载

    使用Google Earth Engine GEE实现MODIS数据批量下载 前言 下载数据代码 批量执行run任务 关注公众号,分享GIS知识.ArcGIS教程.SCI论文与科研日常等 前言 上图是 ...

  7. GEE(Google Earth Engine)消除影像色差——直方图匹配算法

    色彩校正是处理卫星和航拍图像的重要过程.用于平衡多张图像颜色的常用技术是直方图匹配.虽然该算法已经存在很长时间,但可以大规模使用的免费和开源工具并不多.Mapbox 发布了一个名为rio-hist的开 ...

  8. Google Earth Engine(GEE)——可视化动态图

    代码: var geometry = /* color: #d63000 *//* shown: false *//* displayProperties: [{"type": & ...

  9. Google Earth Engine 下载遥感影像——以Landsat 8数据为例

    目录 1.Google Earth Engine(GEE)简介 1.1 开发环境 1.2 说明书 2.GEE账号注册 3.GEE 查询库内卫星影像以及调用 3.1 数据集Datasets 3.2 加载 ...

  10. 关于google earth engine(GEE)的一些想法与大胆预测

    我接触GEE有两年了,GEE留给我的印象是:无所不能. 不管是从庞大的数据量,还是包含遥感的各类算法:随机森林.SVM.CNN,都让人惊讶. 从GEE的云端操作来看,传统遥感需要几个月做出来的全国ND ...

最新文章

  1. JAVscript对象
  2. 关于山东大学(威海)全向组海韵三队提交的 RT-Thread 技术报告中的若干疑点
  3. hdu 1872(稳定排序)
  4. C++二维数组new小结(zz)
  5. List------Linked 链表
  6. Jaxb对xml报文头的小修小改
  7. 使用FTP获取RFC文档
  8. ❤️❤️❤️【资料免费领取】简历模板、职场PPT模板、硬核学习资料+PDF资料(Java、Python、大数据、机器学习)❤️❤️❤️
  9. 如何理解SVM | 支持向量机之我见
  10. java中fileter用法,Java 8 使用Lambda表达式的FileFilter示例
  11. bzoj 1660: [Usaco2006 Nov]Bad Hair Day 乱发节(单调栈)
  12. 单词计数 soj1076
  13. matlab特定等值线,从Matlab轮廓函数中选择等值线
  14. 【C语言】switch用法
  15. 计算机应用基础考试制作表格,计算机应用基础考试---Excel电子表格公式与函数...
  16. 【金曲榜】————1、《修炼爱情》(林俊杰)
  17. 【转】cp: omitting directory”错误的解释和解决办法
  18. dell R720 单盘raid0配置
  19. 【机器学习经典算法】K近邻(KNN):核心与总结
  20. 如何用ChatGPT做新品上市推广方案策划?

热门文章

  1. 30_ElasticSearch IK分词器配置文件 以及自定义词库
  2. 高斯模糊与图像失焦,附Python代码实现
  3. 全网唯一正确身份证和社统一社会信用代码自定义表单校验器(身份证校验和社统一社会信用代码校验)
  4. 【以太坊】雷电网络的101网络原理概述
  5. IAR代码溢出问题处理section placement failed
  6. 淘宝标题怎么写才能具有高权重
  7. 京东移动端首页-流式布局
  8. 笔记本电脑显示以太网未连接_如何向笔记本电脑添加以太网连接
  9. vue怎么vw布局好用_Vue 实现 rem 布局或vw 布局的方法_晴枙_前端开发者
  10. 自主研发编程语言Mulan(木兰)评测(附视频讲解)