基于.NET的氣象信息手機網(wǎng)站建設(shè)
第32卷第1期廣東氣象V01.32No.12010年2月GuangdongMeteorologyFebruary2010dol:10.3969/j.issn.1007-6190.2010.01.Olg
第32卷第1期廣東氣象V01.32No.12010年2月GuangdongMeteorologyFebruary2010dol:10.3969/j.issn.1007-6190.2010.01.Olg
基于.NET的氣象信息手機網(wǎng)站建設(shè)
何迪,蔣國華
(清遠(yuǎn)市氣象局,廣東清遠(yuǎn)511518)
摘要:介紹基于ASP.NET技術(shù)開發(fā),面向手機用戶的WAP氣象信息手機網(wǎng)站,利用ADO.NET技術(shù)查詢包括壓、溫、濕、降水4要素的定時和逐日數(shù)據(jù),利用Photoshop軟件編程自動處理網(wǎng)站的雷達(dá)和衛(wèi)星云圖,實現(xiàn)氣象信息顯示移動化。
關(guān)鍵詞:計算機應(yīng)用;手機網(wǎng)站;氣象信息;無線標(biāo)記語言;圖片處理
中圖分類號:TP39文獻(xiàn)標(biāo)識碼:B文章編號:1007—6190(2010)01—0050—03隨著計算機技術(shù)的發(fā)展和現(xiàn)代氣象業(yè)務(wù)體系的建2手機網(wǎng)站的功能和實現(xiàn)
設(shè),氣象信息由以前的單一化變成現(xiàn)在的多元化,獲得和手機網(wǎng)站提供重要天氣要素,如溫度、濕度、氣壓和處理氣象信息的方法和工具也隨之發(fā)生變化。目前計算降水的數(shù)據(jù)查詢功能,以及雷達(dá)、衛(wèi)星云圖的圖片查看功機是最常用的處理信息的終端設(shè)備,隨著3G網(wǎng)絡(luò)的建成能(圖1)。數(shù)據(jù)查詢主要訪問地面觀測業(yè)務(wù)軟件“OSS—和普及,手機也將逐漸成為重要的獲得信息的終端設(shè)備。MO”的Access數(shù)據(jù)庫文件B文件,和自動氣象站監(jiān)控軟本文介紹如何利用ASP.NET開發(fā)基于WAP的氣象信息件“SAWSS”的文本文件z文件o“,可以利用ADO.NET手機網(wǎng)站,實現(xiàn)氣象信息顯示的移動化和無線化¨。J。訪問B文件,用順序讀取的方法訪問文本文件【81。而圖1WAP服務(wù)器的建立片查看實現(xiàn)比較復(fù)雜,因為目前GPRS網(wǎng)速較慢,而且手
手機網(wǎng)頁的開發(fā)語言為WML(Wireless機屏幕較小,不能顯示太大的圖片,因此從省氣象公共網(wǎng)
MarkupLan—
站下載的云圖和雷達(dá)圖一。…,一定要經(jīng)過處理才能被網(wǎng)
guage,無線標(biāo)記語言),WML和HTML都屬于XML語言。站利用。
可以在Pc機上用IE或Netscape等瀏覽HTML語言編寫
的內(nèi)容,而WML語言寫的文件則是專門用來顯示在手機
等一些無線終端顯示屏上HJ。由于ASP.NET開發(fā)手機
網(wǎng)站,最終輸出結(jié)果是WML或者XML格式的字符串流,
因此,服務(wù)器應(yīng)能支持WML。以WindowsServer的IIS為
例,在IIS默認(rèn)網(wǎng)站的選擇屬性,選擇“http頭”選項卡,點圖1網(wǎng)站結(jié)構(gòu)擊“MIMI映射”,在文件類型中添加以下新類型,然后重
新啟動IIS,就支持WML語言和WMLScript了。2.1數(shù)據(jù)文件的訪問
wmltext/vnd.wap.wml數(shù)據(jù)庫B文件每個月生成一個,格式為:“Bsssssmm.wmlcapplication/vnd.wap.wmlcYYY”。大寫字母“B”為標(biāo)識,SSSSS為臺站號,mm為月份,wbmpimage/vnd.wap.wbmp后綴YYY表示年,如59280站2005年1月B文件為wmlscapplication/vnd.wap.wmlscriptc“B5928001.005”。B文件內(nèi)有tabPrimobservdDatal~tab—wmlstext/vnd.wap.wmlscriptPrimobservdData4。tabPrimobservdDatal保存了各時次采WSCapplication/vnd.wap/wmlscriptc集的全部要素,其中最重要、最常用的有觀測時次,溫度、此外,網(wǎng)站服務(wù)器必須有一個固定的IP或者域名,濕度、氣壓和降水。
可以向電信部門申請,也可以租用一個服務(wù)器空間,還可ASP.NET技術(shù)基于微軟.NET平臺,數(shù)據(jù)訪問采用以用免費的“花生殼”動態(tài)IP解析軟件來實現(xiàn)。只要去ADO.NET技術(shù),包括各種數(shù)據(jù)庫的連接和命令對象、數(shù)該軟件的網(wǎng)站申請一個帳號和域名,再用此帳號登陸,該據(jù)讀取和顯示對象等。.NET平臺支持多種開發(fā)語言,包軟件就能解析本地的IP地址,并使本地IP與申請的域括c#、VB.NET、J#等,本文以VB.NET為例介紹網(wǎng)站開名相對應(yīng)。有了域名就能訪問互聯(lián)網(wǎng)上的這臺主機,通發(fā)。手機網(wǎng)站借助OLEDB類的各種對象訪問Access數(shù)過相關(guān)的配置和傳輸協(xié)議,該主機可以成為FrP服務(wù)器,據(jù)庫。數(shù)據(jù)文件訪問首先要用到數(shù)據(jù)庫連接對象OleDb—也可以成為WEB服務(wù)器等。再按照上述方法配置IIS,Connection,其主要屬性是連接字符串connectionstring。該主機就成為手機也能訪問的服務(wù)器了”“J,當(dāng)然還需連接成功后使用OleDbCommand對象查詢讀取B文件,要一部能夠上網(wǎng)的手機進行測試。該對象初始化時有兩個參數(shù):SQL語句和數(shù)據(jù)庫連接對收稿日期:2009—06—20作者簡介:何迪(1982年生),男,助理工程師,學(xué)士,主要從事地面氣象測報工作。萬方數(shù)據(jù)
,第1期何迪等:基于.NET的氣象信息手機網(wǎng)站建設(shè)
51
象。查詢各時次4要素的SQL語句和程序代碼如下:
Me.OleDbCommandl.CommandText=“SELECTObserv—
TimesAS觀測時次,DryBulbTempAS干球溫度,RelHu-midity
AS相對濕度,StationPressAS本站氣壓,RRRAS各
時降水WHEREObservTimes=…&pm&“”’,其中參數(shù)pm表示查詢的時間條件。執(zhí)行該語句后定義一個OleD—bDataReader數(shù)據(jù)讀取對象daytj,存儲OleDbCommandl所查詢的結(jié)果,最后用daytj的Read方法讀出查詢結(jié)果‘”15|。
2.2圖片的下載和處理
手機網(wǎng)站利用省氣象公共網(wǎng)上的雷達(dá)和衛(wèi)星云圖,下載和處理應(yīng)該是實時的,而手機的訪問是不定時的。為了減輕服務(wù)器負(fù)擔(dān),縮短服務(wù)器響應(yīng)時間,需另外開發(fā)一個程序來實現(xiàn)圖片的下載和處理。
1)通過對MSXML2.XMLHTI'P.3.0對象編程實現(xiàn)圖片下載。XMLHTYP對象是AJAX技術(shù)的核心部件,它的主要方法和屬性有Open、Send和Responsebody:Open方法為創(chuàng)建一個新的http請求,并指定此請求的方法、URL以及驗證信息;Send方法發(fā)送請求到http服務(wù)器并接收回應(yīng);Responsebody屬性返回某一格式的服務(wù)器響應(yīng)數(shù)據(jù)。另外,還要用到Timer控件根據(jù)圖片的文件名格式不斷產(chǎn)生圖片文件名稱,并根據(jù)網(wǎng)站地址拼接成對應(yīng)的URL地址;然后利用XMLHTYP對象向URL地址發(fā)送請求并接收Responsebody屬性返回的數(shù)據(jù);最后保存這些數(shù)據(jù)為圖片格式文件,如gif即可。
2)圖片處理可用.NET的Draw對象來實現(xiàn),但要控制圖片的尺寸和大小,效果并不理想。可以通過引用Photoshop軟件的Interop.Photoshop.dll建立Application對象,調(diào)用和控制Photoshop軟件的各種對象,實現(xiàn)圖片處理的程序化和自動化。由于只是簡單處理圖片尺寸和大小,因此只需調(diào)用Photoshop軟件的Action對象就可以實現(xiàn)【1””J。主要代碼如下:
Dimphsappas
Photoshop.Application=New
Photo-
shop.Application
phsapp.Visible=False
phsapp.Open(ytfilenam)phsapp.Load(“yt.atn”)
phsapp.DoAction(“otby”,“yt.atn”)
phsapp.ActiveDocument.Close(Photoshop.PsSaveOp—
tions.psDoNotSaveChanges)
phsapp=Nothing
2.3控件的使用
ASP.NET開發(fā)手機網(wǎng)站主要利用Response的Write方法直接在后臺生成WML語句,或添加移動Webform來實現(xiàn),也可以兩種方法混合使用。前一種方法涉及WML語法,在此不詳述;后一種方法更加快捷方便,添加移動Webform后可以在里面添加以mobile為標(biāo)識的控件,這些控件和以asp為標(biāo)識的ASP.NET其他控件使用起來大致相同。移動控件可以根據(jù)不同的客戶訪問終端自動做出不同的響應(yīng),也可以另外在后臺生成字符串,根據(jù)不同客戶端設(shè)置Response對象的ContentType,確定返回的
萬方數(shù)據(jù)
格式。若是瀏覽器訪問則返回“text/html”,手機訪問則返回“application/vnd.wap.xhtml+xml”或者“text/vnd.wap.wml”。在移動Webform中也可以添加asp控件,但首先要添加DeviceSpecific控件,然后才能在該控件的模板中添加asp控件(如GridView控件),并可以通過程序代碼來控制DeviceSpecific中的GridView控件。例如以下代碼用一個GridView綁定DataSet來顯示數(shù)據(jù):
DimdsAsData.DataSet=NewData.DataSet
ds.ReadXml(Server.MapPath(“a11.xml”))
Dim
C
AsControl
ForEachC
InMe.Forml.Controls
Ife.GetTypeIsGetType(MobileControls.Template—
Container)Then
Dimgwl
As
GridView=CType(C.FindControl
(“gwl”),GridView)
If
Not(gwl
Is
Nothing)Then
gwl.DataSource=ds.Tables(0).DefauhViewgwl.DataBind()
EndIfEndIfNext
C
用.NET開發(fā)的手機網(wǎng)站可以根據(jù)客戶訪問的終端做出不同的響應(yīng),因此,調(diào)試第1步用瀏覽器調(diào)試;第2步用WAP手機模擬器調(diào)試;第3步用手機調(diào)試。用瀏覽器調(diào)試手機網(wǎng)站和調(diào)試普通計算機網(wǎng)站一樣,確定程序的語法和邏輯是否正確。通過瀏覽器調(diào)試后就可以用手機模擬器調(diào)試了。手機模擬器有很多種,常見的有為手機種類繁多,調(diào)試時應(yīng)該盡量多試幾個模擬器。通過模擬器調(diào)試后就可以在手機上進行調(diào)試了,先將計算機主機接人因特網(wǎng),并登陸花生殼軟件,然后在手機中輸圖2
NET仿真器調(diào)試圖(左)和手機調(diào)試屏幕截圖(右)
(下轉(zhuǎn)第60頁)
3調(diào)試手機網(wǎng)站
M3Gate、UP.SDK和Opera,還有一些手機生產(chǎn)商也提供模擬器,可以用.NET中的仿真器進行調(diào)試(圖2左)。因入花生殼軟件申請的域名即可(圖2右)。由于手機的差異性,可能顯示的效果會有所不同,特別是黑白屏的手機,只能支持wbmp格式的黑白圖片,不能顯示彩色的gif等格式的圖片。
,廣東氣象第32卷
14參考文獻(xiàn):
12
[1]中國氣象局.地面氣象觀測規(guī)范[s].北京:氣象出版社,
10
芝8
魁[2]陳武框,李國森.自動氣象站氣壓傳感器自動化檢定系統(tǒng)設(shè)贈6計與實現(xiàn)[J].廣東氣象,2008,30(2):58—59.
4
[3]李勇增,鄭細(xì)華.容易引起氣壓表讀數(shù)誤差的原因[J].廣東
2氣象,2008,30(2):64.
0
I7:50[4]楊伍林,趙曉利,羅祖紅,等.兩套不同型號自動氣象站采集
時刻的氣象數(shù)據(jù)的差異[J].廣東氣象,2008,30(3):49—50.
圖31月27日17:50一18:03潮州草溫、氣溫和地溫逐分鐘變化『-.2003:85—89.17:53一.一.一.17:5617:5918:02[5]肖明麗,蔡敷川,張新雄,等.一次疑似“颮”的觀測判定[J].
廣東氣象,2008,30(3):55—56.
3結(jié)語[6]劉志輝,鄒興奮.冬春季判斷積雨云的難點[J].廣東氣象,
當(dāng)使用地面測報A文件審核輔助軟件,發(fā)現(xiàn)草面溫2008.30(3):66.
度與地面溫度差異比較大時,應(yīng)先判斷是否儀器故障、日[7]鐘美英,黃志興.如何避免自動氣象站錯情的發(fā)生[J].廣東維護不當(dāng)或天氣系統(tǒng)、風(fēng)、草高、環(huán)境等因素的影氣象,2008,30(4):62—63.
響【6‘1…,排除這些影響后,再調(diào)出每日分鐘數(shù)據(jù)AWS—II—[8]黎曉紅,王東,李秀艷.自動氣象站數(shù)據(jù)質(zhì)量控制軟件應(yīng)用iii—YYYYMMDD.RTD(其中,AWS為文件標(biāo)識符,lliii為[J].廣東氣象,2008,30(4):64.
區(qū)站號,YYYY為年份,MM為月份,DD為日期,RTD為[9]丘少歡,胡少立.自動氣象站常見錯情成因及防范措施[J].文件后綴),或用陽江吳華斌的RTD分鐘數(shù)據(jù)顯示軟件廣東氣象,2008,30(4):65—66.
(分鐘資料圖形曲線)來判斷草溫數(shù)據(jù)是否出現(xiàn)跳躍、是[10]許燕梅,黃值欽,莫小飛,等.如何減少因采集器電源故障造否異常,以確保數(shù)據(jù)的正確性。成的數(shù)據(jù)缺測[J].廣東氣象,2009,31(3):58.
(上接第51頁)[J].廣東氣象,2008,30(4):42—44.
氣象信息手機網(wǎng)站的建立,在有手機信號的地方可[7]張翼,周如梅.輕松實現(xiàn)氣象網(wǎng)站資料的自動更新[J].廣東隨時隨地用手機瀏覽重要的氣象信息,而不必再依靠計氣象,2008,30(2):56—57.
[8]CHRISH.ASP.NET2.0入門經(jīng)典[M].北京:清華大學(xué)出版
算機和有線網(wǎng)絡(luò),實現(xiàn)了氣象信息顯示移動化。通過手社,2007.
機就能第一時間獲得第一性氣象資料,作出快速準(zhǔn)確的[9]陳紅,趙員春.FY一2c衛(wèi)星資料在熱帶風(fēng)暴“范斯高”預(yù)報分決策,更好地做好氣象服務(wù)。除此之外,手機網(wǎng)站還可以析中的應(yīng)用[J].氣象研究與應(yīng)用,2008,21(2):42—44.添加天氣預(yù)報等其他內(nèi)容,若能對公眾開放,使大眾也能[10]李勇增,鄭細(xì)華.如何應(yīng)用衛(wèi)星云圖和雷達(dá)回波觀測夜間云近距離接觸云圖和雷達(dá)圖,隨時隨地了解氣象信息,對氣[J].廣東氣象,2008,30(2):65—66.
象部門也是一種很好的宣傳。[11]呂高旭,亮劍.NET:ASP.NET商業(yè)級數(shù)據(jù)庫網(wǎng)站開發(fā)實戰(zhàn)
[M].北京:電子工業(yè)出版社,2009.
參考文獻(xiàn):[12]何健,易峰,呂勇平,等.廣東省氣象科學(xué)數(shù)據(jù)共享系統(tǒng)的建[1]敖振浪,伍光勝,周欽強,等.基于GPRS技術(shù)的自動氣象站數(shù)設(shè)[J].廣東氣象,2008,30(6):54—56.
據(jù)采集系統(tǒng)[J].廣東氣象,2007,29(4):l一3.[13]于平,李漢彬,段海花,等.市級自動氣象站數(shù)據(jù)庫顯示系統(tǒng)[2]嚴(yán)律軒,林江,丁偉杰.掌上防雷業(yè)務(wù)移動系統(tǒng)的設(shè)計[J].廣的設(shè)計與實現(xiàn)[J].廣東氣象,2008,30(6):57—58.
東氣象,2007,29(3):47—48.[14]梁慎青,石小英,梁苑苑,等.廣東省氣象信息實時監(jiān)視系統(tǒng)[3]李曉琳,魏煒,林江.廣東省氣象彩信業(yè)務(wù)平臺的設(shè)計與實現(xiàn)的開發(fā)及應(yīng)用[J].廣東氣象,2009,3l(1):57—59.
[J].廣東氣象,2008,30(3):42—43.[15]龐芳,王麗玫,盧偉萍.基于WEB的突發(fā)氣象災(zāi)害預(yù)警信號[4]MARTINF.WML與WMLScript入門[M].北京:中國電力出發(fā)布系統(tǒng)[J].氣象研究與應(yīng)用,2008,21(2):42—44.
版社,2002.[16]許基海.征服PHOTOSHOPCS3基礎(chǔ)與實踐全攻略[M].北[5]江紅.ASP.NET動態(tài)網(wǎng)頁設(shè)計案例教程(VISUALBASIC.京:電子工業(yè)出版社.2009.
NET版)[M].北京:北京大學(xué)出版社,2009.[17]李春葆,金晶,曾平.VB.NET2005程序設(shè)計教程[M].北[6]朱平.ASP+ACCESS在氣象短信素材庫系統(tǒng)建設(shè)中的應(yīng)用京:清華大學(xué)出版社,2009.萬方數(shù)據(jù)
,基于.NET的氣象信息手機網(wǎng)站建設(shè)
作者:
作者單位:
刊名:
英文刊名:
年,卷(期):何迪, 蔣國華清遠(yuǎn)市氣象局,廣東清遠(yuǎn),511518廣東氣象GUANGDONG METEOROLOGY2010,32(1)
參考文獻(xiàn)(17條)
1. 李曉琳;魏煒;林江 廣東省氣象彩信業(yè)務(wù)平臺的設(shè)計與實現(xiàn)[期刊論文]-廣東氣象 2008(03)
2. 嚴(yán)律軒;林江;丁偉杰 掌上防雷業(yè)務(wù)移動系統(tǒng)的設(shè)計[期刊論文]-廣東氣象 2007(03)
3. 敖振浪;伍光勝;周欽強 基于GPRS技術(shù)的自動氣象站數(shù)據(jù)采集系統(tǒng)[期刊論文]-廣東氣象 2007(04)
4. 李春葆;金晶;曾平 VB.NET 2005程序設(shè)計教程 2009
5. 許基海 征服PHOTOSttOP CS3基礎(chǔ)與實踐全攻略 2009
6. 龐芳;王麗玫;盧偉萍 基于WEB的突發(fā)氣象災(zāi)害預(yù)警信號發(fā)布系統(tǒng)[期刊論文]-氣象研究與應(yīng)用 2008(02)
7. 梁慎青;石小英;梁苑苑 廣東省氣象信息實時監(jiān)視系統(tǒng)的開發(fā)及應(yīng)用[期刊論文]-廣東氣象 2009(01)
8. 于平;李漢彬;段海花 市級自動氣象站數(shù)據(jù)庫顯示系統(tǒng)的設(shè)計與實現(xiàn)[期刊論文]-廣東氣象 2008(06)
9. 何健;易峰;呂勇平 廣東省氣象科學(xué)數(shù)據(jù)共享系統(tǒng)的建設(shè)[期刊論文]-廣東氣象 2008(06)
10. 呂高旭;亮劍 NET:ASP.NET商業(yè)級數(shù)據(jù)庫網(wǎng)站開發(fā)實戰(zhàn) 2009
11. 李勇增;鄭細(xì)華 如何應(yīng)用衛(wèi)星云圖和雷達(dá)回波觀測夜間云[期刊論文]-廣東氣象 2008(02)
12. 陳紅;趙員春 FY-2C衛(wèi)星資料在熱帶風(fēng)暴"范斯高"預(yù)報分析中的應(yīng)用[期刊論文]-氣象研究與應(yīng)用 2008(02)
13. CHRIS H ASP.NET 2.0入門經(jīng)典 2007
14. 張翼;周如梅 輕松實現(xiàn)氣象網(wǎng)站資料的自動更新[期刊論文]-廣東氣象 2008(02)
15. 朱平 ASP ACCESS在氣象短信素材庫系統(tǒng)建設(shè)中的應(yīng)用[期刊論文]-廣東氣象 2008(04)
16. 江紅 ASP.NET動態(tài)網(wǎng)頁設(shè)計案例教程(VISUAL BASIC.NET版) 2009
17. MARTIN F WML與WMLScript入門 2002
本文鏈接:http://d.g.wanfangdata.com.cn/Periodical_gdqx201001018.aspx