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