读取SMAP h5文件【Matlab】
h5info('.\Data\h5_SMAP\SMAP_L3_SM_P_20200705_R18290_002.h5')
sm = h5read('.\Data\h5_SMAP\SMAP_L3_SM_P_20200705_R18290_002.h5',...
'/Soil_Moisture_Retrieval_Data_AM/soil_moisture');
由hdfinfo函数输出的内容可知, SMAP产品内包含了’retrieval_qual_flag’和’surface_flag’两个质量层。
Retrieval Quality Flag
- SMAP产品的质量层为4位二进制:即Bit 0为0,Bit 1为0,Bit 2为0,Bit 3为1(二进制是从右往左读的)。
- 'retrieval_qual_flag’等于0(二进制为“0000”)或等于8(二进制为“1000”)都表示着高质量反演值(8意味着第3位为1,冻融状态不影响土壤水分的反演)。
% 反演质量评估(Retrieval Quality Flag)
sm_q = h5read('.\Data\h5_SMAP\SMAP_L3_SM_P_20200705_R18290_002.h5',...
'/Soil_Moisture_Retrieval_Data_AM/retrieval_qual_flag');
sm( ~(sm_q==0 | sm_q==8) ) = nan;
Surface Flag
-
在’retrieval_qual_flag’中,如果Bit 0是1(表示不推荐),但Bit 1和Bit 2都是0(表示有反演值),这时就需要用到’surface_flag’来分析为何该像元反演值被判定为不推荐的质量。
-
根据使用需求,如果是进行的干旱监测,像植被覆盖这一类性质的标签,在耕地像元上,随着农作物的生长,该像元很容易被标记为Dense Vegetation,从而被标记为不推荐质量,那么就会出现农作物快速生长时期的SMAP土壤水分数据全部为不推荐质量的情况。而正常来说应该得保留Dense Vegetation标签下的土壤水分值以方便应用,虽然在Dense Vegetation状态下土壤水分反演的精度会降低。
位操作
一般使用右移和且操作对二进制质量标记文件进行处理。
参考以下链接:
1: https://zhuanlan.zhihu.com/p/509831019
2: https://blog.csdn.net/tk20190411/article/details/106183163
3: https://zhuanlan.zhihu.com/p/28018082