在网上一直没找到一个明确说怎么用MOD35产品的,都是说去看用户手册,第一次看了过一段时间我又忘记怎么搞了,赶紧记下来。
而且现在才发现第一次自己搞的都弄错了。
简单的判断是否是云,只要读取mod35产品的 cloud mask 数据集,其中的第一个波段就可以。
第一次用直接判断像素值是否大于128,因为看到产品说明书里 bit 0 的值代表是否 determined,以为是1就说明确定是云了。
现在才发现这是错上加错,
首先第一个byte的8个bit数据,bit 0代表的是最末尾的那个,而不是第一位,即他是决定是0还是1,而不是128还是256。是 xxxxxxx0,不是 0xxxxxxx。
第二个错误是,bit 0 代表的是算法对这个像元的判断是否确定,一般来说都是1,如果是0这个像元其他的值都没用了。那到底要看哪个呢,仔细再阅读了一遍
要读的是bit 1和2,也就是上表里分的四种情况,显示的是一个判断准确率,可能是0,0.33,0.67,1这样分的。所以重点来了,读第一个波段的 xxxxx00x,判断里面00代表的两位,是11就是最高等级的无云了。当然也可以读一下最后一位bit0,如果是0就没意义了,是缺失值。