GEE中getInfo()

Google Earth Engine 可以在浏览器运行,使用JavaScipt;也可以部署到本地,使用python。这里是在网页端。

写了一个分区的程序,想单独加载每个分区,

for(var j=1;j<subroi.size()+1;++j)

{

var roi1=subroi.filterMetadata('block_id','equlas',j.toString());

Map.addLayer(roi1,{},'subroi'+j);

}

但是程序运行出来的没结果,有没有它结果都一样。

for(var j=1;j<subroi.size().getInfo()+1;++j)

{

var roi1=subroi.filterMetadata('block_id','equlas',j.toString());

Map.addLayer(roi1,{},'subroi'+j);

}

之后加了一个getInfo(),好了。

getInfo() = 把 GEE 云端的数据 → 拿到本地 Python 里变成普通变量

GEE 的所有变量(ee.Image, ee.List, ee.Number, ee.String...)都在Google 服务器上,本地 Python 不能直接读。

必须用 .getInfo() 主动把数据取回来。

getInfo() 很慢!

它会立即向 GEE 服务器发送请求,如果用在循环里、大图像上,会:

  • 卡死
  • 运行极慢
  • 甚至直接报错超时

所以不能乱用!

  • 不要在 map() 里用
  • 不要在循环里频繁用
  • 只用来调试、查看结果、获取少量信息
相关推荐
前端摸鱼匠1 天前
Vue 3 的v-bind合并行为:讲解v-bind与普通属性合并的规则
前端·javascript·vue.js·前端框架·ecmascript
REDcker1 天前
浏览器端Web程序性能分析与优化实战 DevTools指标与工程清单
开发语言·前端·javascript·vue·ecmascript·php·js
Linsk1 天前
Java和JavaScript的关系真是雷峰和雷峰塔的关系吗?
java·javascript·oracle
当时只道寻常1 天前
浏览器文本复制到剪贴板:企业级最佳实践
javascript
Alice-YUE1 天前
【js高频八股】防抖与节流
开发语言·前端·javascript·笔记·学习·ecmascript
是上好佳佳佳呀1 天前
【前端(十一)】JavaScript 语法基础笔记(多语言对比)
前端·javascript·笔记
莎士比亚的文学花园1 天前
Linux驱动开发(3)——设备树
开发语言·javascript·ecmascript
01漫游者1 天前
JavaScript函数与对象增强知识
开发语言·javascript·ecmascript
threelab1 天前
Three.js 代码云效果 | 三维可视化 / AI 提示词
开发语言·javascript·人工智能
yqcoder1 天前
JavaScript 柯里化:把“大餐”拆成“小炒”的艺术
开发语言·javascript·ecmascript