geemap学习笔记026:如何循环加载影像集合中的每一景影像,筛选,并且进行导出

前言

影像集合中通常包含多景可用的影像,但是我们有时候需要查看经过某一个区域的每一景影像,然后筛选最适合的一景,今天就来实现这个操作。

1 导入库并显示地图

import ee
import geemap

ee.Initialize()

2 加载Landsat 8数据

# 应用尺度缩放因子
def apply_scale_factors(image):
  optical_bands = image.select('SR_B.').multiply(0.0000275).add(-0.2)
  thermal_bands = image.select('ST_B.*').multiply(0.00341802).add(149.0)
  return image.addBands(optical_bands, None, True).addBands(
      thermal_bands, None, True
  )

point = ee.Geometry.Point([119.13, 37.75]) #定义一个点坐标

dataset = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2')\
    .filterDate('2021-05-01', '2021-07-01')\
    .filterBounds(point)  #筛选LC08数据时间和经过point点的影像

dataset = dataset.map(apply_scale_factors) #对数据应用缩放因子

visualization = {
    'bands': ['SR_B4', 'SR_B3', 'SR_B2'],
    'min': 0.0,
    'max': 0.3,
}  

Map = geemap.Map()
Map.centerObject(point, 8)
Map.add_layer(dataset, visualization, 'original')
Map

可以看到只有选择框,无法查看单景影像
image.png

3 获取影像的基本信息–影像ID、数量

imageList = dataset.toList(dataset.size()) #以列表的形式返回集合元素,需要提供参数count
imageList

imageListSize = imageList.size().getInfo() #直接显示有几景数据
imageListSize

4 循环加载每一景影像

for i in range(imageListSize):  #循环加载单景影像
    image = ee.Image(imageList.get(i))  #读取每一景影像
    Map.addLayer(image, visualization, image.get("system:index").getInfo()) #将其添加到地图中
    
Map.centerObject(point,8)
Map.addLayer(point, {'color':'FFFF00'})
Map

可以看到4景影像已经分别添加到底图中进行显示,并且可以进行筛选
image.png

5 数据导出

分为影像集合导出和单一影像导出

geemap.ee_export_image_collection_to_drive(
    dataset.select(['SR_B4', 'SR_B3', 'SR_B2']),folder='export', scale=30, maxPixels=1e13
) #将整个影像集合导出到云盘中,如何不进行选择波段,则会显示数据类型不一致的问题


image_per = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_121034_20210605') #获取单一影像

geemap.ee_export_image_to_drive(
    image_per, description= image_per.get("system:index").getInfo(), folder='export', scale=30
) #然后将单一影像导出到云盘中

后记

大家如果有问题需要交流或者有项目需要合作,可以加Q Q :504156006详聊,加好友请留言“CSDN”,谢谢。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CSS的基本选择器及高级选择器(附详细示例以及效果图)

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍HTML中CSS的基础选择及高级选择器(详解)以及部分理论知识 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主收将持续更新学习记录获&#xf…

【计算思维】第14届蓝桥杯省赛计算思维U8组真题试卷

选择题 第 1 题 单选题 要把下面 4 张图片重新排列成蜗牛的画像,该如何排列这些图片?( ) A. B. C. D. 第 2 题 单选题 下图的几张牌,每次可以交换任意 2 张。 如将它们按照下面的顺序排列,最少需要交换( )次。 A.4 B.5 C.6 D.7 …

C++面向对象(OOP)编程-友元(友元函数和友元类)

本文主要介绍面向对象编程的友元的使用,以及友元的特性和分类,提供C代码。 1 为什么引进友元 面向对象编程(OOP)的三大特性中的封装,是通过类实现对数据的隐藏和封装。一般定义类的成员变量为私有成员,成员…

虚拟机/etc/fstab 变更只读模式ready-only处理

虚拟机误操作将/etc/fstab中的根目录注释掉了,重启虚机后虚机可以正常启动,但无法进行修改 # vi /etc/fstab 提示文件只读 无法进行操作 解决办法: 1、重启虚机,按e进入单用户模式 2、修改内核所在那行参数,将ro 修…

什么是FPGA原型验证?

EDA工具的使用主要分为设计、验证和制造三大类。验证工作贯穿整个芯片设计流程,可以说芯片的验证阶段占据了整个芯片开发的大部分时间。从芯片需求定义、功能设计开发到物理实现制造,每个环节都需要进行大量的验证。 现如今验证方法也越来越多&#xff…

力扣题:数字与字符串间转换-12.14

力扣题-12.14 [力扣刷题攻略] Re:从零开始的力扣刷题生活 力扣题1:442. 数组中重复的数据 解题思想:从字符串中能够正确提取数字即可 class Solution(object):def complexNumberMultiply(self, num1, num2):""":type num1:…

科技提升安全,基于YOLOv8全系列模型【n/s/m/l/x】开发构建商超扶梯场景下行人安全行为姿态检测识别系统

在商超等人流量较为密集的场景下经常会报道出现一些行人在扶梯上摔倒、受伤等问题,随着AI技术的快速发展与不断普及,越来越多的商超、地铁等场景开始加装专用的安全检测预警系统,核心工作原理即使AI模型与摄像头图像视频流的实时计算&#xf…

Flutter常用命令

一、环境安装 flutter --version 查看当前安装的flutter 版本 flutter upgrade 升级当前的flutter 版本 flutter doctor 检查环境安装是否完成 二、项目编译运行 flutter clean 清空build目录 flutter pub get 获取pub插件包 flutter run --设备名称 运行项目到指定设…

linux 内核同步互斥技术之原子变量

原子变量用来实现对整数的互斥访问,通常用来实现计数器。 例如,我们写一行代码把变量 a 加 1,编译器把代码编译成 3 条汇编指令。 (1)把变量 a 从内存加载到寄存器。 (2)把寄存器的值加 1。 &am…

CSDN新增的代码分析 一键注释新技能

一键注释 贴段Django代码 from django.urls import reversedef my_view(request):url reverse(index)return redirect(url) 贴段Vue代码 <template><div id"app"><input v-model.lazy"msg" type"text" name"" &g…

05.CSS前言

CSS前言 1.CSS产生背景 从 HTML 被发明开始&#xff0c;样式就以各种形式存在&#xff0c;最初的 HTML 只包含很少的显示属性随着 HTML 的成长&#xff0c;为了满足页面设计者的要求&#xff0c;HTML 添加了很多显示功能&#xff0c;例如文本格式化标签但是随着这些功能的增加…

Linux系统调用接口---使用write函数写文件

Linux系统调用接口—使用write函数写文件 1 wirte函数介绍 我们打开了一个文件&#xff0c;可以使用write函数往该文件中写入数据。当我们往该文件中写入N个字节数据&#xff0c;位置pos会从0变为N&#xff0c;当我们再次往该文件中写入M个字节数据&#xff0c;位置会变为NM。…

【沐风老师】科研绘图3DMAX病毒建模教程

3dMax在科研绘图方面也有广泛的应用&#xff0c;本教程就给大家讲解病毒的建模方法&#xff0c;下面直接进入教程&#xff1a; 3dMax病毒建模方法&#xff1a; 1.启动3dMax&#xff0c;在视口中创建一个“几何球体”。方法&#xff1a;右边命令面板->创建->几何体->…

IDEA对@Author、@Date 标签等的黄色警告问题

配置路径 seting --> Editor -->Inspections --> Java --> Javadoc -->Declaration has Javadoc problems设置--> 编辑器-->检查--> Java --> Javadoc -->javadoc声明问题-->附加javadoc标记参数 ,Author,Date

前端已死?探讨人工智能与低代码对前端的影响

文章目录 每日一句正能量前言前端行业究竟是好是坏&#xff1f;数字化转型的当下前端工程师该何去何从&#xff1f; 想要入行前端先认清这三个事实 后记 每日一句正能量 人的结构就是相互支撑&#xff0c;众人的事业需要每个人的参与。 前言 随着人工智能和低代码的崛起&#…

【Canvas】绘制风速热力图

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热衷分享有趣实用的文章&#xff0c;希望大家多多支持&#xff0c;一起进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 目录 风速热力图 前期工作 数据准备 数据稀疏问题 双线性插值 绘制色…

关于pytorch中的dim的理解

今天碰到一个代码看起来很简单&#xff0c;但是细究原理又感觉好像不太通不太对劲&#xff0c;就是多维tensor数据的操作&#xff0c;比如&#xff1a;y.sum(dim2)&#xff0c;乍一看很简单数据相加操作&#xff0c;但是仔细一想&#xff0c;这里在第3维度的数据到底是横向相加…

什么是前端开发中的跨站请求伪造(CSRF)攻击?如何防止它?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

dell 恢复系统

戴尔笔记本电脑_台式电脑_服务器_电脑配件_戴尔官方网站 | Dell dell 官方渠道与下载&#xff0c;输入自己dell主机上的服务编码,下载dell的恢复工具回来安装好&#xff0c; 如何下载和使用戴尔操作系统恢复映像 | Dell 中国

MySQL之DQL语句

文章目录 DQL语句指定查询查询全部查询部分数据别名查询使用order by子句拼接查询去重查询WHERE – 条件过滤模糊查询JOIN – 多表关联求和查询排序查询统计查询分页查询 DQL语句 DQL&#xff08;Data Query Language&#xff09;查询数据 操作查询&#xff1a;select简单的查…