車達(dá)升,耿殿鵬,李曉東
(91550 部隊35 分隊,遼寧 大連116000)
基層臺站觀測人員將氣象數(shù)據(jù)以文本形式存入計算機(jī),該形式的資料查詢統(tǒng)計只能通過原始翻閱的方式進(jìn)行,須建設(shè)一套基于計算機(jī)數(shù)據(jù)庫的智能查詢信息管理系統(tǒng),便于歷史氣象數(shù)據(jù)的統(tǒng)計分析,進(jìn)行區(qū)域氣候背景分析。
能夠?qū)⑽谋疚募袛?shù)據(jù)存入數(shù)據(jù)庫,當(dāng)文件讀取錯誤時,能夠定位文件,并跳過錯誤將剩余數(shù)據(jù)讀取。
2.2.1 時記錄統(tǒng)計
①能夠選擇起止時間和要素種類顯示數(shù)據(jù)庫中的時記錄,并能夠修改錯誤數(shù)據(jù)。
②能夠?qū)r記錄中的總云量、風(fēng)速、風(fēng)向、能見度、天氣現(xiàn)象、氣溫、相對濕度、分云量等要素自由組合,要素值域可限定(>,≥,<,≤,=),時間按年、月(季)、日(旬)、時和持續(xù)時間等進(jìn)行綜合統(tǒng)計,并能夠輸出符合條件的總天數(shù)、符合條件的日期;要素的平均值最大最小值。
2.2.2 日記錄統(tǒng)計
①能夠選擇起止時間和要素種類顯示數(shù)據(jù)庫中的日記錄,并能夠修改錯誤數(shù)據(jù)。
②能夠?qū)θ沼涗浿械娜兆罡邭鉁亍⑷兆畹蜌鉁?、日降水量等要素自由組合,要素值域可限定,時間按年、月(季)、日(旬)等進(jìn)行綜合統(tǒng)計,輸出符合條件的總天數(shù)、每一天的日期,要素的平均值最大最小值。
2.2.3 天氣紀(jì)要
能夠選擇起止時間和要素種類顯示數(shù)據(jù)庫中的天氣紀(jì)要。
能夠?qū)ο到y(tǒng)登陸進(jìn)行認(rèn)證,并記錄操作日志。
系統(tǒng)設(shè)計過程中對各種數(shù)據(jù)表格進(jìn)行設(shè)計,包括:時記錄表格、日記錄表格、時記錄統(tǒng)計輸出表格、日記錄統(tǒng)計輸出表等。
根據(jù)業(yè)務(wù)需求,進(jìn)行功能模塊劃分與設(shè)計,主要劃分為三大模塊,分別為數(shù)據(jù)錄入模塊、數(shù)據(jù)查詢模塊和系統(tǒng)維護(hù)模塊,其中數(shù)據(jù)查詢模塊為核心模塊,主要有時記錄查詢和日記錄查詢[1]。時記錄查詢中,單要素統(tǒng)計查詢?yōu)榛A(chǔ)模塊,查詢條件有時間條件和要素取值范圍條件,其中連續(xù)時間條件為查詢難點(diǎn),功能圖具體如圖1 所示。實(shí)際編程過程中,直接將所有功能劃分在數(shù)據(jù)錄入模塊、時數(shù)據(jù)查詢模塊、多要素查詢模塊、日數(shù)據(jù)查詢模塊和系統(tǒng)維護(hù)模塊。本文重點(diǎn)介紹數(shù)據(jù)錄入模塊、時數(shù)據(jù)查詢模塊、多要素查詢模塊和日數(shù)據(jù)查詢模塊。
圖1 系統(tǒng)功能圖
4.1.1 數(shù)據(jù)要素
文檔中出現(xiàn)的主要數(shù)據(jù)要素:站號、年份、月份、日、觀測次數(shù)、時、總云量、風(fēng)向、風(fēng)速、能見度、天氣現(xiàn)象、氣溫、露點(diǎn)溫度、相對濕度、絕對濕度、本站氣壓、海平面氣壓、云底觀測方式、分云量、云狀、云底高、日最高氣溫、日最低氣溫、日合計降水量、日合計降水量、日降水持續(xù)時間、天氣紀(jì)要。
4.1.2 時數(shù)據(jù)表格設(shè)計
依據(jù)文檔中的時數(shù)據(jù)要素,時數(shù)據(jù)表格設(shè)計如表1 所示,數(shù)據(jù)由站點(diǎn)、日期和時唯一確定。
4.1.3 日數(shù)據(jù)表格設(shè)計
依據(jù)文檔中的日數(shù)據(jù)要素,日數(shù)據(jù)表格設(shè)計如表2 所示,數(shù)據(jù)由站點(diǎn)和日期唯一確定。
表1 時數(shù)據(jù)表格
表2 日數(shù)據(jù)表格
4.1.4 數(shù)據(jù)庫操作函數(shù)
數(shù)據(jù)庫操作函數(shù)包括獲得數(shù)據(jù)庫連接、關(guān)閉數(shù)據(jù)庫連接、寫日志函數(shù)、存時數(shù)據(jù)函數(shù)、存日數(shù)據(jù)函數(shù)、時數(shù)據(jù)是否存在函數(shù)、日數(shù)據(jù)是否存在函數(shù)、刪單一時數(shù)據(jù)函數(shù)、刪單一日數(shù)據(jù)函數(shù)、刪條件時數(shù)據(jù)函數(shù)、刪條件日數(shù)據(jù)函數(shù)、時數(shù)據(jù)查詢函數(shù)、多要素查詢函數(shù)、建立中間表格函數(shù)、刪除中間表格函數(shù)、更新中間表格函數(shù)、統(tǒng)計天數(shù)函數(shù)、日數(shù)據(jù)查詢函數(shù)和刪除日數(shù)據(jù)函數(shù)等[2]。其中,時數(shù)據(jù)查詢函數(shù)、多要素查詢函數(shù)和日數(shù)據(jù)查詢函數(shù)為核心函數(shù)。
4.2.1 界面設(shè)計
數(shù)據(jù)錄入模塊界面設(shè)計。
4.2.2 程序設(shè)計
數(shù)據(jù)錄入模塊程序流程圖,開始-初始化-選擇文件-根據(jù)是否為多文件,分為單文件處理模塊和多文件處理模塊。其中,單文件處理模塊為基本模塊,包括連接數(shù)據(jù)庫函數(shù)、報文處理函數(shù)、存時數(shù)據(jù)函數(shù)和存日數(shù)據(jù)函數(shù)等,主要用于處理報文并將處理結(jié)果存入數(shù)據(jù)庫中[3]。
時數(shù)據(jù)查詢模塊程序流程為:時數(shù)據(jù)查詢→設(shè)置站點(diǎn)參數(shù)→設(shè)置時間參數(shù)→調(diào)用查詢模塊→顯示結(jié)果。其中,查詢函數(shù)為核心函數(shù),通過調(diào)用數(shù)據(jù)庫操作函數(shù)中的時數(shù)據(jù)查詢函數(shù)完成相應(yīng)功能。
多要素查詢模塊程序流程為:多要素查詢→設(shè)置站點(diǎn)參數(shù)→設(shè)置時間參數(shù)→設(shè)置多邊查詢條件→設(shè)置連續(xù)時間條件→調(diào)用查詢模塊→顯示結(jié)果。其中,查詢函數(shù)為核心函數(shù),通過界面確定查詢條件,通過調(diào)用數(shù)據(jù)庫操作函數(shù)中的多要素查詢函數(shù)完成相應(yīng)功能[4]。
日數(shù)據(jù)查詢模塊程序流程為:日數(shù)據(jù)查詢→設(shè)置站點(diǎn)參數(shù)→設(shè)置日期參數(shù)→調(diào)用查詢模塊→顯示結(jié)果。其中,查詢函數(shù)為核心函數(shù),通過界面確定查詢條件,通過調(diào)用數(shù)據(jù)庫操作函數(shù)中的日數(shù)據(jù)查詢函數(shù)完成相應(yīng)功能。
本文設(shè)計了一套基于實(shí)況數(shù)據(jù)的統(tǒng)計查詢系統(tǒng),較好地完成了氣象信息的業(yè)務(wù)需求,為氣象資料統(tǒng)計分析提供了便利條件。