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