国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

地震預(yù)警PC客戶端的設(shè)計(jì)與實(shí)現(xiàn)

2022-10-15 13:17李水龍周施文于偉恒
現(xiàn)代信息科技 2022年14期
關(guān)鍵詞:數(shù)據(jù)包客戶端界面

李水龍,周施文,于偉恒

(福建省地震局,福建 福州 350003)

0 引 言

置、預(yù)警參數(shù)信息、預(yù)警目標(biāo)城市預(yù)警時(shí)間以及預(yù)測烈度等。

地震預(yù)警作為一種能夠有效減輕地震災(zāi)害的手段,主要是利用地震P 波傳播速度大于破壞性S 波和面波,以及電磁波的傳播速度遠(yuǎn)遠(yuǎn)大于地震波波速的原理,在盡可能短的時(shí)間內(nèi)確定地震基本參數(shù)(發(fā)震時(shí)刻、震源位置、地震震級(jí))或者估計(jì)預(yù)警目標(biāo)區(qū)地震參數(shù)和破壞程度,在破壞性地震波到達(dá)目標(biāo)區(qū)域之前,對(duì)可能的破壞區(qū)域發(fā)出地震警報(bào)信息。地震預(yù)警客戶端界面作為預(yù)警信息發(fā)布的組成部分,可以將數(shù)值型的地震預(yù)警信息,以圖像的形式直觀明了地展現(xiàn)出來,從而提升信息的使用價(jià)值,提高用戶對(duì)信息內(nèi)涵的理解程度。作為地震預(yù)警系統(tǒng)的前端展現(xiàn)門戶,可為預(yù)警目標(biāo)城市提供預(yù)警信息發(fā)布的功能,并可通過形式多樣、清新友好的人機(jī)界面來更新展示地震預(yù)警的處理結(jié)果,實(shí)時(shí)展示地震空間位

1 預(yù)警信息傳輸協(xié)議

地震預(yù)警PC 客戶端采用MQTT 傳輸協(xié)議實(shí)現(xiàn)預(yù)警信息的接收、解析和可視化展示,預(yù)警信息的傳輸服務(wù)質(zhì)量控制方式為“只有一次”,客戶端收到且只收到一次地震預(yù)警信息,可通過XML 配置文件進(jìn)行靈活配置以實(shí)現(xiàn)不同區(qū)域的擴(kuò)展使用。地震預(yù)警信息數(shù)據(jù)包由固定報(bào)頭、可變報(bào)頭和有效載荷組成。

所有數(shù)據(jù)包字節(jié)順序應(yīng)為網(wǎng)絡(luò)字節(jié)序(即大端字節(jié)序,其將高位字節(jié)存于內(nèi)存低地址端,低位字節(jié)存于內(nèi)存高地址端),字符編碼采用UTF-8。地震預(yù)警信息的傳輸采用JSON 數(shù)據(jù)包格式,固定報(bào)頭結(jié)構(gòu)如表1所示。

表1 地震預(yù)警信息JSON 數(shù)據(jù)包固定報(bào)頭結(jié)構(gòu)

地震預(yù)警信息JSON 數(shù)據(jù)包的可變報(bào)頭位于數(shù)據(jù)包固定報(bào)頭和有效載荷之間,長度為12 Byte,可變報(bào)頭結(jié)構(gòu)如表2所示。

表2 地震預(yù)警信息JSON 數(shù)據(jù)包可變報(bào)頭結(jié)構(gòu)

地震預(yù)警信息JSON 數(shù)據(jù)包有效載荷的具體結(jié)構(gòu)如表3所示。

表3 地震預(yù)警信息JSON 數(shù)據(jù)包有效載荷結(jié)構(gòu)

2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

地震預(yù)警PC 客戶端采用C/S 結(jié)構(gòu),基于java 語言進(jìn)行開發(fā),采用java Swing 工具包實(shí)現(xiàn)界面的開發(fā)和設(shè)計(jì)。

2.1 接口

在系統(tǒng)內(nèi)部接口方面,各模塊之間采用函數(shù)調(diào)用、參數(shù)傳遞、返回值的方式進(jìn)行信息傳遞。接口傳遞的信息是以數(shù)據(jù)結(jié)構(gòu)封裝的數(shù)據(jù),以參數(shù)傳遞或返回值的形式在各模塊之間傳輸。

地震預(yù)警信息顯示是以MVC 模式展示綜合處理輸出的地震預(yù)警處理結(jié)果。MVC 分別為模型(Mdoel)、視圖(View)和控制(Controller)。MVC 模式的目的是實(shí)現(xiàn)系統(tǒng)的智能分工。Model 層實(shí)現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,View 層實(shí)現(xiàn)與用戶的交互,Controller 層是Model 與View 之間溝通的橋梁,它可以分派用戶的請(qǐng)求并選擇恰當(dāng)?shù)囊晥D進(jìn)行顯示,同時(shí)也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。接口的內(nèi)部傳輸示意圖如圖1所示。

圖1 接口示意圖

2.2 地震預(yù)警信息顯示

地震預(yù)警信息顯示功能主要用于對(duì)地震預(yù)警處理結(jié)果的實(shí)時(shí)監(jiān)控和人機(jī)交互歷史瀏覽,并不存在大量的計(jì)算,對(duì)于C/S 結(jié)構(gòu)的實(shí)時(shí)監(jiān)控來說,需要完成對(duì)地震預(yù)警處理過程的動(dòng)態(tài)展現(xiàn),如P 波和S 波走時(shí)圈的實(shí)時(shí)跟蹤,考慮到一般顯示系統(tǒng)都是采用單線程模式來處理界面信息的刷新和同步,在設(shè)計(jì)時(shí)要充分考慮界面信息的動(dòng)態(tài)變化需求。

地震預(yù)警客戶端涉及到的地圖界面的顯示,需要對(duì)經(jīng)緯度與屏幕坐標(biāo)之間進(jìn)行投影變換,如圖2所示。

圖2 經(jīng)緯度與屏幕坐標(biāo)轉(zhuǎn)換示意圖

定義經(jīng)度轉(zhuǎn)的比例如式(1)所示:

定義緯度轉(zhuǎn)的比例如式(2)所示:

定義轉(zhuǎn)經(jīng)度的比例如式(3)所示:

定義轉(zhuǎn)緯度的比例如式(4)所示:

經(jīng)緯度(lon,lat)轉(zhuǎn)屏幕坐標(biāo)(,)如式(5)和式(6)所示:

屏幕坐標(biāo)(,)轉(zhuǎn)經(jīng)緯度坐標(biāo)如式(7)和式(8)所示:

2.3 客戶端界面運(yùn)行流程

地震預(yù)警PC 客戶端的運(yùn)行流程分為實(shí)時(shí)監(jiān)控界面顯示流程、人機(jī)交互瀏覽界面顯示流程和輔助流程。

2.3.1 實(shí)時(shí)監(jiān)控界面顯示流程

實(shí)時(shí)監(jiān)控界面顯示流程如圖3所示,具體流程為:

圖3 地震預(yù)警信息顯示-實(shí)時(shí)監(jiān)控

(1)當(dāng)有新的地震預(yù)警處理結(jié)果到達(dá)時(shí),啟動(dòng)本項(xiàng)功能;

(2)系統(tǒng)從新的地震預(yù)警處理結(jié)果中提取地震基本參數(shù),并更新界面上對(duì)應(yīng)的信息;

(3)系統(tǒng)從新的地震預(yù)警處理結(jié)果中提取預(yù)警目標(biāo)的預(yù)測烈度,并更新界面上對(duì)應(yīng)的信息;

(4)系統(tǒng)從新的地震預(yù)警處理結(jié)果中提取波及波走時(shí)圈,并更新界面上對(duì)應(yīng)的信息;

(5)系統(tǒng)從新的地震預(yù)警處理結(jié)果中提取處理過程摘要,并更新界面上對(duì)應(yīng)的信息;

(6)系統(tǒng)從新的地震預(yù)警處理結(jié)果中提取對(duì)外發(fā)布的地震預(yù)警信息,并更新界面上對(duì)應(yīng)的信息。

2.3.2 人機(jī)交互瀏覽界面顯示流程

人機(jī)交互瀏覽界面顯示的具體流程為:

(1)當(dāng)選擇人機(jī)交互歷史瀏覽時(shí),本項(xiàng)功能就會(huì)啟動(dòng);

(2)用戶選擇感興趣的歷史地震預(yù)警目錄列表;

(3)系統(tǒng)根據(jù)用戶選擇的預(yù)警事件ID,從歸檔的地震預(yù)警信息中返回符合條件地震預(yù)警信息;

(4)系統(tǒng)將界面信息更新為選擇的地震預(yù)警事件。

2.3.3 輔助流程

實(shí)時(shí)監(jiān)控界面只有與地震預(yù)警信息發(fā)布建立連接,才能實(shí)時(shí)接收地震預(yù)警的處理結(jié)果,具體流程為:

(1)當(dāng)用戶啟動(dòng)客戶端軟件程序時(shí),本項(xiàng)功能就會(huì)啟動(dòng);

(2)系統(tǒng)向地震預(yù)警信息發(fā)布發(fā)送連接請(qǐng)求;

(3)系統(tǒng)向地震預(yù)警信息發(fā)布發(fā)送用戶名和密碼;

(4)地震預(yù)警信息發(fā)布在確認(rèn)是授權(quán)客戶后與系統(tǒng)建立連接。

2.4 預(yù)警信息加工

預(yù)警客戶端接收到預(yù)警信息后,需要對(duì)預(yù)警信息做進(jìn)一步的解析和處理,計(jì)算客戶端所在地區(qū)的預(yù)警時(shí)間和預(yù)測烈度,然后在客戶端界面顯示對(duì)應(yīng)的信息。

2.4.1 預(yù)警時(shí)間計(jì)算

預(yù)警客戶端所在地的預(yù)警時(shí)間根據(jù)以下公式求得:

其中,為震源距,V為波的傳播速度,T為客戶端接收到預(yù)警信息的系統(tǒng)時(shí)間,為發(fā)震時(shí)刻。

2.4.2 預(yù)測烈度計(jì)算

預(yù)警客戶端在接收到地震預(yù)警信息后,根據(jù)客戶端所在位置計(jì)算震中距離,基于烈度衰減關(guān)系和接收到的地震預(yù)警參數(shù)信息估計(jì)本地潛在的地震烈度,預(yù)測本地烈度的公式為:

其中,為震中烈度,Dis 為震源距,單位為千米(km),、為回歸常數(shù),不同地區(qū)取值不同,為近場飽和因子,不同地區(qū)取值不同。

2.5 可視化界面的實(shí)現(xiàn)

地震預(yù)警客戶端界面的實(shí)現(xiàn)采用java Swing 工具包實(shí)現(xiàn)界面的開發(fā)和設(shè)計(jì),如圖4所示。界面主要包括4 個(gè)部分:

圖4 地震預(yù)警PC 客戶端界面

(1)菜單欄。菜單欄位于界面的最上部,包括預(yù)警等級(jí)、客戶端選擇、顯示客戶端信息按鈕。

(2)預(yù)警歷史目錄欄。預(yù)警歷史目錄欄位于界面最左側(cè),包括歷史地震預(yù)警目錄和歷史事件導(dǎo)入按鈕兩個(gè)部分,可手動(dòng)導(dǎo)入歷史地震事件文件。

(3)地圖欄。地圖欄位于界面的中間位置,包括行政地圖、高速鐵路、大型水庫以及核電站等大型工程的空間位置分布;當(dāng)接收到預(yù)警信息后會(huì)在地圖界面展示地震震中位置、盲區(qū)范圍、波及波傳播范圍、3 度區(qū)及6 度區(qū)范圍等信息;地圖界面可拖動(dòng),可放大縮小。

(4)圖標(biāo)欄。圖標(biāo)欄位于界面的最下方,包括預(yù)警系統(tǒng)連接狀態(tài)、預(yù)警發(fā)布準(zhǔn)則圖例等。

系統(tǒng)界面啟動(dòng)成功后,點(diǎn)擊“選擇客戶端”選項(xiàng)選擇預(yù)警目標(biāo)城市,點(diǎn)擊“顯示客戶端信息”按鈕顯示客戶端預(yù)警信息框。

部分代碼為:

3 結(jié) 論

地震預(yù)警PC 客戶端界面是地震預(yù)警系統(tǒng)的重要組成部分,也是地震預(yù)警信息發(fā)布的基本途徑之一,本文從預(yù)警信息的傳輸協(xié)議、接口設(shè)計(jì)、信息傳輸流程、預(yù)警信息加工等方面,對(duì)地震預(yù)警PC 客戶端界面的設(shè)計(jì)和實(shí)現(xiàn)進(jìn)行了簡要介紹,希望本文能夠?yàn)榈卣痤A(yù)警系統(tǒng)運(yùn)維人員和PC 客戶端界面使用人員提供參考。

猜你喜歡
數(shù)據(jù)包客戶端界面
“人民網(wǎng)+客戶端”推出數(shù)據(jù)新聞
——穩(wěn)就業(yè)、惠民生,“數(shù)”讀十年成績單
基于時(shí)隙ALOHA與NOMA的通信系統(tǒng)性能分析
共沉淀引發(fā)的溶解性有機(jī)質(zhì)在水鐵礦/水界面的分子分餾特性*
從零開始學(xué)用智能手機(jī)
C#串口高效可靠的接收方案設(shè)計(jì)
虛擬專用網(wǎng)絡(luò)訪問保護(hù)機(jī)制研究
新聞客戶端差異化發(fā)展策略
網(wǎng)絡(luò)數(shù)據(jù)包的抓取與識(shí)別
淺析IEEE 802.1x及其客戶端軟件
铁力市| 饶平县| 新丰县| 双柏县| 涟源市| 马山县| 镇赉县| 文水县| 育儿| 和林格尔县| 长宁县| 泾源县| 随州市| 北辰区| 沈阳市| 辽宁省| 仙居县| 扬中市| 定兴县| 武功县| 三门峡市| 保康县| 库伦旗| 嘉黎县| 胶州市| 商南县| 盱眙县| 玛沁县| 新化县| 景宁| 宜宾县| 娱乐| 平陆县| 漳浦县| 永福县| 保山市| 南和县| 梅河口市| 峨边| 定陶县| 锡林浩特市|