气象相关基本知识

一、风力(风速)等级表

等级    名称                               陆地上地物特征                                             风速(米/秒)

0         无风                    静,烟直上。                                                                  0.0—0.2 0

1         软风              烟能表示风向,树叶略有摇动。                                            0.3—1.5 

2         轻风     人面感觉有风,树叶有微响,旗子开始飘动,高的草开始摇动。       1.6—3.3                              

3         微风     树叶及小枝摇动不息,旗子展开,高的草摇动不息。                  3.4—5.4

4         和风     能吹起地面灰尘和纸张,树枝动摇,高的草呈波浪 起伏。             5.5—7.9                             

5         清劲风   有叶的小树摇摆,内陆的水面有小波,高的草波 浪起伏明显。 8.0—10.7                             

6         强风   大树枝摇动,电线呼呼有声,撑伞困难,高的草不时倾伏于地。  10.8—13.8                          

7         疾风       全树摇动,大树枝弯下来,迎风步行感觉不便                           13.9—17.1  

8         大风        可折毁小树枝,人迎风前行感觉阻力很大。                              17.2—20.7 

9         烈风       草房遭受破坏,屋瓦被掀起,大树枝可折断。                            20.8—24.4  

10       狂风       树木可被吹倒,一般建筑物遭破坏。                                          24.5—28.4 

11       暴风       大树可被吹倒,一般建筑物遭严重破坏。                                   28.5—32.6 

12       飓风           陆上少见,其摧毁力极大。                                                     >32.6 

 

二、风向计算

在实时显示风向时,采用16方位的方式,即将采集到的风向角度值经过16方位变换处理得到相应的方位,变换公示如下:

   K=(wd+11.25)/22.5;

其中,变量k用来表示方位,在程序设计中获取的k值为1-16的整数;变量wd为实时采集到的风向角度值。

16方位变换即将全方位360°进行16等分,则每等分为22.5°,由于采集风向数据进度为1°,所以在变换为16方位时,需要加上一个辅助值11.25,这样才能是角度值范围与方位一一对应。


气象短息发布平台,适合地市级气象局使用 private void timer1_Tick(object sender, EventArgs e) { // DateTime now = DateTime.Now; DateTime t = DateTime.Now; DateTime zhengdian = new DateTime(t.Year, t.Month, t.Day, t.Hour, t.Minute, t.Second); DateTime shijian = new DateTime(t.Year, t.Month, t.Day, 15, 50, 0); // DateTime shijian1 = new DateTime(t.Year, t.Month, t.Day); if (shijian == zhengdian) { StreamReader sr = new StreamReader("d:\\forecast\\dq1", System.Text.Encoding.Default); string chr1, chr2, fx1, fx2, fs1, fs2; string wea, wind, wins, tqxx; int tmax, tmin; string[] tq = new string[32] { "晴", "多云", "阴", "阵雨", "雷阵雨", "雷阵雨夹雪", "雨夹雪", "小雨", "中雨", "大雨", "暴雨", "大暴雨", "特大暴雨", "阵雪", "小雪", "中雪", "大雪", "暴雪", "雾", "冻雨", "沙尘暴", "小到中雨", "中到大雨", "大到暴雨", "暴雨到大暴雨", "大暴雨到特大暴雨", "小到中雪", "中到大雪", "大到暴雪", "浮尘", "扬沙", "强沙尘暴" }; string[] st = new string[7] { "拉萨", "日喀则", "那曲", "林芝", "泽当", "狮泉河", "昌都" }; string[] stnum = new string[7] { "55591", "55578", "55299", "56312", "55598", "55228", "56137" }; string[] fx = new string[10] { "", "东北风", "东风", "东南风", "南风", "西南风", "西风", "西北风", "北风", "旋转不定风" }; string[] fs = new string[10] { "", "3~4级", "4~5级", "5~6级", "6~7级", "7~8级", "8~9级", "9~10级", "10~11级", "11~12级" }; string strline = sr.ReadLine(); int i = 0, c, w1, w2; SqlConnection con5 = bc1.getcon(); con5.Open(); int rn = bc1.getrecnum("select count(*)from ybdata"); SqlCommand cmd5 = new SqlCommand(); string sqlins; while (strline != null) { chr1 = strline.Substring(0, 5); if (chr1 == stnum[i]) { chr1 = strline.Substring(6, 5); w1 = Convert.ToInt32(chr1) / 100; w2 = Convert.ToInt32(chr1) % 100; if (w1 == w2) { wea = tq[w1]; } else { wea = tq[w1] + "转" + tq[w2]; } chr1 = strline.Substring(12, 5); c = Convert.ToInt32(chr1) - 10000; if (c == 0) { wind = ""; wins = ""; } else { chr2 = c.ToString(); fx1 = fx[Convert.ToInt32(chr2.Substring(0, 1))]; fx2 = fx[Convert.ToInt32(chr2.Substring(1, 1))]; fs1 = fs[Convert.ToInt32(chr2.Substring(2, 1))]; fs2 = fs[Convert.ToInt32(chr2.Substring(3, 1))]; if (fx1 == fx2) { wind = fx1; } else { wind = fx1 + "转" + fx2; } if (fs1 == fs2) { wins = fs1; } else { wins = fs1 + "转" + fs2; } } chr1 = strline.Substring(18, 5); tmin = (Convert.ToInt32(chr1) - 20000) / 100; tmax = (Convert.ToInt32(chr1) - 20000) % 100; if (tmin >= 50) { tmin = 0 - (tmin - 50); } if (tmax >= 50) { tmax = 0 - (tmax - 50); } if (wind == "") { tqxx = "便民气象站:" + st[i] + "今晚到明天" + wea + ",气温" + tmin + "到" + tmax + "度。"; } else { tqxx = "便民气象站:" + st[i] + "今晚到明天" + wea + "," + wind + wins + ",气温" + tmin + "到" + tmax + "度。"; } rn = rn + 1; sqlins = "insert into ybdata (id,diming,yubao,time) values('" + rn + "','" + st[i] + "','" + tqxx + "','" + DateTime.Now.ToString("yyyy-MM-dd") + "')"; cmd5.CommandText = sqlins; cmd5.Connection = con5; cmd5.ExecuteNonQuery(); } strline = sr.ReadLine(); i = i + 1; if (i > 6) { break; } } // MessageBox.Show("预报文件已生成!"); con5.Close(); sr.Close(); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值