google earth engine随缘学习(十八)批量上传图像到Assets

之前做本地图像的批量上传,一直用的是按键精灵的挂机脚本,但是该方法有不少缺点,最明显的缺点就是频繁上传图像时浏览器会卡顿导致脚本出错,因此还是需要有人在旁边随时调整脚本。

今天尝试的利用python的geebam包来批量上传图像

1. geebam安装

geebam的GitHub链接 https://github.com/tracek/gee_asset_manager

先下载后用cmd命令行安装(我存在e盘里)
google earth engine随缘学习(十八)批量上传图像到Assets_第1张图片

(注:中间提示缺什么包直接用pip安装上就好了)(pip install 包名==包的版本号)

2. 修改设置

这个代码一开始是通chromedriver获取GEE用户的Cookie,但是新版本的google并不支持在自动代理的情况下登录Google账号,第三步运行过程会报如下的错误:
google earth engine随缘学习(十八)批量上传图像到Assets_第2张图片

解决方法如下:

  1. 确保你google浏览器登陆过你GEE账号,然后直接利用该浏览器的用户配置,跳过登录页面直接登录。
  2. 查看谷歌浏览器用户配置的保存地址,我的是C:\Users\PIKACHU\AppData\Local\Google\Chrome\User Data,这里PIKACHU是我电脑的用户名。
  3. 打开包存放目录里gee_asset_manager文件的session.py文件,做如下修改:

options.add_argument(r"user-data-dir=C:/Users/PIKACHU/AppData/Local/Google/Chrome/User Datas");
google earth engine随缘学习(十八)批量上传图像到Assets_第3张图片

3.批量上传

在之前保存的路径里运行该语句,执行E:/sim文件夹下的图片批量上传

python geebam.py upload -u [email protected] --source E:\sim --dest users/xiazilong123/hello --nodata 222

google earth engine随缘学习(十八)批量上传图像到Assets_第4张图片
打开gee时已经上传结束了~在这里插入图片描述

4.准备图像的元数据(需要的话)

首先我们需要提前新建一个csv表格,格式如下:
id是图像名称,其他属性代表什么大家也能看的懂。
google earth engine随缘学习(十八)批量上传图像到Assets_第5张图片
但是这个包已经很久没更新了,里面的key名例如system:time_start都已经过时,这个时候运行第五步就会出现key不能含有“:”的错误。关于key的正确写法如下:

system:time_start 改成 time_start
system:time_end 改成 time_end
金字塔采样方式key为pyramiding_policy
assets里图像名称key为asset_id
投影key为crs

5.上传含有元数据的图像

google earth engine随缘学习(十八)批量上传图像到Assets_第6张图片

更多操作参数(批量删除等)说明请参阅GitHub链接 https://github.com/tracek/gee_asset_manager

你可能感兴趣的:(小白的GEE学习)