MICAPS气象数据产品小程序
(二)MDFS站点数据格式转换
作者:樊仲欣,审核:吕晶晶,发布:胡汉峰
前面”MDFS站点数据读写”讲了如何读入写出json(JavaScript Object Notation)的文件格式数据,该格式的优点在于缺测数据不出现从而能够减小站点数据文件的体积(在高时空分辨率的站点观测情况下减小数据文件体积具有重要意义),但是缺点也很明显就是不便于数据的检索,因此本篇解决将json格式数据转换为易于解读的二维表格,并输出到文件的问题。数据仍旧使用地面填图资料,并分为matlab和python两个篇幅进行介绍。
一、matlab篇
matlab中使用json2mat函数(json2mat程序包)已经将json文件转换为了两层嵌套的结构体(struct)数据结构,因此接下来需要对其进行遍历并逐个将数据填入二维表中(缺测数据用9999表示),其中字段名已存在的只要填入气象要素信息,而字段名不存在的则要按其数字大小排序插入二维表,排序的目的是为了保证字段顺序的稳定性以便于后期的检索。
附属源代码(matlab2019b):https://etcme.nuist.edu.cn/zlxz/cygjxz.htm
二、python篇
python中使用demjson3.decode函数(demjson3程序包)已经将json文件转换为了两层嵌套的字典(dict)数据结构,但由于其不具备matlab方便的数组越界赋值特性,因此要两遍遍历字典,第一遍提取所有的字段名并排序,第二遍逐个将气象要素信息填入二维表中(缺测数据用9999表示)。
附属源代码(pycharm2021.2.1):https://etcme.nuist.edu.cn/zlxz/cygjxz.htm