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

news2024/11/13 10:13:23


在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.coloradmin.cn/o/2132313.html

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

相关文章

3个方法教大家如何在Excel表格中添加水印

在Excel表格中添加水印是一种常见的需求,但是Excel并没有像word文档一样的直接添加水印的功能,怎么办? 今天小编来分享一个方法,也能实现Excel表格的添加水印~ 一、使用文本框插入文字水印 1、插入选项卡 进入excel的操作界面&…

Google大数据架构技术栈

数据存储层 Colossus Colossus作为Google下一代GFS(Google File System)。 GFS本身存在一些不足 单主瓶颈 GFS 依赖单个主节点进行元数据管理,随着数据量和访问请求的增长,出现了可扩展性瓶颈。想象一下,只有一位…

攻防世界 CTF Pwn(一)

前言 攻防世界是一个专注于网络安全的在线学习和竞赛平台,由赛宁网安推出,旨在为网络安全爱好者提供丰富的学习资源和实战竞赛环境。该平台自2018年9月推出以来,已经吸引了超过18万用户注册使用,月活跃用户超过5万。 平台的主要…

BBOT:一款递归型互联网OSINT资源情报工具

关于BBOT BBOT是一款递归型互联网OSINT资源情报工具,该工具深受Spiderfoot项目的启发,旨在自动化侦察、漏洞奖励项目和ASM。 功能介绍 1、支持多个目标 2、网页截图 3、 Web安全测试模块套件 4、由 NLP 提供支持的子域名变异 5、Neo4j 的本机输出&#…

【LeetCode】每日一题 2024_9_13 预算内的最多机器人数目(滑动窗口、单调队列)

LeetCode 启动! 每日一题的题解重新开始连载! 题目:预算内的最多机器人数目 题目链接:2398. 预算内的最多机器人数目 题目描述 代码与解题思路 func maximumRobots(chargeTimes []int, runningCosts []int, budget int64) (an…

【微服务】Ribbon(负载均衡,服务调用)+ OpenFeign(服务发现,远程调用)【详解】

文章目录 1.Ribbon(负载均衡,服务调用)1.1问题引出1.2 Ribbon负载均衡1.3 RestTemplate整合Ribbon1.4 指定Ribbon负载均衡策略1.4.1 配置文件1.4.2 配置类1.4.3 定义Ribbon客户端配置1.4.4 自定义负载均衡策略 2.OpenFeign面向接口的服务调用…

【计算机网络】HTTP相关问题与解答

此篇文章内容会不定期更新,仅作为学习过程中的笔记记录 目录 一、HTTP请求和响应报文是怎样的? 1、请求报文 2、响应报文 二、HTTP请求方法有哪些? GET HEAD POST PUT DELETE PATCH OPTIONS TRACE CONNECT 三、GET请求与POST请…

Day 不知道是几|贪心算法part1

贪心算法 贪心算法一般分为如下四步: 将问题分解为若干个子问题 找出适合的贪心策略 求解每一个子问题的最优解 将局部最优解堆叠成全局最优解 这个四步其实过于理论化了,我们平时在做贪心类的题目 很难去按照这四步去思考,真是有点“鸡肋”。…

c++中模版进阶和继承

类型参数非类型模版参数 //类型参数非类型模版参数 template<class T,int N> class Array { public:Array() {} private:T _a[N]; }; int main() {Array<int, 100> a1;return 0; } 注意&#xff1a; 1. 浮点数、类对象以及字符串是不允许作为非类型模板参数的。…

【兼容性记录】video标签在 IOS 和 安卓中的问题

业务需求背景&#xff1a;由于业务中涉及到有视频播放的内容&#xff0c;所以就使用了 video 标签去做&#xff0c;但是 video 标签在 ios 设备和安卓设备中的默认行为不一致&#xff0c;故记录下解决方法&#xff08;折中办法&#xff09;。 ios 自动全屏 ios 设备点击播放视频…

STC分散文件加载

一、什么是分散加载文件&#xff1f; 分散加载文件通常以.sct结尾&#xff0c;英文名是&#xff1a;Linker Control File, scatter loading&#xff0c;链接器根据这个文件的配置来分配各个节区的地址空间&#xff0c;并且生成分散加载代码&#xff0c;因此我们只要修改分散加载…

另一款插件开发中......

欢迎插眼&#xff01;&#xff01;&#xff01; 一款关于源码阅读和笔记记录的插件。发个图&#xff0c;还在开发中......Command Assist的难点是第一次接触IDEA插件&#xff0c;不管是项目工程结构&#xff0c;还是开发发布流程都比较陌生&#xff0c;然后是功能点里面的终端…

编码规范之注释、条件语句中限制代码行数和避免硬编码

对于软件开发管理来说&#xff0c;制订编码规范是一个历久弥新的话题。每一个大有为开发头目&#xff0c;都强调编码规范。或者程序员也互相攻讦&#xff08;jie&#xff0c;第二声&#xff0c;阳平&#xff09;&#xff0c;说你写的代码很乱&#xff0c;不规范&#xff0c;很难…

黑马JavaWeb开发笔记16——请求(postman、简单参数、实体参数、@RequestParam映射)

文章目录 前言一、postman工具1. 引入2. 介绍3. 安装4. 使用 二、简单参数1. 原始方式&#xff08;仅了解&#xff0c;以后的开发不会使用&#xff09;2. SpringBoot方式3. 参数名不一致(RequestParam映射) 三、实体参数1. 简单实体对象2. 复杂实体对象 总结 前言 本篇文章是2…

[CocosCreator]全栈接入微信支付宝SDK(V3)

原文再续,书接上一回!上一期我介绍了接入支付宝的SDK,本文就来讲讲微信的SDK接入.还是那句话,官方的文档,我只能用一句话形容:一言难尽!本屌还是一如既往,把"恶心的东西"嚼碎了喂给各位宝吃. 一.前言 首先还是要集齐可以召唤神龙的法器,给大家一一列举一下: 1.…

python学习第十节:爬虫基于requests库的方法

python学习第十节&#xff1a;爬虫基于requests库的方法 requests模块的作用&#xff1a; 发送http请求&#xff0c;获取响应数据&#xff0c;requests 库是一个原生的 HTTP 库&#xff0c;比 urllib 库更为容易使用。requests 库发送原生的 HTTP 1.1 请求&#xff0c;无需手动…

Notepad++插件:TextFX 去除重复行

目录 一、下载插件 TextFX Characters 二、去重实操 2.1 选中需要去重的文本 2.2 操作插件 2.3 结果展示 2.3.1 点击 Sort lines case sensitive (at column) 2.3.2 点击 Sort lines case insensitive (at column) 一、下载插件 TextFX Characters 点【插件】-【插件管理…

unity编辑器c#脚本

目录 1.编辑器窗口再介绍 1.1添加对象 1.2文件夹的管理 1.3参数的设置 1.4对象的移动方式 2.对于外形和材质的修改 2.1对于外形的修改 2.2对于材质的修改 3.添加有趣的组件 3.1如何添加组件 3.2添加刚体组件 3.3碰撞器的介绍 3.4添加c#组件 3.5c#脚本代码的说明 1…

通过知识蒸馏提升大模型训练效率

人工智能咨询培训老师叶梓 转载标明出处 随着模型规模的不断扩大&#xff0c;如GPT-4这样的模型拥有约1.7万亿参数&#xff0c;其预训练所需的巨大能源和计算资源引发了对可持续发展AI解决方案的迫切需求。麦吉尔大学的研究团队介绍了一种创新的方法来解决与LLMs预训练相关的效…

MySQL5.7基于mysqldump、xtrbackup、innobackupex工具进行全量备份/恢复、增量备份/恢复

mysql全量备份脚本 文章目录 前言一、数据库备份分类二、为什么需要备份&#xff1f;三、备份工具示例1.逻辑备份工具1.1.使用场景1.2.备份操作示例1.3.恢复操作示例 2.物理备份工具2.1.xtrbackup介绍2.2.使用场景2.3.安装percona-xtrabackup2.4.xtrbackup备份原理2.5.percona-…