GEE计算时间序列植被指数-以哨兵2数据计算MTCI指数为例

// 首先是去云处理
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);}
// 计算MTCI指数(选择哨兵2数据的第4,5,6波段)
function s2_mtci(image) {var mtci = image.expression('(RE2 - RE1)/ (RE1 - Red)', {'RE2': image.select('B6'),'RE1': image.select('B5'),'Red': image.select('B4'),}).float().rename('MTCI');  // 这里强调一点需要利用rename()将结果名字改成‘MTCI’,原因后面再说。return image.addBands(mtci);
} // 这里强调,函数返回的如果直接是image的话,后面在进行时序分析就会报错,说没有波段匹配,因为缺少了相应的时间信息。所以这里是将计算的结果作为一个波段添加进原影像中。
// 导入研究区
var roi = ee.FeatureCollection("users/area");
// 导入哨兵2数据,根据时间、研究区和云量对影像进行筛选
var s2_col = ee.ImageCollection("COPERNICUS/S2").filterBounds(roi).filterDate('2022-05-14','2022-09-21').filter(ee.Filter.lte('CLOUD_COVERAGE_ASSESSMENT',20)).map(rmCloudByQA).map(function(image){return image.clip(roi)});
print (s2_col)
// 计算研究区的MTCI指数
var mtci = s2_col.map(s2_mtci).select("MTCI");  // 上面只有rename()函数使用了以后,才能在这里根据名字进行select,不然的话,mtci指数的波段名字这里就是显示的'B6_1',不知道为什么是这样的。
print ('mtci is:', mtci)
Map.addLayer(mtci)// 站点时间序列显示(以日期和日序数两种)var chart1 = ui.Chart.image.series({imageCollection:mtci,region:ee.Geometry.Point([107.29424,40.73286]),reducer:ee.Reducer.mean(),  //计算均值scale:10
}).setOptions({title:'MTCI IMAGE SERIES'});
print(chart1);var chart2 = ui.Chart.image.doySeries({imageCollection:mtci,region:ee.Geometry.Point([107.29424,40.73286]),regionReducer:ee.Reducer.mean(),scale:10
}).setOptions({title:"ROI MTCI EACH DAY SERIES"})
print(chart2)

**结果:**可以看到选择以后只有mtci一个波段数据;时间序列数据也可以得到,通过右上角可以打开新的界面,导出图以及相应的数据表。

多点像元时间序列值提取

上述代码只是提供了单点的时间序列的表示,下面这个代码是在上述代码的基础上,提取多点像元时间序列,并导出。代码参考的博文GEE:提取多个点的时间序列数据

// 提取多点像元值  var pointValues = mtci.toBands().sampleRegions({  // 这里必须使用toBands才能进行计算,没搞懂这个是啥意思。collection:syz,  /* properties:ee.List(['Number']),*/  //这里如果加上properties的话应该是可以根据矢量点的属性信息导出数据的,如果不加的话,属性信息应该都会导出,这里没有测试过。scale:10
});print(pointValues)
//导出
Export.table.toDrive({collection: pointValues,description:"MTCI",folder: "MTCI",fileFormat: "CSV"
});

导出的数据的编号和print(pointValues)中的feature是一致的,可以对照。我的矢量点文件中也有Number编号,所以也可以对照。如图:

申明: 自己也是查询了很多代码,加上自己的理解得到的结果,有问题大家可以指出来,互相交流学习,自己关注的是以下几个公众号来学习,推荐一下。

GEE计算时间序列植被指数-以哨兵2数据计算MTCI指数为例+多点像元时间序列值提取相关推荐

  1. python爬取股票数据,以上证指数为例,可以爬取任何股票,保存为temp.csv文件

    python爬取股票数据,以上证指数为例,可以爬取任何股票,保存为temp.csv文件 import requests import pandas as pd# market: 0:沪市 1:深市 # ...

  2. 腾讯大数据第四代数智融合计算平台正式发布!引领大数据计算进入下一时代

    导读 / Introduction 4月18日,在 "腾讯大数据高峰论坛"上,腾讯正式发布自研第四代数智融合计算平台"腾讯大数据-天工",该平台以最新的&quo ...

  3. MySQL多行数据合并(单例显示多个值)之GROUP_CONCAT()函数(字符串连接函数)

    MySQL多行数据合并之GROUP_CONCAT函数 一.GROUP_CONCAT函数语法 二.创建表和添加测试数据 1.建表 2.添加测试数据 三.编写测试SQL语句 1.人员信息表(左)和房间信息 ...

  4. 数据分析案例:亚洲国家人口数据计算

    数据截图: 数据下载地址:链接:https://pan.baidu.com/s/1dGHwAC5 密码:nfd2 该数据包含了2006年-2015年10年间亚洲地区人口数量数据,共10行50列数据.我 ...

  5. 《大数据》第1期“聚焦”——从系统角度审视大数据计算

    从系统角度审视大数据计算 郑纬民 清华大学计算机科学与技术系 北京 100084 摘要:大数据计算是实现大数据"巨大价值"的必要手段,而计算系统是大数据计算的有效载体.试着从系统角 ...

  6. 数据计算中间件技术综述

    传统企业大数据架构的问题 上图是大家都很熟悉的基于 Hadoop 体系的开源大数据架构图.在这个架构中,大致可以分成三层.最下一层是数据采集,通常会采用 kafka 或者 Flume 将 web 日志 ...

  7. 计算机word表格计算教程F9,Word表格数据计算与域操作

    摘 要:Word是常用的文档编辑软件,用户在平时的工作中,利用它可以进行文字.图片.表格的排版处理等工作,但往往忽略WORD也具有强大的计算功能:Word的表格计算功能在表格项的定义方式.公式的定义方 ...

  8. 4 数据分析-案例:亚洲国家人口数据计算

    数据截图: 该数据包含了2006年-2015年10年间亚洲地区人口数量数据,共10行50列数据.我们需要使用Numpy完成如下数据任务: 计算2015年各个国家人口数据 计算朝鲜历史各个时期人口数据 ...

  9. 大数据计算的6大关键技术与4大应用场景探索!

    | 转载自:DataFun | 编辑:钱英宇 | 设计:张千禧 大数据和AI的能力在企业应用中发挥着越来越重要的价值,企业在提升数字化转型带来的数字到知识萃取助力于业务的同时,面对海量数据的增长,离不 ...

最新文章

  1. android studio网上订餐软件_直播软件OBS的使用
  2. git常用命令速查表【转】
  3. 删除index.php,从URL中删除index.php - Codeigniter 2
  4. c++读取json文件_SPARK入门 - json文件读取
  5. ubuntu安装ibus输入法
  6. (转载)大数据与企业的数据化运营
  7. Linux is执行程序命令,linux命令执行过程详解
  8. 支持服务器CPU的ITX主板,Mini-ITX主板能装28核处理器,华擎推出EPC621D4I-2M主板
  9. 深圳内推 | 腾讯AI Lab自然语言处理中心招聘NLP研究型实习生
  10. matlab怎么调整子图间距,matplotlib调整子图间距,调整整体空白的方法
  11. 属性名、变量名与 内部关键字 重名 加
  12. 客户机-服务器系统,什么是客户机/服务器计算
  13. 致力微商_致力于自己。 致力于公益组织。
  14. 23.docker export
  15. arduino学习笔记(一)——bamboosir920
  16. 2014小米校园招聘笔试(10.13北京)
  17. matlab lu分解 源代码,矩阵LU分解程序实现(Matlab)
  18. xhEditor使用方法2
  19. ESP32 HTTP Client接口使用
  20. Adobe XD无法下载插件解决办法

热门文章

  1. php recursion,php5.1.6情况下,出现RECURSION。求破!!!
  2. 荣耀双十一AR虚拟大直播来了 秦时明月人物实力带货
  3. 公平锁非公平锁的实际使用_java 线程公平锁与非公平锁详解及实例代码
  4. 常见mysql分布式数据中间件
  5. 带你深入理解传递参数
  6. 人工智能Java SDK:超分辨(4倍),可以提升图片的分辨率,模糊变清晰
  7. VS Code能自己编程了,GitHub推出“AI程序员”插件,根据注释自动补全代码
  8. Spring框架针对dao层的jdbcTemplate操作crud之query查询数据操作
  9. 20220715 断路器与接触器 知识点
  10. Exe4j破解_Exe4j注册码