基于python和google earth engine的MODIS数据质量控制————以MOD11A1为例-CSDN博客https://blog.csdn.net/VictoriaLy/article/details/130259754主要参考了以上2篇blog。
第一篇的代码正确,可以直接用。
第二篇的代码有1个地方需要修改,见下图。
修改原因:in_Array里的nan值,如果不处理,直接进行np.array(in_Array,dtype = np.uint16),nan会被转为0。在接下来筛选gooddata时,0(10进制)转为二进制是00,nan值被当作了gooddata,这是不对的。
另外,还要搞懂QC图层,每个像素值的含义:
python代码里,把十进制转为16位2进制之后,不足16位的是向左边补零直到满足16位。例如:11(十进制)转为二进制:1011,16位2进制就是:0000000000001011。
MCTK里转出数据时,选择double precision,导出的数据类型是float 64.但是,在提取QC掩码的时候,使用的值实际上是整型的。所以MCTK里也写了,先用double precision导出数据,接着就转为uint 16. 所以,float 64虽然有很多小数位,但都是0,即实际只用到了整数位。