GEE高速下载 GEE快速下载 GEE本地下载 GEE批量下载 Python本地快速下载GEE数据(比网页版保存到网盘再下载快几十到百倍,尤其是在下载几十年的长时间系列数据时,速度提升更加明显)

5 篇文章 14 订阅

前言

可根据研究区直接裁剪数据以及进行一些计算处理后再下载,GEE成为了大家下载数据的重要途径,然而直接通过官网网页将数据先保存到网盘再下载的下载方法速度太慢,新号速度还好,越用速度越来越慢,本文提供了一种直接通过Python将数据直接下载到本地的方法,速度亲测大概为前者的几十倍到百倍该种方法适用于单个数据小于32M的情况,不知道为什么批量下载的代码每次运行只能运行1小时,可能是gee限制。

通过该代码可以学习到:

Python gee本地下载影像

Python多线程处理   大幅度提高科研效率,节省时间

如何在jupyter中运行py

如何在jupyter中使用多线程

一、环境配置

首先需要配置GEE本地Python开发环境,安装吴秋生老师的geemap库会自动安装gee相应的环境,比较简单方便,安装教程:Installation - geemap

此外还要安装几个python库:requests(访问网页)、retry(代码多次尝试)、multiprocessing(多线程)。

二、代码准备

主要需要编写两个代码:

download.py 这是主要代码,直接运行需要开通什么云计算平台,配置有些麻烦,尝试了几天没有成功,但是在jupyter中运行这个代码不需要开通云计算平台。这里也许有朋友要问了,直接用jupyter写Python代码不就好了吗,为什么要多此一举先写个.py再用jupyter调用?因为我们使用了多线程,jupyter中不能调用multiprocessing,其中的坑。。。。很多,我也是尝试了很久试出了现在的方法,唉,一言难尽。

download.ipynb 这个是通过jupyter来运行download.py

此处以下载近20年的ERA5-LAND雪深数据为例,代码下载地址见文末:

60fd030048d044ec88811014c6591816.png

三、下载操作

准备好环境和代码后,就可以进行下载操作了,我使用的是anconda来管理的python包。

1.激活anconda的GEE环境

在anconda prompt 中输入 conda activate xxx(环境名称),激活并进入了配置的gee环境。

2.进入代码的文件夹

我的代码放在了D盘,首先键入“D:”回车,进入D盘,再键入“cd D:\geedownload”代码文件夹路径,回车进入文件夹

3.打开jupyter

键入 jupyter lab 打开jupyter,打开download.ipynb

4.运行jupyter 

运行到这

#登录谷歌账号,有一些操作
ee.Authenticate()
ee.Initialize(opt_url='https://earthengine-highvolume.googleapis.com',project='xxxxxxx')

会有一些登录认证GEE账号的操作

需要一个验证码,然后界面会跳转到 

c49d33f97da241e09fe85a4d29aeca0b.png

 创建或者选择一个已存在的项目,操作很简单

59a0944d74ee4e44b515f9d68fc51927.png

 点击这个按钮

6fd16288b7274b8baba309427dd5b5d7.png

这些复选框全选上,继续

e52b08cca50b4f38b02e43e2eb839579.png

 将授权码复制到jupyter,回车,就认证完成了

运行  %run download.py就可以下载了,由于使用了多线程,界面内没有输出,可以去下载的文件夹或者anconda prompt 界面看看,在飞速地下载,我的下载范围为青藏高原,一分钟大概下载了140天的数据。

70225515b2a34634a1ede0f24e07b297.png

 本文为原创文章,探索了很久的下载方案,请大家尊重劳动成果与版权,文章和代码请勿随意转载!

代码亲测可用,测试时间20240720,代码请见xy   geedownload

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要使用Python本地快速下载Google Earth Engine(GEE数据,可以按照以下步骤进行操作: 1. 安装Earth Engine Python API: 首先,确保已安装Python和pip。然后,在命令行中运行以下命令来安装Earth Engine Python API: ``` pip install earthengine-api ``` 2. 进行身份验证: 在使用API之前,需要进行身份验证。在命令行中运行以下命令进行身份验证: ``` earthengine authenticate ``` 这将打开一个浏览器窗口,让你登录到Google账号,并授权Earth Engine访问权限。完成授权后,你将获得一个身份验证令牌。 3. 在Python脚本中导入必要的库: 在Python脚本中,首先导入所需的库,包括`ee`库和`geemap`库,如下所示: ```python import ee import geemap ``` 4. 初始化Earth Engine: 在脚本的开头,使用以下代码初始化Earth Engine: ```python ee.Initialize() ``` 5. 下载GEE数据: 使用以下代码下载GEE数据: ```python # 创建一个地理区域对象 region = ee.Geometry.Rectangle([xmin, ymin, xmax, ymax]) # 替换为你感兴趣的区域坐标 # 选择要下载的图像集(例如Landsat) collection = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA') # 替换为你想要的图像集 # 过滤图像集,选择间范围和地理范围 filtered_collection = collection.filterBounds(region).filterDate('2010-01-01', '2020-12-31') # 下载图像集 geemap.ee_export_image_collection(filtered_collection, out_dir='path/to/save', scale=30) ``` 在上述代码中,你需要替换`xmin`、`ymin`、`xmax`、`ymax`为你感兴趣的地理区域的坐标。`collection`变量是指定要下载的图像集,你可以根据需求更改其名称。`filtered_collection`变量用于过滤图像集,可以根据需要设置间范围和地理范围。最后,使用`geemap.ee_export_image_collection()`函数将图像集下载到指定的目录中。 这些步骤将帮助你使用Python本地快速下载GEE数据。你可以根据自己的需求进行修改和扩展。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DP+GISer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值