物联网实验报告..doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 7 气象信息与网络技术课程设计 地面/探空电报码以文件形式存放,固定为8.3格式。地面电报码文件格式是:AAXXmmdd.Thh,探空电报码文件格式是:TTAAmmdd.Thh。其中AAXX表示地面报;TTAA表示探空报;mm表示月份,用2位数字01~12;dd表示日,用2位数字01~31;hh表示时次,用2位数字,地面有00、03、06、09、12、15、18、21共8个时次,探空有00、06、12、18共4个时次,都用世界时。地面/探空电报译码数据流图如图1所示。 地面/探空电码文件 地面/探空电码文件 电码译码系统 各天气资料要素 图1 电码译码系统数据流图 地面/探空电报译码程序总流程图 根据电码文件名是8.3格式,并且与月日时次形成固定关系,因此可以采用输入年月日时次的数据来组合文件名。地面1~4位固定为“AAXX”,探空1~4位为“TTAA”,5~6位为2位数月份,7~8位为2位数日,9~10位为固定为“.T”,11~12位为2位数时次。 地面/探空电报译码程序流程图如图2所示,读取文件,找到指定台站的位置,并读取指定台站的电码到一个字符串数组中,然后传递给地面或探空处理程序继续处理,分解出天气各要素。最后显示结果。 开始 开始 输入年月日世界时及台站号 输入选择地面或高空 文件存在? N Y 读取电码文件 结束 显示出错信息 根据年月日世界时组成文件名 指定台站号? 文件结束? Y N N 地面/高空? Y 地面处理程序 高空处理程序 高空 地面 图2 电码译码系统程序流程图 详细设计 将已打开的电码文件数据分解,将第0-4个字符赋值给台站号,第6-10个字符赋值给iRiXhVV,iRiX指示码,本次不要译码,h——最低的云底部高度(米),VV—有效能见度(千米),第12~16字符赋值给Nddff,N—总云量,指观测时云遮蔽天空视野的总成数,dd —风向,以10度为单位编报。静风时,dd编报00。 ff—风速,以米/秒为单位进行编报。并将这些信息显示出来。 给K赋初值为16,利用数组分别对后面的数据进行译码,按照图示所示顺序,每次译码后K加6,直到K的值大于数组长度N结束地面译码。 地面各要素 地面各要素 地面各要素入口 k=18 N Y 返回 kn? 第k字符为 1 2 3 4 5 6 7 8 9 气温 露点 本站气压 海平面气压 气压趋势 降水量 天气现象 发报时间 云状 k=k+6 分解已读入的这一行字符串。第0~4字符→台站号IIiii; 第6~10字符→iRiXhVV;第12~16字符→Nddff 图3译出地面各要素功能流程图 将已打开的报文资料进行分解,第0~11字符不用,第12~16字符赋值给台站号,并显示出来,给变量K赋初值为18,对气压进行译码,分别将数组第K和第K+1个字符与99,00,92……20,15,10进行比较,若相等则对第K+2-K+4个字符进行相应处理,得到相应的本组气压位势米,然后依次对气温,露点温度差,风向,风速译码,将变量K+18赋值给K,进行下一组译码,直到K〉n,结束本次探空译码。 探空各要素 探空各要素 地面各要素入口 k=18 分解已读入的这一行字符串。第0~11字符不用;第12~16字符→台站号 N Y 返回 kn? 第k:k+1字符为 99 92 00 85 70 50/40 20/15/10 地面 925hPa 1000 hPa 850hPa 700hPa 500/400 300/250 30/25 200/150/100 分别译出气压,温度,温度露点差,风向风速。k=k+18 图4译出探空各要素功能流程图 编码设计 利用计算机高级语言对程序流程图进行编程,采用C语言编程。 #include stdio.h // 程序中要用到输入/输出函数 #include string.h // 程序中要用到字符串处理函数,如strlen、strcpy等 int str2int(char *ch,int k,int n); // 对字符串从k位置开始,长度为n的子字符串转 // 换为整型值。对于含有非数字字符,则返回-1 void dmdisp(char *ch); // 对字符串ch进行地面译码的功能函数 void updisp(char *ch); // 对字符串ch进行高空译码的功能函数 void main(void) // 主控程序入口 {

文档评论(0)

586334000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档