?

基于Java的地震速報信息服務系統設計

2018-11-28 05:46劉方斌曲均浩苗慶杰周少輝
電子科技 2018年12期
關鍵詞:速報震級界面

劉方斌,曲均浩,苗慶杰,周少輝

(山東省地震局,山東 濟南 250102)

地震速報是地震監測預報中最為基礎的一項工作,同時也是非常重要的環節之一[1]。地震速報要求速報人員能夠在第一時間準確的確定地震發震時刻、震中位置及震級等相關信息。準確收集地震信息不僅可以為后續開展地震監測工作提供基礎數據,還可為政府、社會的震后救災、應急救援提供有效決策[2]。目前各省測震臺網主要承擔著本省的地震速報、編目、月報產出、臺網軟硬件的維護以及包括日、月頻次的地震短信的發送等任務,日常工作繁雜、技術人員少;另外,地震速報目錄僅能從EQIM[3]平臺瀏覽,不能下載,信息分享不便。針對上述問題,本文利用Java開發技術結合數據庫以及World Wind設計實現了一款符合測震工作的地震速報信息共享系統。

Java是目前使用人數最多、范圍最廣的軟件開發技術之一,具有簡潔、精干、面向對象、多線程、面向網絡、安全、自律、跨平臺等諸多特點[4]。本研究基于Java語言編程優點,設計實現了系統各個功能模塊界面,其應用程序在異構環境之間可用,顯著降低了開發成本[5]。

1 系統總體設計

根據工作要求,設計了一款C/S模式[6]的地震速報信息服務系統。它可以充分利用兩端硬件環境的優勢,將任務合理分配到客戶端和服務器端進行實現,充分發揮客戶端的處理能力和響應速度。

如圖1所示,服務器端通過網絡通信與省臺網中心建立數據連接,調用MySQL數據庫[7],并將數據庫數據通過SyncNavigator軟件同步到本地服務器上,這樣可以避免過多用戶訪問源數據庫所導致得數據庫異常??蛻舳烁鶕δ芊诸悇澐譃閷崟r目錄、目錄查詢、月報產出、最新地震以及其他等5大模塊,具體功能如下:

圖1 地震速報信息共享系統構架圖

(1)系統登錄模塊。用于校驗用戶信息,當用戶名和密碼正確時,成功登陸主系統;

(2)實時目錄模塊。主要用于實時展示地震目錄、檢查地震速報結果的準確性;

(3)目錄查詢模塊。對歷史地震按照搜索時間、經緯度、震級大小、事件類型、震中位置以及目錄類型等信息進行查詢、打印和導出;。

(4)月報產出模塊。對某月地震事件進行分析,獲取月報信息并通過Word文檔的形式導出;

(5)最新地震模塊。主要獲取最新地震信息(發震時刻、震中位置及震級大小),并以警報的形式提醒值班人員;

(6)其他模塊。主要提供了大震速報流程、震級轉換表等方面的內容。

2 數據庫設計

一個數據庫結構的好壞將直接影響著整個系統的運行效果,合理搭建數據庫將會大大提高數據的儲存速度[8]。本系統將JOPENS5.2[9]中MySQL的Catalog表同步備份到本系統服務器中,然后調用本系統數據庫信息。Catalog表中存在多個字段,根據系統需求選取所需的字段和屬性來構建地震事件信息表,如表1所示。

表1 地震事件信息表

3 系統界面GUI實現

系統GUI界面是基于Java的Swing組件設計的,該組件是Java中重要的窗口工具組,可在程序運行時指定組建的外觀風格[10-11]。

3.1 用戶登錄界面

當用戶進入地震速報信息服務系統程序時,首先彈出登陸對話框,其中用戶名和密碼需要在配置文件中配置,輸入用戶名和密碼點擊登錄就可以打開該系統,進入主界面。登錄界面如圖2所示。

圖2 登錄界面

3.2 系統主界面

根據用戶需求及功能模塊設計編寫用戶主界面窗口。主界面主要基于JTabbedPane[12]組件進行總體設計,將系統5大功能模塊加入其中,各模塊間可以通過快捷鍵進行切換。

實時目錄模塊窗口主要用于展示地震目錄和檢查地震速報結果的準確性,窗口如圖3所示。本模塊主要通過讀取并將數據庫中的Catalog表數據添加到JTable里,然后通過線程[13]方式刷新數據庫以獲取最新地震,從而提高CPU利用率,加快運行速度。

圖3 實時目錄模塊

目錄查詢模塊窗口如圖4所示,該模塊使用JSplitPane分割面板將界面分為左右兩部分,左側主要顯示相關參數的配置,右側以JTable的形式顯示符合條件查詢結果。實際操作時,先對左側參數進行配置,然后點擊查詢按鈕即可在右側顯示查詢結果。由于參數配置中存在多種條件,而通常情況下并不需要對每種條件都要滿足,僅按照某些條件進行設置即可,因此通過if語句進行實現,根據條件要求進行判斷,搜索用戶所需數據。另外,搜索結果會以Excel的形式導出,導出的數據格式與其他畫圖軟件兼容,可直接用于圖件繪制,避免二次輸入的麻煩,點擊打印按鈕則可以打印相應結果。

圖4 目錄查詢模塊

月報產出模塊窗口如圖5所示,該模塊替代了以往以傳統人工統計及繪圖方式編制的月報。該模塊通過調用數據庫獲取某月某地發生的地震事件個數、事件的類型(天然地震、爆破、塌陷等),并分析當月各地震類型所占的百分比以及日頻次,以便用于月會商及月短信服務中,有效提高了工作效率。另外,還可將所獲信息按照預先制定好的模板以Word文檔的形式導出到本地,以供官方發布使用。

圖5 月報產出模塊

如圖6所示為最新地震模塊窗口,該模塊基于World Wind Java技術實現[14],界面共分為內容顯示區、測量工具區、圖層控制區以及地圖展示區4部分。讀取最新地震數據后將其顯示在內容顯示區的文本框內,當震級達到設定下限時,報警按鈕啟動,以提醒值班人員。另外3部分則是通過AWT組件中的World Window GL Canvas功能來顯示。AWT組件是獨立式的,能為應用程序提供三維地球和圖層的渲染[15],包含了基礎圖像層(Basic Tiled Image Layer)、羅盤層(Compass Layer)、比例尺層(Scalebar Layer)、世界地圖層(Wor1d Map Layer)和測量工具層(Measure Layer)等,同時還可根據需求增加全國斷層、各省市行政區劃等shp文件圖層[16]等。測量工具層主要負責獲取測量點之間的距離、高程剖面等。

圖6 最新地震模塊

其他模塊窗口如圖7所示,主要提供大震速報流程、震級轉換表等方面的內容。

圖7 其他模塊

4 結束語

本文詳細的分析了基于Java的地震速報信息服務系統的設計與實現,并對軟件數據庫及各功能模塊的界面設計做了詳盡的闡述。該軟件自投入使用以來運行穩定,地震速報信息讀取準確及時,共下載數據數百次、生成月報7次、報警多次,能夠及時提醒值班人員并快速獲取相關地震信息,提高了工作效率,減少了工作壓力。該軟件具有操作簡單、管理維護方便等優點,通過數據共享打破了各部門間的信息閉塞,有利于信息交流和防震減災事業的發展。

猜你喜歡
速報震級界面
基于累積絕對位移值的震級估算方法
地震后各國發布的震級可能不一樣?
國企黨委前置研究的“四個界面”
新震級國家標準在大同臺的應用與評估
每月速報
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
每月速報
人機交互界面發展趨勢研究
每月速報
手機界面中圖形符號的發展趨向
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合