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

?

基于開源組件的礦井GIS一張圖系統(tǒng)設計與實現(xiàn)

2020-10-22 11:27黎佩東
煤炭工程 2020年10期
關鍵詞:開源礦井軌跡

黎佩東,許 金,何 橋

(中煤科工集團重慶研究院有限公司,重慶 400039)

煤安監(jiān)函[2016]5號《煤礦安全監(jiān)控系統(tǒng)升級改造技術方案》明確要求煤礦安全監(jiān)控系統(tǒng)必須支持多網、多系統(tǒng)融合,必須實現(xiàn)監(jiān)測監(jiān)控與GIS技術的有機融合。當前的煤礦安全監(jiān)控系統(tǒng),多采用組態(tài)軟件來實現(xiàn)井下巷道與設備等要素的集中展示[1-3]。組態(tài)軟件不具有縮放及縮放后改變要素樣式的功能,當礦井結構足夠復雜,在有限的界面大小內,會出現(xiàn)巷道交叉重疊、設備堆疊排放的情況。不能很好的平衡信息的全面與界面的簡要,是組態(tài)軟件在礦井綜合展示業(yè)務中的局限。

由此本文在對比現(xiàn)有成熟的GIS組件中,選擇PostGIS、Geoserver、Openlayers三款開源GIS組件組合,搭建出了一款能夠實現(xiàn)巷道空間位置展示、實時監(jiān)測設備參數、人員井下軌跡回放的多系統(tǒng)可用的礦井一張圖模塊,以較低的開發(fā)與分發(fā)成本滿足了新一代礦井安全系統(tǒng)對圖形化顯示的要求。

1 礦井GIS一張圖原理與架構設計

1.1 開源GIS組件選擇

現(xiàn)有的市面上商業(yè)GIS組件,無論是美國ESRI公司ARCGIS系列還是國內的超圖系列軟件,其收費方式都是基于分發(fā)數來決定[4,5]??紤]到煤礦監(jiān)控系統(tǒng)對安全的高要求和GIS一張圖的推廣性,本文全部采用開源GIS組件,進行二次開發(fā)。為了安裝與部署的方便性,礦井GIS一張圖組件應能滿足B/S架構進行開發(fā)設計?,F(xiàn)有國內外使用最廣泛,最穩(wěn)定的開源架構為PostGIS+Geoserver+Openlayers[5-7]。

PostGIS是PostgreSQL的空間數據擴展[8,9],一方面它提供了Geometry數據格式用于儲存有空間參考的點線面矢量數據,另一方面它也提供了上百個空間運算的SQL方法,可用于空間數據的轉化、關系運算、處理、編輯等功能,配合PostgreSQL數據庫的Function類型與PgSQL語言,使得PostGIS成為了當前唯一的內部可編程的空間數據庫。

Geoserver是現(xiàn)有開源GIS服務端中功能最豐富的一款,支持包括PostGIS數據庫在內的多種地理數據來源,支持wmts、wms、wfs等多種OGC標準的數據發(fā)布接口,尤其是其支持slg樣式語言對地圖樣式的修改、支持wfs-t數據修改接口、支持PostGIS中使用SQL進行數據查詢等,對于實現(xiàn)礦井一張圖模塊的全部功能提供了非常強大的支撐[10]。

Openlayers本質是一種WebGIS API。在網頁上實現(xiàn)可縮放平移的地圖空間的構建,并通過接口獲取已經渲染完畢的地圖放置其中,或者使用未渲染矢量數據內部渲染展示,是WebGIS API區(qū)別與其他網頁組件的基本能力,也是在網頁上實現(xiàn)地圖展示與交互必備工具。Openlayers作為現(xiàn)有開源WebGIS API中歷史最長久、功能最豐富的一款,其對于OGC接口的完整支持是搭建開源GIS模塊的最佳選擇[11-13]。

由此本文選擇開源組件PostGIS+Geoserver+Openlayers進行二次開發(fā)。

1.2 架構與原理

礦井一張圖模塊的目的是對井下多類系統(tǒng)設備和實時監(jiān)測數據的分層展示等?;炯軜媹D如圖1所示。

圖1 GIS一張圖架構

GIS一張圖主要包含基于Openlayers的前端網頁、GIS服務器、空間數據庫和外部接口。數據展現(xiàn)的一般流程為前端通過Openlayer發(fā)出請求,Geoserver接受請求,并調用PostgreSQL查詢數據,并經過PostGIS運算分析,將結果再由PostgreSQL返回給Geoserver服務器,然后經過渲染或處理傳遞給Openlayers,最后呈現(xiàn)給用戶。具體如下:

1)基于Openlayers的前端網頁。前端界面是整個一張圖模塊的核心,一方面它分別由外部口獲取業(yè)務數據,由GIS服務器獲取地理數據,綜合兩種數據生成最終展示圖形;另一方面它接收用戶的編輯操作,并將編輯結果上傳至GIS服務器用于顯示。以Openlayers API生成的地圖為核心,顯示獲取自GIS服務端的已經渲染完成的巷道圖,并根據圖層控制樹的篩選,顯示井下的各類設備以及工作面。

2)GIS服務器。GIS服務器是連接前端網頁與空間數據庫的橋梁,不同于一般程序無定型的數據結構與前后端交互方式,GIS數據的格式相對復雜且固定,于是一個不需要編程的通用GIS服務端程序便應運而生,而且逐漸具備了獨有的常用功能,比如矢量數據渲染為柵格圖像并發(fā)布。

在一張圖模塊中,Geoserver服務器對外發(fā)布了設備、巷道、工作面的數據接口,提供編輯與查詢;發(fā)布了人員軌跡生成與巷道拓撲生成的調用接口;通過編寫slg渲染樣式,發(fā)布了渲染后的巷道圖像。

3)空間數據庫。在一張圖模塊的架構中,PostGIS空間數據庫,承當空間數據存儲與空間運算兩大功能。其支持的Geometry空間數據格式是便捷、完整存取設備位置、巷道走勢、工作范圍的保證,也是進行空間運算基礎。

4)外部接口。一張圖模塊的對外接口都是在網頁端提供的,主要是為了適配多系統(tǒng)調用減少耦合,分為數據獲取接口與功能調用接口:數據獲取接口是返回JSON數據的Webservice接口,包括設備的定義與監(jiān)測數據接口、工作面的定義與監(jiān)測數據接口;功能調用接口是前端交互的Post Message接口,包括著重顯示設備接口、人員軌跡回放接口、設備點擊事件回調接口等。

1.3 關鍵算法

礦井一張圖的GIS展現(xiàn),主要涉及巷道拓撲生成算法,以實現(xiàn)礦井巷道的數字化;人員軌跡回放算法,以實現(xiàn)人員軌跡的融合與回溯;井下各要素空間關系算法,以確定并展現(xiàn)監(jiān)測點與巷道的空間位置。

1.3.1 巷道拓撲生成算法

用戶在前端繪制巷道的時候一般不會考慮到巷道的拓撲是否完整與一致,比如通用數據結構中要求相互連接的三叉、四叉路口必須由三條、四條獨立的巷道端點重合而成,而一般用戶繪制時只會在主巷道上橫畫一條新巷道出去,不會做將主巷道打斷這一步驟。

為解決用戶自繪制巷道拓撲不能使用的問題,提出巷道拓撲生成算法,算法會根據巷道坐標位置自動提取與每一條巷道相交的巷道,并進一步提取相交巷道的端點與拐點,最后使用端點與拐點的集合對巷道進行打斷,將打斷后的巷道分別保存拓撲表,如圖2所示。

圖2 巷道拓撲生成算法原理

通過本算法,可以在不要求用戶按照拓撲標準繪制巷道、不增加用戶繪制工作的情況下,又能獲取完整的巷道拓撲數據,以支持巷道路徑運算。

1.3.2 人員軌跡回放算法

為保障煤礦人員的安全,需要對煤礦進行活動軌跡進行反演。而當前的人員定位系統(tǒng)多為非精確定位系統(tǒng),因此獲取的人員軌跡只能大致的位置。考慮煤礦井下實際環(huán)境以及作業(yè)人員實際活動情況,通常來說兩個監(jiān)測點之間的最短巷道距離為作業(yè)人員在此監(jiān)測點的實際軌跡。因此本系統(tǒng)主要基于最短路徑算法實現(xiàn)人員軌跡回放。具體實現(xiàn)原理如圖3所示:

圖3 井下人員軌跡回放原理

1)通過WCF等相關接口從煤礦安監(jiān)控系統(tǒng)獲取人員軌跡列表數據,通過PostSQL獲取人員定位設備位置。

2)主程序向前端頁面發(fā)送軌跡回放指令及人員經過的定位設備列表,前端網頁執(zhí)行顯示變化為軌跡回放作準備,并將所有經過的定位設備標注在地圖上。

3)前端頁面向Geoserver發(fā)送定位設備列表數據,Geoserver向PostGIS調用人員軌跡生成算法。

4)在人員軌跡算法中,會遍歷獲取列表中定位設備的位置,調用以Dijkstra算法為核心的兩點間最短路線算法,拼接n-1條最短路徑作為人員在井下的完整軌跡輸出。

5)Geoserver將人員軌跡算法的結果返回前端頁面,前端頁面將完整軌跡顯示在地圖上,并使用定時函數定距前進的方式實現(xiàn)人員圖標沿軌跡移動的動畫。

從圖3可知人員軌跡回放的核心為兩點間最短路徑的生成。本文基于巷道拓撲數據為基礎,采用Dijkstra實現(xiàn)最短路徑的生成,拓撲數據是由全部岔路口組成的節(jié)點表,以及鏈接各節(jié)點的線段表組成。其算法步驟如下(其中頂點為岔路口組成的節(jié)點):①初始時,S只包含源點,即S={v},v的距離為0,U包含除v外的其他頂點,即:U={其余頂點},若v與U中頂點u有邊,則正常有權值,若u不是v的出邊鄰接點,則權值為∞;②從U中選取一個距離v最小的頂點k,把k,加入S中(該選定的距離就是v到k的最短路徑長度);③以k為新考慮的中間點,修改U中各頂點的距離;若從源點v到頂點u的距離(經過頂點k)比原來距離(不經過頂點k)短,則修改頂點u的距離值,修改后的距離值的頂點k的距離加上邊上的權;④重復步驟b和c直到所有頂點都包含在S中。

1.3.3 井下各要素空間關系的算法

一方面井下各要素都實際只存在于巷道中、相互間只能通過巷道聯(lián)系;另一方面用戶在繪制巷道與布置設備、關鍵點時,既可能為了查看方便將要素放置在巷道外,也可能為了美觀不按照真實距離比例繪制巷道與布置要素。計算井下各要素空間關系時,必然要考慮到上述情況做特殊處理。

如圖4所示,計算設備、關鍵點與巷道的關系時,首先取與之相交的巷道作為所在巷道,沒有相交時,取距離最近的巷道作為所在巷道。計算設備與關鍵點的關系時,首先去設備與關鍵點在臨近巷道上的最近點作為實際存在點,再獲取兩個最近點的最短路徑,取最短路徑的長度作為設備與關鍵點的實際距離。

圖4 井下各要素空間關系算法

井下各要素的空間關系,除了作為其他算法的中間參數之外,也會輸出到外部程序作為判斷設備安裝合規(guī)的條件使用。

2 系統(tǒng)實現(xiàn)

2.1 GIS一張圖實現(xiàn)

GIS一張圖實現(xiàn)流程如圖5所示,GIS一張圖展現(xiàn)的基本操作步驟為,首先結合煤礦安全監(jiān)控系統(tǒng)圖、礦井通風系統(tǒng)圖和采掘工程布置圖人工繪制GIS巷道,實現(xiàn)巷道的數字化。繪制巷道時,需要設置巷道的屬性,包括巷道類型、所屬工作面、所屬開采水平、風向、巷道長度、巷道高度、巷道斷面類型等。繪制完成后,系統(tǒng)會運用巷道拓撲生成算法檢查并生成巷道拓撲關系。然后需要將瓦斯、溫度、風速、人員、局扇等進行圖元化,即設置各自的圖標,并手動綁定到巷道上,然后系統(tǒng)調用井下各要素關系算法,確定巷道與設備的空間位置關系。然后,根據相關規(guī)程整理得到各巷道設備安裝規(guī)則集,即不同礦井、不同類型的巷道應安裝的傳感器類型、個數。依據規(guī)則集和已繪制的巷道設備關系,系統(tǒng)自動評判巷道設備繪制是否合規(guī),并給出提示。最后通過數據接口,將實時采集的數據展現(xiàn)在礦井GIS一張圖上。由于傳感器類別不同,同時分類別設置了巷道的屬性,所屬水平,GIS一張圖可以根據選分層展現(xiàn)巷道、分類別展現(xiàn)設備等。

圖5 GIS一張圖實現(xiàn)流程

2.2 系統(tǒng)功能

為確保本系統(tǒng)的獨立性和安全性,本系統(tǒng)采用相對獨立的方式進行開發(fā)和部署。本系統(tǒng)采用Java語言進行開發(fā),Tomcat作物應用服務器容器。開發(fā)完成的GIS一張圖可以完全嵌入其余任何系統(tǒng),實現(xiàn)與其他系統(tǒng)的適配。對方系統(tǒng)只需按照約定格式提供數據和按照約定協(xié)議進行交互即可。本系統(tǒng)采用addEventListener() 方法,實現(xiàn)事件監(jiān)聽,進行方法與接口的調用。GIS一張圖實現(xiàn)的主要功能如圖6所示。

圖6 GIS一張圖系統(tǒng)主要功能

1)礦井巷道空間位置展現(xiàn)。GIS一張圖是基于礦井真實巷道布置轉化而來。通過GIS一張圖可以直觀的掌握煤礦的各類巷道分布及巷道間的空間位置關系和運輸系統(tǒng)、通風系統(tǒng)、排水系統(tǒng)等礦井各大生產系統(tǒng)的布置。

2)實時數據展現(xiàn)。本系統(tǒng)通過WCF、WebAPI等接口的方式從煤礦安全監(jiān)控系統(tǒng)、人員定位系統(tǒng)等獲取數據,并動態(tài)展示實時監(jiān)測數據。系統(tǒng)采取分系統(tǒng)分類別展示監(jiān)測點及數據,用于可以隨時選擇只展示某幾個系統(tǒng)或某幾類數據。數據展示采用主動獲取和被動接受的兩種方式。主動獲取方式為GIS一張圖界面每間隔一定時間去請求各類生產系統(tǒng),獲得最新的數據,并展現(xiàn)到界面上。被動方式為GIS一張圖設置監(jiān)聽器,時刻監(jiān)聽是否有新的數據到來,并將監(jiān)聽到的數據刷新到界面上。

對于獲取的報警數據,根據報警級別采用不同的顏色進行展現(xiàn),同時針對不同類別的異常數據可以設置語音報警,以提示用戶實時了解礦井安全生產監(jiān)測狀態(tài)。

3)人員軌跡回放。采用人員軌跡回放算法,可以快速自動實現(xiàn)歷史作業(yè)人員的軌跡回放。

4)井下設備關系空間展示。根據獲取到的井下交換機環(huán)網、分站和傳感器數據及對應的設備拓撲關系通過連線的方式展現(xiàn) GIS一張圖上。同時根據獲取到控饋關系、傳感器斷電影響范圍等通過關系圖和影響區(qū)域圖的方式展現(xiàn)在GIS一張圖中。當某一個傳感器超上限斷電時,傳感器會自動變?yōu)閳缶癄顟B(tài)顏色,同其斷電影響范圍內會突出顯示,影響范圍內的井下人員也會突出顯示在GIS一站圖中。

5)安全風險信息展現(xiàn)等。由于GIS具有很強的擴展性和兼容性,該系統(tǒng)可以接入煤礦所有生產系統(tǒng)、監(jiān)測監(jiān)控系統(tǒng)和安全管理系統(tǒng)以及視頻等。

3 系統(tǒng)應用

該系統(tǒng)現(xiàn)在主要應用在KJ90X煤礦安全監(jiān)控中,用于支持融合不同廠家的人員定位系統(tǒng)、廣播系統(tǒng)、LED顯示屏等,并實現(xiàn)各類數據的展現(xiàn)和查看,同時也根據相應授權對各類系統(tǒng)發(fā)送指令。由于本系統(tǒng)的相對獨立性和可擴展性,本系統(tǒng)也應用在煤礦監(jiān)管監(jiān)察中,為監(jiān)管人員實現(xiàn)煤礦各類監(jiān)管參數的便捷查詢、實時分析提供支撐。

4 結 論

1)礦井GIS一張圖系統(tǒng)是基于開源PostGIS+Geoserver+Openlayers組件二次開發(fā)構建,實現(xiàn)了礦井巷道與監(jiān)測監(jiān)控設備的數字化和井下多系統(tǒng)業(yè)務集成與“一張圖”數據展示。

2)該系統(tǒng)將各類監(jiān)測監(jiān)控系統(tǒng)數據通過一張圖的形式展現(xiàn),使得各類數據的時空相關系更加直觀,監(jiān)管監(jiān)察人員可以直觀的掌握各類數據狀態(tài)和相鄰空間數據狀態(tài),從而可為礦山安全防控的信息快速查詢,指導決策提供支撐。

3)由于該系統(tǒng)完全采用開源組件開發(fā),且通過外部接口的方式與煤礦各類業(yè)務系統(tǒng)進行數據交互,既保持了各類業(yè)務系統(tǒng)原有的封閉性和安全性,又具有較強的適用性和推廣性。

猜你喜歡
開源礦井軌跡
軌跡
軌跡
五毛錢能買多少頭牛
2019開源杰出貢獻獎
以機器人研發(fā)應用引領礦井“四化”建設
建立三大長效機制 保障礦井長治久安
軌跡
進化的軌跡(一)——進化,無盡的適應
高瓦斯礦井防治瓦斯異常涌出措施的應用
大家說:開源、人工智能及創(chuàng)新