“请问大家在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();
好了,最后我的答案是按常规估计是不能的,到底能不能呢?不知道!感谢梁助的指正。。。