雨量監測儀中的雨量情報處理系統的介紹
隨著近幾年全國各地雨量的增多,尤其是偏南方和偏北方,使得對農業的影響比20世紀加重,各地農業部門開始關注各地雨量的變化,紛紛在各地增設雨量監測儀,進行各地雨量的實時監測。雨量監測儀,是一種很好的記錄儀器,該設備的優勢關鍵在于雨量情報處理系統,那么該系統如何呢?下面我們一起來看下:
1 引言
目前,貴州省氣象局建立的全省鄉鎮雨量布點已基本完成,自5月1日正式運行以來,多數雨量點已能夠提供各類氣象災害信息,但由于鄉鎮雨量情報是以報文的方式上報,各級人影辦在收到之后必須逐一轉譯,重新制表、打印,再上報各級政府,不但費時,而且容易出錯,同時鄉鎮雨量數量較多(全省應建數達1 438個),很難及時、準確、直觀地判斷出各鄉鎮的地理位置、雨量分布狀況等,不利于各級政府的快速決策。基于以上原因,針對鄉鎮雨量業務工作的需求,以Windows98為平臺,采用Visual Basic 6.0開發了“鄉鎮雨量情報處理系統”。
2 系統結構和功能
圖1 鄉鎮雨量情報處理系統結構框圖
“鄉鎮雨量情報處理系統”主要由報文處理、表格方式查閱-輸出、地圖方式顯示等3大模塊組成,其主要結構框圖如圖1所示。該系統能夠自動處理每日報文,并將處理結果按不同雨量級(≥0mm、≥10mm、≥30mm、≥50mm、≥100mm、≥150mm、≥200mm)以表格和地圖兩種方式顯示,同時還可查閱任一日的雨量,進行任意時段內的鄉鎮雨量合計,在以地圖方式顯示中,系統設置了圖形放大與縮小、等值線繪制、圖形區域填色、各種項目的顯示/消隱、鼠標指定鄉鎮站點及時顯示鄉鎮名稱和雨量、制作圖形終端產品、地圖制作等功能,下面將分別介紹各模塊的功能。
2·1 報文處理模塊
報文處理模塊主要有系統設置、報文編輯、處理當日報文、定時自動處理、處理過去報文等功能。系統設置:系統首次安裝后,通過系統設置指定處理報文的所在路徑,這樣有利于用戶直接使用本機上的報文路徑或通過網絡調用報文文件進行處理,系統設置中的所在地區縮寫,有利于不同地區使用該系統時無需更改報文文件命名格式,直接使用格式,鄉鎮雨量報文的文件名格式為“所在地區縮寫+年+月+日+.txt”。報文編輯:自動調取當日報文并能對報文進行一些常規的編輯、修改。此功能有助于用戶在報文處理過程中如出現了系統提示錯誤,可直接調用“報文編輯”命令修改當前處理報文。處理當日報文:主要對當日報文的及時處理,系統設定了報文錯誤提示與記錄功能,處理完畢后可根據需要查看報文錯誤(如:鄉鎮代碼錄入錯誤、雨量代碼錯誤等)。定時自動處理:可設置好定時處理時間,系統在設置的時間自動讀入報文進行處理。處理過去報文:在首次安裝該系統后,可利用此命令輸入報文處理時段,系統將時段內的報文一次性全部處理。
2·2 表格方式查閱-輸出模塊
圖2 系統輸出模塊
該模塊主要功能是將鄉鎮雨量的報文處理結果以表格方式輸出(如圖2所示),是通過調用數據庫類模塊建立一個虛擬數據庫,用戶可根據需要選擇保存或打印該數據庫,減少了垃圾文件的生成。在使用該模塊時,用戶可根據需要選擇輸出的內容。輸出的鄉鎮是分縣(市)排列,用戶可點擊圖2上的各命令按鈕實現相應的需求。“綜合查閱-輸出”的主要功能是統計出用戶指定日期各雨量級的鄉鎮數,如遵義市6月24日出現大范圍的強降雨天氣過程,通過此命令,可立即查閱到該日遵義市的鄉鎮降雨情況為:≥200mm的鄉鎮數4個,≥150mm的鄉鎮數15個,≥100mm的鄉鎮數43個,≥50mm的鄉鎮數100個等內容。“雨量合計”的主要功能是將不同時段內的各鄉鎮雨量進行合計,并以表格的方式顯示出來。合計時段可以跨年和月。通過雨量合計可及時顯示出各鄉鎮在旱澇時期的降雨情況,對人工影響天氣作業具有較好的指示作用。
2·3 地圖方式顯示模塊該模塊主要包括文件、顯示與消隱、工具、等值線繪制、調整顏色字體、底圖制作等6個主菜單,結構框圖如表1所示:
表1 系統顯示模塊
2·3·1 文件菜單
文件菜單包括打開、保存、另存為、打印、退出等5個子菜單,主要應用于圖形終端產品的調閱、存儲、輸出等。
2·3·2 顯示與消隱菜單
顯示與消隱菜單下包括區域邊界顯示\消隱、縣市邊界顯示\消隱、縣市名稱顯示\消隱、縣市要素值顯示\消隱、鄉鎮名稱顯示\消隱、鄉鎮要素值顯示\消隱、等值線顯示\消隱、區域顏色顯示\消隱、清屏、圖形初始化等10個子菜單。通過該菜單可使用戶根據需要選擇地圖顯示項目,也有利于用戶制作出各類簡單或復雜的圖形終端產品。
2·3·3 工具菜單
工具菜單包括工具條、制作圖形標題和圖例2個子菜單。工具條下共有13個命令按鈕,各命令按鈕可直接控制地圖上的鄉鎮雨量顯示內容,使不同雨量級下的分布情況一目了然。“縮放”的主要功能是對地圖實行放大或縮小,選取該命令后,雙擊鼠標左鍵可使地圖以1·2倍的比例放大,雙擊鼠標右鍵可使地圖以1/1·2倍的比例縮小,單擊鼠標左鍵移動,可使地圖隨鼠標移動方向移動,且地圖移動距離與鼠標移動距離一致。
2·3·4 等值線繪制菜單
該菜單下包括鼠標移動軌跡法、4點作曲線法和結束等值線繪制等3個子菜單。由于實現(遵義市)200多個鄉鎮雨量點的等值線判斷難度較大,為了該軟件能盡快地投入業務中使用,于是采用了手動鼠標繪制等值線方式來代替,共設計了兩種方法,即鼠標移動軌跡法和4點作曲線法。鼠標移動軌跡法:用鼠標以畫筆畫線的方式在地圖上直接繪制等值線,該方法的優點在于所想即所畫,缺點是繪制的等值不夠平滑。4點作曲線法:克服了鼠標移動軌跡法繪制的等值線不夠平滑的缺點,通過調用Windows下的API函數來實現4點作曲線的方法繪制等值線。用戶在等值線的起始及中間取4個點,系統將依據這4個點的位置自動模擬出1條曲線,同時可利用工具條調節該曲線的凹凸度和曲度方向,使等值線達到最佳。凹凸度和曲度方向調節的實現方法是通過以不同的方式改變用戶所選取4個點的坐標,再調用API函數重繪曲線。根據試用,幾乎所用的等值線都可用此方法調節繪制出。當用戶不想保留當前繪制的等值線時,可點擊工具條上的“撤銷”命令按鈕或在系統提示存儲等值線時選擇“否”來取消該等值線。等值線數據的添加利用工具框來實現,用鼠標在該工具框上點擊相應的等值線數據或直接通過鍵盤將數據輸入到該工具框上的對話框中,之后在需添加該數據的位置單擊鼠標,等值線數據即被添加上。當選取“結束繪制”子菜單退出等值線繪制模式的同時,系統自動將用戶繪制的所用等值線坐標數據存儲下來,以便在地圖上可隨時顯示或消隱等值線。
2·3·5 調整顏色字體菜單
包括填充顏色、調整區域邊界顏色、調整縣(市)邊界顏色、調整縣(市)名稱顏色字體、調整縣(市)要素值顏色字體、調整鄉鎮名稱顏色字體、調整鄉鎮要素值顏色字體、調整圖形標題顏色字體等8個子菜單。填充顏色子菜單下包括逐一區域和全部區域顏色填充兩個子菜單,區域顏色填充是調用Windows下的API函數來實現的。逐一區域顏色填充:用戶用鼠標單擊目標填充區域,程序彈出一顏色對話框,選取填充顏色,按“確定”即可實現選取顏色對目標區域的填充。全部區域顏色填充:此菜單的功能是程序自動對地圖上的不同區域填充上不同的顏色,用戶可點擊“改變填充顏色”命令按鈕來隨機變化各區域的填充顏色。區域顏色隨機變化的實現方法,是通過隨機改變組成顏色的3種基本色(紅、綠、蘭)的色度,即RGB(Int(255*Rnd)+1,Int(255*Rnd)+1,Int(255*Rnd)+1)。調整顏色字體菜單下的3~8列子菜單用于改變相應項目的顏色字體,以便制作出更為美觀、實用的地圖終端產品。
2·3·6 底圖制作菜單
通過該菜單可進入底圖制作子系統,底圖制作項目主要包括區域邊界、縣(市)邊界、縣(市)及鄉鎮坐標位置。制作各底圖項目完全依靠編程來實現。區域邊界、縣(市)邊界的獲取方法是:程序中事先設定好屏幕坐標的模式及坐標原點(本系統采用象素模式、屏幕左上角為坐標原點),將一張標準的區域地圖通過掃描儀讀入計算機,再在底圖制作系統下調用該位圖,之后在程序中選取相應的制作項目,鼠標沿著區域邊界或縣(市)邊界移動,程序同時記錄下了鼠標移動軌跡坐標,鼠標移動完畢后,用畫線的方式將鼠標的各移動軌跡坐標點連接起來即可。縣(市)坐標和鄉鎮坐標位置的確定方法是:直接用鼠標點取位圖上的站點,同時在彈出的對話框中輸入縣(市)或鄉鎮名稱、代碼,逐一如此。另外,地圖顯示方式下系統還設置了鼠標指定鄉鎮站點及時顯示鄉鎮名稱和鄉鎮雨量功能等。
3 結語
該系統具有較強的實用性和針對性,系統配置的底圖制作子系統和系統設置,適用于不同地區使用,但由于投入業務使用較快,故一些功能尚不完善,如等值線沒有實現系統自動繪制等,有待今后作進一步的改進。