当前位置: 首页> 房产> 建材 > GEE 迭代删除谷歌资产文件夹

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

时间:2025/7/10 17:49:22来源:https://blog.csdn.net/ThsPool/article/details/142219462 浏览次数:0次


在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

关键字:GEE 迭代删除谷歌资产文件夹

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: