【GEE】基于GEE可视化和下载Landsat8 L2A数据(镶嵌、裁剪)

news2024/9/20 7:53:52

        之前发过一篇使用GEE下载Landsat8的文章,然后有很多小伙伴私信我各种问题,如L1C、L2数据代码怎么修改,如何镶嵌,如何去云、 如何裁剪等一系列问题。正好快过年了,手头的事也没有多少了,所以这两天整理了一下GEE的相关代码,后续会陆续发出来。代码比较简单就是查询函数和导出函数,然后还有一个显示函数。

        今天给大家带来的是基于GEE的Landsat8 L2A数据去云、镶嵌、裁剪代码,直接导入研究区的矢量即可下载中值合成后的影像(一景)。这几篇文章都是类似的,所以我的排版都一样,但是东西精华就行。我懒得去搞那些花里胡哨的东西,博文基本都是实用性的!

一、代码部分

//作者:RS迷途小书童
//博客:https://blog.csdn.net/m0_56729804?type=blog
var roi = table //感兴趣的区域信息
var style_set = {color:"red",fillColor:"00000000"}; //设置地图中要素的颜色和填充颜色
Map.addLayer(roi.style(style_set),{},"shape") //使用之前定义的样式集将roi添加到地图中。该地图层默认使用几何形状(例如多边形)来表示区域
Map.centerObject(roi,10) //将地图中心设置为roi对象,并设置缩放级别为10

function maskL8sr(image) {
  // 去云函数
  var qaMask = image.select('QA_PIXEL').bitwiseAnd(parseInt('11111', 2)).eq(0);
  //从输入图像中选择QA_PIXEL波段,使用位运算和掩码来识别填充、云、云影等像素
  var saturationMask = image.select('QA_RADSAT').eq(0); //从输入图像中选择QA_RADSAT波段,并识别未饱和的像素。
  // 将缩放因子应用于适当的频带
  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)
      //.updateMask(qaMask)
      .updateMask(saturationMask);}
      
var dataset = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2')
                  .filterBounds(roi)
                  .filterDate('2018-04-01', '2018-12-30')
                  .filter(ee.Filter.lte('CLOUD_COVER',10))
                  .map(maskL8sr)
                  .median()
                  .clip(roi)//裁剪
                  
print(dataset);

var visualization = {
  bands: ['SR_B4', 'SR_B3', 'SR_B2'],
  min: 0.0,
  max: 0.3,
};
Map.addLayer(dataset, visualization, 'Image');
// 彩色合成显示


var mergedImage = dataset.select("SR_B1","SR_B2","SR_B3","SR_B4","SR_B5","SR_B6","SR_B7");// "ST_B10"
// 将所选波段合并为一个多波段图像
print(mergedImage)

function exportdata(data1) {
  var data = data1.toFloat()
  Export.image.toDrive({
  image: data,//要下载的影像,类型为image对象
  folder: 'Landsat8-L2A',//云盘文件夹
  description: 'Mosaic',
  fileNamePrefix: 'Landsat8-OLI',
  region: roi,
  scale: 30,//分辨率
  crs: "EPSG:4326",//投影坐标系
  maxPixels: 1e13//最大像元数
  });
}
exportdata(mergedImage);
//导出数据

二、结果展示

        我平时用GEE比较少,大量时间都是使用Python去处理数据,但是用的少也还是会一点的。令人失望的是网上有很多教程都是VIP文章或者时间周期太长,导致代码不能使用,对于没接触过代码的新手来说很不友好。我希望能在力所能及的范围内尽可能多地去分享一些GEE的基本操作,如果大家感兴趣也可以一起留言交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1424622.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

考研高数(数列极限之f(xn)和{xn}的关系)

说白了,f(xn)是复合函数,是f(x)与{xn}的复合函数。(复合函数的单调性有同增异减的原则) 例题1:【可以用同增异减的原则,迅速解答(有不合理的地方,请各位大佬指正!&#…

【操作系统】FileOutputStream的flush操作有时不生效

按照我们的理解:FileOutputStream的flush()方法的作用就是将缓冲区中的数据立即写入到文件中,即使缓冲区没有填满。这样可以确保数据的及时写入,而不需要等待缓冲区填满或者调用 close() 方法关闭流时才写入。真的是这样吗?&#…

dv和ov通配符SSL证书的区别

SSL数字证书是一种数字证书,可以保护网站传输数据安全以及对服务器身份进行验证,SSL证书有很多种,而通配符证书则是其中的一种特殊类型。SSL证书旗下的通配符SSL证书随着互联网的发展,颁发量也越来越多,为了使用户选择…

websocket编写聊天室

【黑马程序员】WebSocket打造在线聊天室【配套资料源码】 总时长 02:45:00 共6P 此文章包含第1p-第p6的内容 简介 温馨提示:现在都是第三方支持聊天,如极光,学这个用于自己项目完全没问题,大项目不建议使用 需求分析 代码

Celeryconfig配置文件

Celery配置文件 本篇介绍Celery配置文件相关,celeryconfig.py Celeryconfig.py 在上篇celery基础用法中,是这样使用celery的实例化的。 # tasks.py 文件名需与实例化对象第一个参数一致 import time from celery import Celeryredis_url redis://Pa…

重磅!讯飞星火V3.5正式发布,3大核心能力超GPT-4 Turbo!

1月30日,科大讯飞召开星火认知大模型V3.5升级发布会,这是国内首个基于全国产算力训练的多模态认知大模型。科大讯飞董事长刘庆峰先生、研究院院长刘聪先生出席了大会,并对最新产品进行了多维度解读。 讯飞星火V3.5的7大核心能力实现全面大幅…

用的到的linux-文件移动-Day2

前言: 在上一节,我们复习了cd大法和创建生成文件和文件夹的方法,介绍了一些“偷懒”(高效)的小技巧,本节,我们一起来探讨下,我们对文件移动操作时有哪些可以偷懒的小技巧~ 一、复制…

Oracle 集群】RAC知识图文详细教程(四)--缓存融合技术和主要后台进程

Cache Fusion 原理 前面已经介绍了 RAC 的后台进程,为了更深入的了解这些后台进程的工作原理,先了解一下 RAC 中多节点对共享数据文件访问的管理是如何进行的。要了解 RAC 工作原理的中心,需要知道 Cache Fusion 这个重要的概念,要…

基于腾讯云服务器搭建幻兽帕鲁服务器保姆级教程

随着网络游戏的普及,越来越多的玩家希望能够拥有自己的游戏服务器,以便能够自由地玩耍。而腾讯云服务器作为一个优秀的云计算平台,为玩家们提供了一个便捷、稳定、安全的游戏服务器解决方案。本文将为大家介绍如何基于腾讯云服务器搭建幻兽帕…

三、C++中的Mat对象

图片在C中是作为矩阵Matrix进行处理对待的,通过Mat数据类型进行处理 新建项目这里就不再赘述了哈,可以参考博文:零、环境搭建(第三部分Visula Studio中新建项目) 我这边创建的项目名称为:1_31_matrix 为了养成良好的项目开发习惯…

ubuntu QT openssl支持https

1、Building Qt 5 from Git - Qt Wiki 2、下载编译对应的opengssl [ 1.1.1 ] - /source/old/1.1.1/index.html 3、安装所需基础工具 sudo apt-get install build-essential perl python3 git sudo apt-get install ^libxcb.*-dev libx11-xcb-dev libglu1-mesa-dev libxrende…

基于YOLOv8的水下生物检测,多种优化方法---MSAM(CBAM升级版)助力涨点(二)

💡💡💡本文主要内容:详细介绍了水下生物检测整个过程,从数据集到训练模型到结果可视化分析,以及如何优化提升检测性能。 💡💡💡加入自研注意力MSAM mAP0.5由原始的0.522提升至0.534…

Epicypher—SMARCA2 Chromatin Remodeling Enzyme (Human BRM)

EpiCypher是一家为表观遗传学和染色质生物学研究提供高质量试剂和工具的专业制造商。EpiCypher(国内授权代理 欣博盛生物)能提供全长重组人SMARCA2重塑酶。SMARCA2是ATP依赖性染色质重塑复合物SWI/SNF的核心ATP酶亚基,可动员核小体&#xff0…

第二百九十九回

文章目录 1. 概念介绍2. 实现方法2.1 使用Steam实现2.2 使用Timer实现 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何实现每隔一段时间执行某项目任务"相关的内容,本章回中将介绍如何实现倒计时功能.闲话休提,让我们一起Talk Flutter吧…

Elasticsearch:Geoshape query

Geoshape 查询可以用于过滤使用 geo_shape 或 geo_point 类型索引的文档。 geo_shape 查询使用与 geo_shape 或 geo_point 映射相同的索引来查找具有与查询形状相关的形状的文档,并使用指定的空间关系:相交(intersect)、包含(con…

【百度Apollo】本地调试仿真:加速自动驾驶系统开发的利器

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下…

【C++干货基地】C++引用与指针的区别:深入理解两者特性及选择正确应用场景

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 哈喽各位铁汁们好啊,我是博主鸽芷咕《C干货基地》是由我的襄阳家乡零食基地有感而发,不知道各位的…

go并发编程-runtime、Channel与Goroutine

1. runtime包 1.1.1. runtime.Gosched() 让出CPU时间片,重新等待安排任务(大概意思就是本来计划的好好的周末出去烧烤,但是你妈让你去相亲,两种情况第一就是你相亲速度非常快,见面就黄不耽误你继续烧烤,第二种情况就是你相亲速度…

C#,入门教程(36)——尝试(try)捕捉(catch)不同异常(Exception)的点滴知识与源代码

上一篇: C#,入门教程(35)——哈希表(Hashtable)的基础知识与用法https://blog.csdn.net/beijinghorn/article/details/124236243 1、try catch 错误机制 Try-catch 语句包含一个后接一个或多个 catch 子句的 try 块,这…

项目:博客

1. 运行环境: 主机 主机名 系统 服务 192.168.223.129 Server_Web Linux Web 192.168.48.131 Server-NFS-DNS Linux NFS/DNS 2. 基础配置 配置主机名,静态IP地址 开启防火墙并配置 部分开启SElinux并配置 服务器之间使用同ntp.aliyun.com进行…