有时候我们下载的数据可能因为遥感影像采集时间不同,下载的数据需要拼接。所以在这里给大家一个GEE代码,可以直接下载按月份拼接的遥感影像。比如,将2021年3月的不同景的数据按最大值合成且拼接在一起。此代码可以下载2014年-2020年每个月的数据,且按照矢量边界裁剪。方便了下载数据的繁琐过程。当然也可能有一些莫名的错误,希望大家指正,欢迎讨论。
(此代码没有去云,读者可以根据需要自行加入)
一、批量下载
结果如图所示
批量下载代码
版本2.0
源代码:
https://code.earthengine.google.com/ee57dcf1354d86bbd1418e48b98a2761?noload=true
var roi = table;
for(var i=2019;i<=2020;i++){
for(var j=1;j<=12;j++){
var data_collection = imageCollection.filter(ee.Filter.calendarRange(j, j,'month'))
.filter(ee.Filter.calendarRange(i, i, 'year'))
.map(function(img) {
return img.set('year', img.date().get('year'));
}).filterBounds(roi);
var HY_collection = data_collection.max().clip(roi)
print(data_collection,i+"_year_"+j+"_month");
Map.addLayer(HY_collection,{},i+'-'+j);
Export.image.toDrive({
image: HY_collection,
description: i+'-'+j,
crs: "EPSG:32649",
scale: 30,
region: roi,
maxPixels: 1e13,
folder: 'ShanXi'
})
}
}
Map.addLayer(roi,{},'hengyang Boundary');
版本1.0
源代码:
https://code.earthengine.google.com/0b36b131830d748366bd94c50e65f0a6?noload=true
var HY = table.filterBounds(point).geometry();
for(var i=2014;i<=2020;i++){
for(var j=1;j<=12;j++){
var data_collection = imageCollection.filterDate(i+'-'+j+'-01',i+'-'+j+'-28').filterBounds(table);
var HY_collection = data_collection.max().clip(HY)
print(data_collection);
Map.addLayer(HY_collection,{},i+'-'+j);
Export.image.toDrive({
image: HY_collection,
description: i+'-'+j,
crs: "EPSG:32649",
scale: 30,
region: table,
maxPixels: 1e13,
folder: 'ShanXi'
})
}
}
Map.addLayer(table,{},'hengyang Boundary');
二、一键导出
第一步:生成导出任务,显示了运行按钮。
第二步:
按F12进入控制台,然后将这些脚本粘贴到其中,然后按输入。
第三步:所有任务都将自动启动。
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();
三、一键取消所有上传任务
使用GEE导出运算结果到drive中,如果代码有误需要取消上传任务,下面的代码可以部分实现
一键取消所有上传任务
。
function runTaskList() {
var tasklist = document.getElementsByClassName('indicator');
for (var i = 0; i < tasklist.length; i++)
tasklist[i].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();
版权声明:本文为qq_35591253原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。