Google Earth Engine(GEE)——错误Cannot read property ‘getValue‘ of undefined

在Google Earth Engine (GEE) 中遇到'getValue' of undefined错误。问题源于尝试从未定义的对象中读取属性。文章指出在加载图层时,不需要对ui.select的选项使用getValue(),只需设定条件即可。错误本质是理解函数作用的问题。解决方案是正确使用ee.Terrain.slope函数,并给出修正后的ui.Select函数示例,实现了根据选择加载不同图层的效果。
摘要由CSDN通过智能技术生成

Line 5: Cannot read property 'getValue' of undefined

问题:创建了一个简单的 ui.select() 菜单,并希望应用程序在选择时加载所需的图层。这是我的代码,此代码不起作用,第二件事是我不想执行 if else 语句,而是有任何其他函数可以加载所选图层。

我们出现以上的错误的情况下千万别着急,我们首先来看一下出错误的代码:

var SRTM = ee.Image("CGIAR/SRTM90_V4");

var slope = ee.Terrain.slope(SRTM);

function changeLayers(x){
  // get value from list
  var value =   x.getValue();
  if(value=="SRTM"){
    Map.addLayer(SRTM);
  }
  else if(value=="Slope"){
    Map.addLayer(slope)
  }
}
var select = ui.Select({
  items: ee.List(['SRTM','Slope']), placeholder:'Select',onChange:changeLayers()})
Map.add(select)

本次用到的数据集是航天飞机雷达地形任务(SRTM)数字高程数据集最初是为了在接近全球范围内提供一致、高质量的高程数据。这个版本的SRTM数字高程数据已经过处理,以填补数据的空白,并方便使用。

本次的主要目的是为了将其两个图层的信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

此星光明

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

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

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

打赏作者

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

抵扣说明:

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

余额充值