matlab for 循环中怎么做到只取其中一个数_GEE能循环遍历图像的每个像元吗?

“请问大家在GEE是不是可以循环遍历每个像元呢?”到底能不能呢???

针对一位同学的问题,我来写一段自己的理解,希望帮这位同学解惑。我想她想知道的是怎么可以实现循环遍历,比如matlab和idl中逐象元循环遍历一幅影像时,是预先获取影像的行列数,把它读取进二维数组,然后应用两个for循环操作运算。但是实际上遥感数据处理程序IDL内置了很多函数,据说能够进行并行运算,比如我想对一副图像中所有的空值赋值为-9999。

那么我们可以这么操作:

img[where(img eq NaN)]=-9999

这句代码的意思是将影像中的Nan值全部替换成-9999。

其实GEE也是类似的思路,因为是服务器并行处理需要,

var FixedRaster =NullMask.not().multiply(image).add(NullMask.multiply(ee.Image(-9999)));

其中NullMask是空值的mask,值为0或者1;image是原图像;ee.Image(-9999)新建一个值为-9999的常数图像。

NullMask可以这么获取:

var NullMask=image.mask(); 

好了,最后我的答案是按常规估计是不能的,到底能不能呢?不知道!感谢梁助的指正。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值