GEE如何批量导出不卡死解决方案
**GEE如何批量点run导出不卡死的解决方案**方案一:js转python将js的gee代码全部改为python,然后python运行,在这里我附上GEE JS代码转为Python的指南:https://developers.google.com/earth-engine/guides/python_install此外python还需要:1.导入包import eeee.Authenticate
·
**
GEE如何批量点run导出不卡死的解决方案
**
觉得有用的可以给个赞吗?您的支持是我创作的最大动力!
方案一:js转python
将js的gee代码全部改为python,然后python运行,在这里我附上GEE JS代码转为Python的指南:https://developers.google.com/earth-engine/guides/python_install
此外python还需要:
1.导入包
import ee
ee.Authenticate()
ee.Initialize()
2.导出影像
def exportImage(image, region, filename, year):
task_config = {'folder': 'images_doys_' + str(year),'scale': 30,'region': region, 'maxPixels': 1e13,'crs': 'EPSG:4326'}
task = ee.batch.Export.image(image.toInt16(), filename, task_config)
task.start()
3.其余部分直接根据指南依据语法差异转过来就行
方案二:js代码批量点run导出
js导出这块,有好几个大佬已经给出了js的导出代码,但是如果导出太多,容易卡死,解决方案:导出指定个数(比如100)后,睡眠一段时间,继续点击导出即可,这里我设置的个数为100个,时间间隔为1分钟也就是60000ms,可根据需求自己设定。
var timer=null
function runTaskListAndConfirm() {
var tasklist = document.getElementsByClassName('awaiting-user-config');
if(tasklist.length <100){
for (var i = 0; i < tasklist.length; i++)
tasklist[i].children[2].click();
var ok = document.getElementsByClassName('goog-buttonset-default goog-buttonset-action');
for (var i = 0; i < ok.length; i++)
ok[i].click();
clearInterval(timer)
}
else
{
for (var i = 0; i < 100; i++)
tasklist[i].children[2].click();
var ok = document.getElementsByClassName('goog-buttonset-default goog-buttonset-action');
for (var i = 0; i < ok.length; i++)
ok[i].click();
}
}
timer = setInterval(runTaskListAndConfirm,60000)
更多推荐
已为社区贡献1条内容
所有评论(0)