GEE 迭代删除谷歌资产文件夹


在Google Earth Engine (GEE) 中管理大量地理空间数据时,我们可能会遇到需要清理不再需要的资产的情况。但需要提前删除子文件后才可删除文件夹,才可释放存储空间,删除过时的数据。本文将介绍如何在GEE中迭代删除资产文件夹。

代码详解

以下是使用Python和GEE API删除资产文件夹的代码详解:

函数定义

def delete_asset_folder(delete_path):# 指定要删除的文件夹路径folder_path = delete_path# 获取该文件夹下的所有资产assets = ee.data.getList({'id': folder_path})# 遍历资产列表并删除每个资产for asset in assets:asset_id = asset['id']ee.data.deleteAsset(asset_id)print(f"Deleted asset: {asset_id}")

详细解释

  1. 函数定义和参数

    • delete_asset_folder 是一个函数,它接受一个参数 delete_path,这个参数指定了需要删除的资产文件夹的路径。
  2. 设置文件夹路径

    • folder_path = delete_path 这行代码将传入的参数赋值给 folder_path 变量,这个变量用于后续操作中指定要操作的文件夹。
  3. 获取资产列表

    • assets = ee.data.getList({'id': folder_path}) 这行代码使用 ee.data.getList 函数来获取指定文件夹下的所有资产。这个函数返回一个列表,其中包含文件夹下所有资产的信息。
  4. 遍历资产列表

    • for asset in assets: 这是一个循环,遍历前面获取的资产列表。对于列表中的每个资产,执行以下操作:
      • asset_id = asset['id'] 从资产字典中提取资产的ID。每个资产都有一个唯一的ID,这是删除资产时需要的。
      • ee.data.deleteAsset(asset_id) 使用 ee.data.deleteAsset 函数删除指定ID的资产。这个函数调用GEE的API来删除资产,释放存储空间。
      • print(f"Deleted asset: {asset_id}") 打印一条消息,确认资产已被删除。这有助于跟踪哪些资产已被处理。

使用方法

GEE提供了强大的API来管理资产,包括创建、读取、更新和删除操作。删除资产是一个重要的管理任务,可以帮助我们保持数据的整洁和最新。
在Google Earth Engine (GEE) 中,管理和删除资产是一个常见的需求,尤其是在处理大量数据时。下面将详细解释如何使用Python编写一个函数来删除GEE中的资产文件夹。

完整案例

在下列代码中,我们首先设置了网络代理和环境变量,然后认证了GEE账户并初始化了API。delete_asset_folder函数负责获取指定文件夹下的所有资产,并逐一删除它们。

import ee
import os# 构建网络代理
# 见 https://mp.weixin.qq.com/s?__biz=Mzk0MTU1MjU5Mw==&mid=2247484766&idx=1&sn=40db6ec347539999af2332ba1e4996fb&chksm=c2d1e3e0f5a66af6d564bf19a1d6a260e5addaf6b7c42981c0e9917db7feb62f9bcb83fdaa9d#rd
# 设置环境变量以解决 OpenSSL 3.0 的兼容性问题# 授权 Earth Engine 账户及初始化 Earth Engine API
ee.Authenticate()
ee.Initialize()def delete_asset_folder(delete_path):# 指定要删除的文件夹路径folder_path = delete_path# 获取该文件夹下的所有资产assets = ee.data.getList({'id': folder_path})# 遍历资产列表并删除每个资产for asset in assets:asset_id = asset['id']ee.data.deleteAsset(asset_id)print(f"Deleted asset: {asset_id}")def main():# 需要删除的遗产folder_delete_path = 'users/deleteAssets/'# 调用迭代删除谷歌资产文件夹delete_asset_folder(delete_path=folder_delete_path)if __name__ == '__main__':main()

注意事项

在删除资产时,请确保您不再需要这些数据,并且已经做好了必要的备份。此外,处理错误和异常也是编写健壮代码的重要部分。正确管理GEE资产是保持数据整洁和最新的关键。通过迭代删除不再需要的资产文件夹,我们可以有效地管理我们的GEE项目。

术语解释

术语或函数解释
ee.data.getList从GEE服务器获取指定ID下的所有资产信息列表。
ee.data.deleteAsset从GEE服务器删除指定ID的资产。
ee.Authenticate()触发用户认证流程,通常会打开浏览器让用户登录他们的Earth Engine账号。
ee.Initialize()初始化Earth Engine Python API。
os.environ设置环境变量,此处用于配置代理和解决OpenSSL兼容性问题。

如果这对您有所帮助,希望点赞支持一下作者! 😊

详细全文-点击查看

file

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

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

相关文章

【Redis】Redis 典型应用 - 缓存 (Cache) 原理与策略

目录 Redis 典型应⽤ - 缓存 (cache)什么是缓存使⽤ Redis 作为缓存缓存的更新策略1)定期⽣成2)实时生成 缓存预热,缓存穿透,缓存雪崩 和 缓存击穿关于缓存预热 (Cache preheating)什么是缓存预热 关于缓存穿透 (Cache penetration)什么是缓存穿透为何产…

网络安全学习路线图(2024版详解)

近期,大家在网上对于网络安全讨论比较多,想要学习的人也不少,但是需要学习哪些内容,按照什么顺序去学习呢?其实我们已经出国多版本的网络安全学习路线图,一直以来效果也比较不错,本次我们针对市…

树莓派!干农活!

农作物种植是一个需要精准操作的行业,而农业的长期趋势是朝着机械化方向发展。Directed Machines公司的土地护理机器人(Land Care Robot),基于Raspberry Pi4和RP2040构建,是解放稀缺人力资本的一种经济高效方式。 Dir…

用Matlab求解绘制2D散点(x y)数据的最小外接矩形

用Matlab求解绘制2D散点(x y)数据的最小外接矩形 0 引言1 原理介绍及实现2 完整代码及相关函数3 结语 0 引言 散点/多边形的外接图形是确定模型轮廓或姿态的一种可视化方法,也是有很大的用途的。前面已经介绍过两种简单的散点 ( x , y ) {(x,…

mysql——关于表的增删改查(CRUD)

目录 比较运算符和逻辑运算符图 一、增加(Create) 1、全列插入 2、指定列插入 二、查询(Retrieve) 1、全列查询 2、指定列查询 3、别名(as) 4、表达式查询 5、去重(distinct) 6、…

如何正确复盘带货直播间?

如何正确复盘带货直播间?其实,直播复盘可以分为四个关键步骤。首先,如果你的直播间没有人进来,核心问题往往是曝光率太低。观众不愿意点击进入你的直播间,那还谈什么卖货呢?平台也不会给予推荐流量。那么&a…

和服务端系统的通信

首先web网站 前端浏览器 和 后端系统 是通过HTTP协议进行通信的 同步请求&异步请求: 同步请求:可以从浏览器中直接获取的(HTML/CSS/JS这样的静态文件资源),这种获取请求的http称为同步请求 异步请求:js代码需要到服…

Android12_13左上角状态栏数字时间显示右移动

文章目录 问题场景解决问题 一、基础资料二、代码追踪三、解决方案布局的角度解决更改paddingStart 的默认值设置marginLeft 值 硬编码的角度解决 问题场景 1)早期一般屏幕都是方形的,但是曲面屏,比如:好多车机Android产品、魔镜…

springboot 的共享session方案?

问:springboot 的共享session方案? 参考: https://juejin.cn/post/7195227930077691963分布式之session共享问题 4种解决方案及spring session的使用_分布式session共享方案-CSDN博客 什么是 Session ? 答:因为Http协…

杂七杂八-部署框架

杂七杂八-部署框架 docker docker dockerhub:Docker发布/上传镜像到dockerhub&&下载/拉取镜像&&删除dockerhub镜像 仅个人笔记使用,感谢点赞关注 目前仅专注于 NLP 大模型 机器学习和前后端的技术学习和分享 感谢大家的关注与支持&…

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服…

STM32CubeMx学习笔记——GPIO使用

一、新建工程 1、选择芯片型号 2、配置时钟RCC 选择 HSE(外部高速时钟) 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器) ​ 3、时钟树配置 在clock Configuration中将HCLK配置为最高频率然后回车 ​ 4、选择调试模式 SYS 设置,选择 Debug 为 Serial Wire …

Qt qrc机制

文章目录 0. 前言1. qrc机制2. qrc使用 0. 前言 要设置窗口图标,就需要有图片及其图片所在路径,在本机上可能没什么问题,但是换了一个机器,路径可能不一致或者图片丢失,这就导致图片显示不出来。 Qt引入qrc机制&…

【零基础学习CAPL】——CRC值监控测试

🙋‍♂️【零基础学习CAPL】系列💁‍♂️点击跳转 ——————————————————————————————————–—— 从0开始学习CANoe使用 从0开始学习车载车身 相信时间的力量 星光不负赶路者,时光不负有心人。 目录 1.概述2.需求介绍3.算法4.逻辑判断5.测…

swift qwen2-vl推理及加载lora使用案例

参考: https://swift.readthedocs.io/zh-cn/latest/Instruction/LLM%E5%BE%AE%E8%B0%83%E6%96%87%E6%A1%A3.html#%E5%BE%AE%E8%B0%83%E5%90%8E%E6%A8%A1%E5%9E%8B https://blog.csdn.net/weixin_42357472/article/details/142150209 SWIFT支持300+ LLM和50+ MLLM(多模态大模型…

《程序猿之设计模式实战 · 装饰者模式》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…

欢迎来到我的Java世界“抽象类”

前言 在上篇中我们学习到了继承的概念、语法等等,那么小编将来为大家方享下一篇Java中的抽象类。 1.抽象类的概念 2.抽象类的语法 3.抽象类的特性 4.抽象类的作用 一:讲到抽象类,大家是不是会很迷惑什么是抽象类? 在面向对象…

安卓framework美化手势导航侧滑返回UI

文章目录 手势导航的侧滑返回效果图原生效果如下:要实现的功能,: 实现代码1. 初始化代码2. 修改绘制的代码,进行箭头与退出UI的显示3. 拖动的时候手指上下移动时,箭头ui跟着移动 以下是一些其他可以美化安卓右滑手势拖动 UI 的方法:视觉效果方面形状和布局方面 安卓…

加密软件有哪些数据防护功能?

1.文件透明加密:采用透明加密技术,自动对指定类型的敏感文件进行实时加密,确保数据在存储和传输过程中的安全性。 2.权限管理与访问控制:通过细粒度的权限管理,控制员工对敏感数据的访问权限,包括读取、修…

PHP一键约课高效健身智能健身管理系统小程序源码

一键约课,高效健身 —— 智能健身管理系统让健康触手可及 🏋️‍♀️ 告别繁琐,一键开启健身之旅 你还在为每次去健身房前的繁琐预约流程而烦恼吗?现在有了“一键约课高效健身智能健身管理系统”,所有问题都迎刃而解…