GEE必须会教程—一文教会你GEE下载影像数据的方法

一、基本流程

A.平台进入:网站搜索:https://developers.google.com/earth-engine,进入Google Earth Engine 官网平台(以下简称GEE平台),正常登录该平台需要利用邮箱进行申请,申请通过后可以正常登录该平台。

B.数据检索:在平台上点击“Dataset”,可以查看GEE平台上所有的数据集,此处选择“Landsat”数据,选择“Landsat9OLI/TIRS”数据集,选择大气层顶反射率数据集“Top of Atmosphere”数据集。

C.数据信息查看:具体查看该数据集的描述、波段信息、影像属性等等,以及平台上调用和访问的代码信息。

D.数据的下载:GEE上进行影像数据的下载一般可通过JavaScript和Python两个接口进行代码的编辑,一般的代码编写思路为导入研究区域→影像数据集的访问→影像数据的空间、时间和云量筛选→查看影像结果→代码调整→影像下载

图1

图2

二、下载流程

①导入研究区域;在ArcMap中导出县级行政区划数据,并在个人资产上上传家乡—江西省赣州市南康区的矢量shp文件。利用ee.FeatureCollection代码导入研究区域,作为影像数据筛选的参考范围。

var roi = ee.FeatureCollection("users/hesuixinya511/rongchang");

②数据调用和预处理:在GEE平台上,通过ee.ImageCollection代码访问Sentinel-2数据。根据研究区域边界,以及2020年的全年日期范围,筛选云量百分比小于0.05的卫星数据,并根据Sentinel-2的去云函数方法进行初步的去云处理。

function maskS2clouds(image) {var qa = image.select('QA60');// Bits 10 and 11 are clouds and cirrus, respectively.var cloudBitMask = 1 << 10;var cirrusBitMask = 1 << 11;// Both flags should be set to zero, indicating clear conditions.var mask = qa.bitwiseAnd(cloudBitMask).eq(0).and(qa.bitwiseAnd(cirrusBitMask).eq(0));return image.updateMask(mask).divide(10000);
}
var dataset = ee.ImageCollection('COPERNICUS/S2_HARMONIZED').filterDate('2020-01-01', '2020-12-31').filterBounds(roi).filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 0.05)).map(maskS2clouds);
print(dataset);

③查看影像:利用list命令生成影像列表,方便按照索引值进行可视化的显示,在对符合条件的影像进行逐一查看后,发现2020年3月15日的两景影像能够完全覆盖区域。

//生成影像列表
var list = dataset.toList(dataset.size());
var downImage = ee.Image(list.get(3));
var upImage = ee.Image(list.get(5));
var visualization = {min: 0.0,max: 0.3,bands: ['B4', 'B3', 'B2'],
};
Map.centerObject(roi,6);
Map.addLayer(upImage,visualization,"upImage");
Map.addLayer(downImage, visualization, 'downImage');
Map.addLayer(roi,{"color":"red"},"ROI");

④合成影像和下载:由于Sentinel-2数据不同的波段具有不同的分辨率,在下载前需要将同一分辨率(10m、20m、60m)的波段数据进行影像合成后,再编写下载的代码,设置好下载参数,在“Task”目录中完成Sentinel-2数据的下载即可。

//生成影像列表
var list = dataset.toList(dataset.size());
var downImage = ee.Image(list.get(3));
var upImage = ee.Image(list.get(5));
var visualization = {min: 0.0,max: 0.3,bands: ['B4', 'B3', 'B2'],
};
Map.centerObject(roi,6);
Map.addLayer(upImage,visualization,"upImage");
Map.addLayer(downImage, visualization, 'downImage');
Map.addLayer(roi,{"color":"red"},"ROI");
④合成影像和下载:由于Sentinel-2数据不同的波段具有不同的分辨率,在下载前需要将同一分辨率(10m、20m、60m)的波段数据进行影像合成后,再编写下载的代码,设置好下载参数,在“Task”目录中完成Sentinel-2数据的下载即可。
var downImage10 = downImage.select("B2","B3","B4","B8");
var downImage20 = downImage.select("B5","B6","B7","B8A","B11","B12");
var downImage60 = downImage.select("B1","B9","B10");
var upImage10 = upImage.select("B2","B3","B4","B8");
var upImage20 = upImage.select("B5","B6","B7","B8A","B11","B12");
var upImage60 = upImage.select("B1","B9","B10");
//下载影像
Export.image.toDrive({  image: downImage10,  description: "downImage10",//影像名称   fileNamePrefix: "Sentinel-2down10",  folder: "RongchangESA",  //文件夹名称 scale: 10,  region: roi,  maxPixels: 1e13,  crs: "EPSG:4326"  });
Export.image.toDrive({  image: downImage20,  description: "downImage20",//影像名称   fileNamePrefix: "Sentinel-2down20",  folder: "RongchangESA",  //文件夹名称 scale: 20,  region: roi,  maxPixels: 1e13,  crs: "EPSG:4326"  });
Export.image.toDrive({  image: downImage60,  description: "downImage60",//影像名称   fileNamePrefix: "Sentinel-2down60",  folder: "RongchangESA",  //文件夹名称 scale: 60,  region: roi,  maxPixels: 1e13,  crs: "EPSG:4326"  });
Export.image.toDrive({  image: upImage10,  description: "upImage10",//影像名称   fileNamePrefix: "Sentinel-2up10",  folder: "RongchangESA",  //文件夹名称 scale: 10,  region: roi,  maxPixels: 1e13,  crs: "EPSG:4326"  });
Export.image.toDrive({  image: upImage20,  description: "upImage20",//影像名称   fileNamePrefix: "Sentinel-2up20",  folder: "RongchangESA",  //文件夹名称 scale: 20,  region: roi,  maxPixels: 1e13,  crs: "EPSG:4326"  });
Export.image.toDrive({  image: upImage60,  description: "upImage60",//影像名称   fileNamePrefix: "Sentinel-2up60",  folder: "RongchangESA",  //文件夹名称 scale: 60,  region: roi,  maxPixels: 1e13,  crs: "EPSG:4326"  });

⑤将下载好的Sentinel-2影像数据和Landsat8数据分别在ENVI中进行加载,查看下载的影像是否无误。结果如下:

本期内容到这里就结束了,更多内容欢迎持续关注小编的公众号“梧桐GIS”,谢谢大家支持!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ //练习 11.22 给定一个map<string, vector<int>>,对此容器的插入一个元素的insert版本,写出其参数类型和返回类型。

C Primer&#xff08;第5版&#xff09; 练习 11.22 练习 11.22 给定一个map<string, vector<int>>&#xff0c;对此容器的插入一个元素的insert版本&#xff0c;写出其参数类型和返回类型。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具…

STM32一个地址未对齐引起的 HardFault 异常

1. 概述 客户在使用 STM32G070 的时候&#xff0c;KEIL MDK 为编译工具&#xff0c;当编译优化选项设置为Level0 的时候&#xff0c;程序会出现 Hard Fault 异常&#xff0c;而当编译优化选项设置为 Level1 的时候&#xff0c;则程序运行正常。表面上看&#xff0c;这似乎是 K…

【Linux】软硬链接 / 动静态库

目录 一. 软硬链接1. 硬链接2. 软链接3. unlink4. 目录的硬链接 二. 动静态库1.1 静态库制作1.2 静态库使用2.1 动态库制作2.2 动态库使用3. 动态链接原理 一. 软硬链接 1. 硬链接 硬链接(hard link) 可以将它理解为原始文件的别名, 和原始文件使用相同的 inode 编号和 data …

LangChain - OpenGPTs

文章目录 MessageGraph 消息图认知架构AssistantsRAGChatBot 持久化配置新模型新工具astream_events总结 关键链接&#xff1a; OpenGPT GitHub 存储库YouTube 上的 OpenGPT 演练LangGraph&#xff1a;Python、JS 两个多月前&#xff0c;在 OpenAI 开发日之后&#xff0c;我们…

LwIP TCP/IP

LWIP 架构 LwIP 符合 TCP/IP 模型架构&#xff0c;规定了数据的格式、传输、路由和接收&#xff0c;以实现端到端的通信。 此模型包括四个抽象层&#xff0c;用于根据涉及的网络范围&#xff0c;对所有相关协议排序&#xff08;参见图 2&#xff09;。这几层从低到高依次为&am…

2024.4.8-day12-CSS 常用样式属性和字体图标

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 作业2024.4.8-学习笔记盒子阴影文本阴影透明的vertical-align字体使用 作业 &…

Java数组详解

​TOC 第一章、数组的概念介绍 1.1&#xff09;数组的概念 ①数组就是用来储存数据的容器,可以存储同一种类型的数据&#xff0c;是同一种数据类型的集合。实现对这些数据的统一管理。如果数组中存储的是基本类型数据&#xff0c;我就不能往里面存引用类型数据。数组中存储的…

FutureMatrix S5735S-L48T4X-A1交换机配置SSH登录

目录 1. FutureMatrix 交换机1.1 查看版本1.2 配置前1.3 配置VTY用户界面的支持协议类型、认证方式和用户级别。1.4 开启STelnet服务器功能。1.5 配置SSH用户认证方式为Password1.6 配置后 1. FutureMatrix 交换机 1.1 查看版本 <SW3>display version FutureMatrix …

10分钟上手:MySQL8的Json格式字段使用总结干货

一、关于效率和适用范围 尽管官方承诺Json格式字段采用了空间换时间的策略&#xff0c;比Text类型来存储Json有大幅度的效率提升。但是Json格式的处理过程仍然效率不及传统关系表&#xff0c;所以什么时候用Json格式字段尤为重要。 只有我们确定系统已经能精确定位到某一行&am…

【完全背包求方案数问题】AcWing1023.买书(赋练习题目)

【题目链接】活动 - AcWing 输入样例1&#xff1a; 20输出样例1&#xff1a; 2输入样例2&#xff1a; 15输出样例2&#xff1a; 0输入样例3&#xff1a; 0输出样例3&#xff1a; 1 【代码】 //1023.买书——完全背包问题#include<bits/stdc.h>using namespace st…

一起学习HarmonyOS应用开发——基础篇(4)

前言&#xff0c;上一篇说了应用工程的目录结构&#xff0c;今天不讲ArkTS语言&#xff08;HarmonyOS优先的主力应用开发语言&#xff09;的语法&#xff0c;先说一下组件的事情。比如基础组件、容器组件、媒体组件、绘制组件、画布组件。今天就简单的学习一下常用的组件怎么玩…

【SpringCloud】Nacos 配置管理

目 录 一.统一配置管理1. 在 nacos 中添加配置文件2. 从微服务拉取配置 二.配置热更新1. 方式一2. 方式二 三.配置共享1. 添加一个环境共享配置2. 在 user-service 中读取共享配置3. 运行两个 UserApplication&#xff0c;使用不同的 profile4. 配置共享的优先级5. 多服务共享配…