陳祥開, 周 玲, 郭昱琴, 陳 江, 江 蕾, 常振宇
在Dimashelpe 軟件開發(fā)之前, 我們經(jīng)常使用DIMAS 軟件對地震觀測報告中的五日報、月報進(jìn)行編輯, 此軟件也具有糾正錯誤的功能, 但軟件存在一些缺陷, 需要我們逐一的錄入數(shù)據(jù), 工作量大且容易出現(xiàn)錯誤。 之后黑龍江牡丹江臺對DIMAS 軟件糾正錯誤功能進(jìn)行了改進(jìn), 使其可以自動編輯, 但改進(jìn)后的軟件還存在一些不足, 還需要我們再進(jìn)行人工編輯, 才能符合國家臺網(wǎng)中心的要求。 由于進(jìn)行了人工編輯, 會出現(xiàn)一些不符合要求的錯誤,從而影響我們的工作質(zhì)量。 因此開發(fā)人工編輯五日報、月報的糾錯與改正軟件, 成了一項使工作質(zhì)量提高、 減少錯誤率行之有效的任務(wù)。
海南瓊中臺每五天發(fā)送一個五日報, 每一個月發(fā)送一個月報告。 使用DIMAS 軟件編輯生成五日報, 它的第一個文件名是 “臺站名年年月月a.bat”, 第二個五日報的文件名是“臺站名年年月月b.bat”, 以此類推, 到第六個五日報的文件名為 “臺站名年年月月f.bat” ,而月報的文件名則為“臺站名年年月月s.bat”。
(1)用DIMAS 軟件處理后的五日報和月報, 它們的頭標(biāo)題是一致的, 但對于月報來說是不符合要求, 需要處理。
(2)可能會出現(xiàn)空行的情況或者震項的時間順序混亂以及出現(xiàn)重復(fù)地震等情況。
(3)有時源文件的序號出現(xiàn)錯誤, 使用DIMAS 編輯后, 序號還是按錯誤地排列(圖1)。
(4)震源深度未出現(xiàn)在規(guī)定位置的問題。
(5)第三列數(shù)據(jù)表示使用的是何種濾波器, 不能為空.第四列則表示的是震相, 也是不能為空白。
圖1 DIMAS 軟件編輯后序號還是不連續(xù)的Fig.1 Serial number still discontinuous after DIMAS software editing
(1)技術(shù)平臺: 本軟件采用C/S 的結(jié)構(gòu)設(shè)計, 是在java 的jdk-6u22-windows-i586 版本的基礎(chǔ)上, 使用NetBeans6.9.1 版本開發(fā)的。 可在windous XP 和windows 7 系統(tǒng) 上使用本軟件。
(2)通過分析數(shù)據(jù)后, 整個設(shè)計的數(shù)據(jù)流圖, 如圖2 所示。
(1)Dimashelper 是基于DIMAS 生成的五日報、月報, 對其進(jìn)行的二次編輯, 所以要判定打開的文件是五日報或是月報, 然后作出相應(yīng)的處理。 由于五日報和月報的區(qū)別在于文件名, 所以判斷的依據(jù), 可以通過文件名來判斷。 五日報文件名格式為:年年年年月月(a到f).bat, 而月報文件名格式為:年年年年月月s.bat 。 如是月報則對頭標(biāo)題進(jìn)行修改, 如是五日報則不進(jìn)行處理。
圖2 數(shù)據(jù)流圖Fig.2 Data flow chart
(2)地震正文信息中的第一行, 即臺網(wǎng)時間信息中的時間信息時常會出現(xiàn)錯誤, 這里通過自動識別文件名稱中的正確時間的方式, 實現(xiàn)時間信息的自動修正處理, 關(guān)鍵代碼如下:
//修改表頭" QIONGZHONG QZN。。。" 后的日期信息
//修改依據(jù)文件名稱中的日期而定
(3)有時源文件中的地震事件序列出現(xiàn)錯誤后, 用DIMAS 處理還是會出現(xiàn)錯誤, 據(jù)數(shù)據(jù)統(tǒng)計調(diào)查, 出現(xiàn)這種錯誤的概率還是蠻高的。 因此有必要做這個方面的功能設(shè)計, 進(jìn)而減少錯誤率的出現(xiàn)。
關(guān)鍵代碼如下:
替換錯誤序列號:
履歷記錄:
(4)地震事件里有一項地震深度, 而用DIMAS 編輯后的五日報、月報, 深度數(shù)據(jù)并沒有在規(guī)定的位置上, 需要人為地移動它的位置才行。 本軟件能直接實現(xiàn)地震事件的深度數(shù)據(jù)在規(guī)定的位置上這個功能。 關(guān)鍵代碼如下:
(5)對于分析后的震項, 面波對應(yīng)的方向, 有時候會出現(xiàn)混亂的現(xiàn)象。 正確的排列位置: 按北南向(BHN), 東西向(BHE), 垂直向(BHZ) 排列。 //對于排序規(guī)則中以 “#/” 結(jié)尾的部分, 需要按照 “第4個8 位” 的時間升序進(jìn)行排序//這里對其進(jìn)行排序, 并將本行數(shù)據(jù)插入結(jié)果ArrayList “alNew” 中
如下圖3 所示, 該畫面分上下兩部分, 即“自動處理” 和“錯誤記錄”:
自動處理有 “文件” 和 “文件夾” 兩種處理模式, 可供用戶單獨選擇并處理一個文件和選擇一個文件并讓系統(tǒng)自動處理文件夾下所有文件。
錯誤記錄部分用于顯示處理的過程中系統(tǒng)記錄下的操作信息和錯誤提示信息, 用戶可以通過 “文件名稱” 和 “處理狀態(tài)” 兩種查詢條件進(jìn)行有條件或無條件的查詢, 以便了解處理內(nèi)容, 進(jìn)一步修正系統(tǒng)已發(fā)現(xiàn)但無法自行修正的錯誤。
該畫面用于查詢和刪除歷史處理中報錯的錯誤信息, 用戶可通過文件名稱、 處理時間、處理狀態(tài)等字段對歷史履歷信息進(jìn)行有條件或無條件查詢, 并對其中無需保留的歷史信息進(jìn)行刪除處理。 如圖4 所示。
圖3 自動糾錯處理畫面Fig.3 Auto-correction screen
圖4 歷史錯誤查詢畫面Fig.4 Error log query screen
該畫面可供用戶打開、 修改、 保存和另存文件, 方便用戶在無需切換環(huán)境的情況下手動修正一些自動糾錯處理中無法自動修正的錯誤內(nèi)容。 如下圖5 所示。
該畫面可供用戶自行設(shè)置自動糾錯處理的過程中用到的處理規(guī)則, 以使軟件可以適應(yīng)不斷變化的處理規(guī)則。 如圖6 所示。
圖5 文件操作畫面Fig.5 File operation screen
圖6 自動糾錯規(guī)則畫面Fig.6 Rule of auto-correction screen
2010年12月完成設(shè)計, 經(jīng)過一年的測試后, 本軟件基本已經(jīng)做到如下幾個方面:
(1)五日報和月報的標(biāo)題是不一樣的, 工作人員要根據(jù)所編輯的文件是五日報還是月報, 然后對其設(shè)置相應(yīng)的標(biāo)題。
(2)將地震事件中的深度調(diào)整至正確的位置。
(3)地震事件編號按從小到大排序, 排除跳號或重復(fù)編號現(xiàn)象。
(4)出現(xiàn)重復(fù)編輯的地震事件, 則提示用戶查看。
(5)刪除不需要的空行和空格。
(6)修改并使中長周期濾波器LP、 SK 分體波時對應(yīng)的是MB震級, 短周期濾波器SP分體波時對應(yīng)的是Mb震級, 其它的體波情況為ML震級。
(7)糾正面波分向排列錯誤。
(8)調(diào)整地震事件中震相位置, 使它們格式正確。
本軟件自測試以來, 根據(jù)同事們所提出的問題和發(fā)現(xiàn)的不足, 做了相應(yīng)的改動, 使軟件應(yīng)用更加實用, 操作更簡單。 本軟件基本擁有工作所需的功能, 輸出的結(jié)果也基本符合國家臺網(wǎng)中心的關(guān)于地震分析報告的標(biāo)準(zhǔn), 更重要的是在對編輯完成的五日報、月報使用此軟件后, 錯誤率減少, 提高了工作效率。
本軟件是基于DIMAS 的二次開發(fā), 主要存在的問題是對于DIMAS 產(chǎn)生的尚不可預(yù)知的錯誤無法判斷和處理。 比如亂碼的情況, 有時候是出現(xiàn)文字之類的亂碼, 有時候是英文之類的亂碼, 有時候則是阿拉伯字體的亂碼。 雖然這種情況出現(xiàn)極少, 但是以后將會加以改進(jìn)這方面的問題。
[1] 丁文秀, 王慧群, 印蘇文, 等. 利用xxx.obs 文件生成五日報的研究[J]. 大地測量與地球動力學(xué),2009, 29(8): 131-133.
[2] 肖磊, 李鐘尉. JAVA 實用教程[M]. 北京: 人民郵電出版社, 2010.
[3] 許勇, 王黎. Netbeans 6.0 程序開發(fā)技術(shù)詳解[M]. 北京: 清華大學(xué)出版社, 2010.