gee批量下载数据&&Google Drive下载大文件

目录

Google Earth Engine 申请教程:

shp上传

数据下载代码

区域裁剪(裁剪对代码执行效率影响极大)

批量RUN

Google Drive下载大文件

Google Drive→MultCloud→百度网盘

IDM

其他

参考


在进行gee批量下载modis(NDVI)数据时,发现不同的裁剪区域(不止面积大小,还有内外边界复杂度等)对代码执行的效率极大,选择简单的区域边界可提高代码运行效率。

在google earth engine下载大文件时,由于浏览器下载限制或者网速过慢,必须采用一些其他方法。

Google Earth Engine 申请教程

Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

shp上传

Asset中上传shp时,需要上传.shp  .dbf  .shx  (.prj)  文件,有的文件.prj不需要

数据下载代码

var province = ee.FeatureCollection("users/gis418670826/province_ALL"),
    country = ee.FeatureCollection("users/gis418670826/country");



// 按区域进行裁剪
// 方法一:按(70,15)到(140,55)的矩形区域进行裁剪
//var roiChina = ee.Geometry.Rectangle(70, 15,140, 55);
// 方法二:按中国国界进行裁剪
//var roiChina = ee.FeatureCollection(country)
// 方法三:按中国省界组成国界进行裁剪
//var roiChina = ee.FeatureCollection(province);

// 方法二的改进:求包含中国国界的矩形要素
var country = ee.FeatureCollection(country).geometry()
var roiChina = country.bounds()

Map.centerObject(roiChina, 2)
Map.addLayer(roiChina)


// 设置时间范围
var timeStart = '2020-01-01'
var timeEnd = '2022-01-01'

// 选择数据
var dateSet = ee.ImageCollection('MODIS/006/MOD13A2')
                .filterDate(timeStart, timeEnd);
var images =  dateSet.select('NDVI');
print(dateSet)

// 查看数据中含有多少幅影像(NDVI是单波段),getInfo把object转化为number
var num = images.size().getInfo(); 
print(num)

// 把ImageCollection转化为List
var list = images.toList(num); 
print(list); 

for (var i=0; i<num; i++){
    // 把List转化为Image,方便一幅一幅导入云盘 
    var image = ee.Image(list.get(i));
            
    var type = image.bandNames().get(0).getInfo();
    
     // 设置每幅影像的名称
    var nameOut = ee.String(type+'_')
                    .cat(image.id().getInfo())
                    .getInfo();
    print(nameOut)
    
     // 设置输出文件夹的名称,例如NDVI_2000
   
    var time =  image.id().getInfo().substring(0, 4);
    var folder = type + '_' + time;
    print(folder);
    
    // 将数据下载到Google云盘上
    Export.image.toDrive({
        image: image, // 要下载的影像
        description: nameOut, // 下载任务描述
        fileNamePrefix: nameOut, // 文件的名称
        folder: folder, // 选择要下载到云盘的哪个文件夹
        region: roiChina, // 裁剪区域
        scale: 1000, // 分辨率,默认值是1000m
        crs: 'EPSG:4326', //坐标是坐标系84 
        maxPixels: 1e13 // 下载数据的最大像元数
    });
}


// function runTaskList() {
//     var tasklist = document.getElementsByClassName('awaiting-user-config');
//     for (var i = 0; i < tasklist.length; i++)
//         tasklist[i].children[2].click();
// }
// function confirmAll() {
//     var ok = document.getElementsByClassName('goog-buttonset-default goog-buttonset-action');
//     for (var i = 0; i < ok.length; i++)
//         ok[i].click();
// }
// runTaskList();
// confirmAll();

区域裁剪(裁剪对代码执行效率影响极大)

// 方法一:按(70,15)到(140,55)的矩形区域进行裁剪
var roiChina = ee.Geometry.Rectangle(70, 15,140, 55);
// 方法二:按中国国界进行裁剪
//var roiChina = ee.FeatureCollection(country)
// 方法三:按中国省界组成国界进行裁剪
//var roiChina = ee.FeatureCollection(province);

 这里有三个不同的范围,

一:边界平滑的矩形:                速度最快                54.8 MB                

二:中国国界                              速度较快                45.2 MB                

三:各省份组成的国界                速度很慢                45.2 MB                不推荐使用

凭感觉来说推荐第一种,因为第二种还是有零碎的面,第三种是真的慢

国界→矩形

我们可以使用bounds()得到完全包含中国国界的矩形区域

var country = ee.FeatureCollection(country).geometry()
var roiChina = country.bounds()

批量RUN

打开浏览器控制台(F12-Console),粘贴代码即可批量点击RUN

runTasks = function() {
    const evt = new MouseEvent('click', {bubbles: true, cancelable: true, ctrlKey: true})
    $$('.run-button' ,$$('ee-task-pane')[0].shadowRoot).forEach(function(e) {
        e.dispatchEvent(evt)
    })
}
runTasks()

Google Drive下载大文件

Google Drive→MultCloud→百度网盘

MultCloud:MultCloud | Best Free Multiple Cloud Storage Manager

国内可访问!!!

在云盘之间传输文件、保持两个云服务同步、在一个地方管理所有的云盘账号。

免费帐户每月获得MultCloud提供的30GB数据流量,以将文件从一个云盘传输到其他云盘。

不行就使用临时邮箱白嫖把

IDM

安装教程:IDM安装 注册 使用详细教程_哔哩哔哩_bilibili

使用教程:Google Drive(谷歌网盘)下载超大文件方法 - 知乎

注:如果是选择了多个文件之后,drive会进行自动压缩形成临时压缩包,下载的文件是没有办法进行断点续传的。

其他

Google Drive 大文件下载技巧 - 知乎

参考

Google Drive下载大文件问题解决办法_yiteeee的博客-CSDN博客

Google Earth Engine批量导出时批量点RUN_CannonJia的博客-CSDN博客

Google Earth Engine(GEE)批量下载GDDP和MODIS产品 - 灰信网(软件开发博客聚合)

  • 11
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

z6q6k6

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

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

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

打赏作者

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

抵扣说明:

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

余额充值