郝世昱 姚曉冬
(公安部第一研究所安檢事業(yè)部 北京 102200)
基于WebGIS的機(jī)場安檢運(yùn)維管理系統(tǒng)
郝世昱 姚曉冬
(公安部第一研究所安檢事業(yè)部 北京 102200)
隨著機(jī)場各類安檢設(shè)備的不斷擴(kuò)張,傳統(tǒng)的排查運(yùn)維方式消耗大量人力物力,且故障發(fā)生時(shí),運(yùn)維人員無法直觀的得到故障發(fā)生的位置及詳細(xì)信息,導(dǎo)致應(yīng)對(duì)突發(fā)故障的能力較差。為了解決這個(gè)問題,研究開發(fā)了一個(gè)基于WebGIS技術(shù)的機(jī)場安檢運(yùn)維管理系統(tǒng)。該系統(tǒng)以電子地圖的方式展示各個(gè)設(shè)備的位置,并實(shí)時(shí)標(biāo)識(shí)設(shè)備的運(yùn)行狀態(tài),同時(shí)支持各類運(yùn)維信息的查詢。突發(fā)故障發(fā)生時(shí),系統(tǒng)將第一時(shí)間通知運(yùn)維人員并提供路徑規(guī)劃的服務(wù)。系統(tǒng)支持PC、移動(dòng)終端等多種接入方式,提高了設(shè)備運(yùn)維的效率,進(jìn)一步提升了安檢系統(tǒng)的可靠性。
室內(nèi)地圖 設(shè)備運(yùn)維 安檢系統(tǒng)
地理信息系統(tǒng),由于其在可視化表達(dá)和解決空間位置等問題具有的強(qiáng)大優(yōu)勢,在公共安全業(yè)務(wù)中得到了廣泛應(yīng)用[1]。隨著信息技術(shù)的不斷發(fā)展,越來越多的機(jī)場部署了安全檢查系統(tǒng),而安全檢查系統(tǒng)中的各種設(shè)備,如X射線機(jī)、金屬門、服務(wù)器、工作站PC機(jī)、交換機(jī)、磁盤陣列等,分散在機(jī)場的各個(gè)位置,不同設(shè)備的工作機(jī)制、運(yùn)行狀況、使用頻率和定檢時(shí)間千差萬別。隨著機(jī)場的建設(shè)和設(shè)備規(guī)模的擴(kuò)張,傳統(tǒng)的排查和人工記錄的方式已經(jīng)無法滿足實(shí)際的運(yùn)維需求,同時(shí),在出現(xiàn)突發(fā)故障時(shí),運(yùn)維人員無法快速響應(yīng),及時(shí)處置,造成了極大的隱患。WebGIS的出現(xiàn)很好的解決了這個(gè)問題,本文基于GeoServer和OpenLayers設(shè)計(jì)開發(fā)的設(shè)備運(yùn)維管理系統(tǒng),將設(shè)備通過電子地圖的方式進(jìn)行展示,構(gòu)建了支持快速查詢、定位、路徑規(guī)劃、專題狀態(tài)可視化的運(yùn)維平臺(tái),同時(shí)結(jié)合移動(dòng)端的應(yīng)用,形成了高效預(yù)警和保障機(jī)制,進(jìn)一步提高了安全檢查系統(tǒng)的可靠性。
在機(jī)場部署一個(gè)包含建筑物分布、設(shè)備和主要地標(biāo)的地圖應(yīng)用,需要解決兩大主要問題:①機(jī)場安檢系統(tǒng)部署在獨(dú)立的局域網(wǎng)中,與外網(wǎng)隔離,無法直接訪問地圖服務(wù)商發(fā)布的地圖服務(wù)。因此,必須在局域網(wǎng)內(nèi)構(gòu)建一套完整的地圖服務(wù)框架,同時(shí)自建地圖圖層。②大規(guī)模設(shè)備的實(shí)時(shí)狀態(tài)刷新,需要充分考慮通信時(shí)延和地圖刷新機(jī)制,保證故障在第一時(shí)間報(bào)警。
WebGIS的出現(xiàn)替代了傳統(tǒng)的client/Server的模式,將原本部署在各客戶端的地理信息系統(tǒng)功能集中轉(zhuǎn)移至服務(wù)器,利用網(wǎng)絡(luò)發(fā)布地圖服務(wù),有效的降低了開發(fā)和維護(hù)的成本,同時(shí)有利于各類終端共享地圖數(shù)據(jù),使地理信息系統(tǒng)獲得了長足的發(fā)展。目前WebGIS技術(shù)已廣泛應(yīng)用于各類安防、指揮、預(yù)警系統(tǒng)中[2],常見的系統(tǒng)開發(fā)模式主要分為兩類:基于商業(yè)平臺(tái)和開源平臺(tái)。
目前商業(yè)GIS平臺(tái)已經(jīng)發(fā)展的相當(dāng)成熟,功能非常強(qiáng)大[3]。主流的有國外ESRI公司的ArcIMS、ArcGIS Server、MapInfo公司的MapXtreme、Autodesk的MapGuide、Intergraph的GeoMediaWebMap等。國內(nèi)近幾年GIS領(lǐng)域也取得了很大的進(jìn)步,高德、百度、騰訊等互聯(lián)網(wǎng)公司都提供了支持2次開發(fā)的SDK,四維圖新、超圖、圖聚等地圖服務(wù)廠商也都提供了各類可定制的地圖服務(wù)和開發(fā)工具。
國外GIS平臺(tái)的特點(diǎn)是,完善豐富的產(chǎn)品線,穩(wěn)定的產(chǎn)品性能和技術(shù)支持。但是由于價(jià)格高昂、架構(gòu)復(fù)雜,不適用于中小規(guī)模系統(tǒng)的快速合成,而國內(nèi)互聯(lián)網(wǎng)公司提供的2次開發(fā)SDK多面向于直接加載其地圖的需求,對(duì)局域網(wǎng)內(nèi)自建的專用地圖并不支持。而國內(nèi)其它地圖服務(wù)廠商多面向?qū)I(yè)領(lǐng)域提供定制化服務(wù),對(duì)于機(jī)場室內(nèi)這種輕量級(jí)的地圖應(yīng)用往往并不適用。
目前面世的開源地理信息系統(tǒng)軟件種類眾多,產(chǎn)品涵蓋了客戶端地圖組件、中間件、服務(wù)端平臺(tái)、后臺(tái)空間數(shù)據(jù)庫等所有空間地理信息相關(guān)的功能模塊。表給出了主流功能模塊的介紹。
表 開源GIS產(chǎn)品
GeoServer是目前最流行的一款開源GIS服務(wù)器平臺(tái),遵循0GC標(biāo)準(zhǔn),支持PostgreSQL、Shapefile、ArcSDE、Oracle、DB2、MySQL Spatial等多種大型數(shù)據(jù)庫。用JAVA語言編寫、標(biāo)準(zhǔn)的J2EE架構(gòu)、基于Servlet和Struts框架、支持高效的Spring框架開發(fā),允許用戶方便的發(fā)布地圖數(shù)據(jù)、對(duì)特征數(shù)據(jù)進(jìn)行更新、刪除、插入等操作。
GeoServer、OpenLayers和PostgreSQL空間數(shù)據(jù)庫的組合是目前應(yīng)用最為廣泛的開源框架[4],OpenLayers在客戶端實(shí)現(xiàn)Ajax功能,保證了大數(shù)據(jù)訪問量的流暢運(yùn)行,PostgreSQL也可以提供高效的空間數(shù)據(jù)存儲(chǔ)和訪問。目前,這種框架已經(jīng)廣泛應(yīng)用在消防、旅游、安防等領(lǐng)域,充分證實(shí)了該框架的可靠性和優(yōu)越的性能。因此,本文采用了這種開源框架進(jìn)行系統(tǒng)的開發(fā)。
監(jiān)控工作站除地圖顯示之外,還需要實(shí)現(xiàn)故障監(jiān)控和報(bào)警等業(yè)務(wù)。系統(tǒng)在綜合考慮通信時(shí)延和地圖刷新機(jī)制的基礎(chǔ)上采用B/S和C/S的混合架構(gòu)進(jìn)行實(shí)現(xiàn)。地圖的發(fā)布和訪問采用B/S的WebGIS模式,包括數(shù)據(jù)、服務(wù)和頁面顯示3層。監(jiān)控工作站的監(jiān)控業(yè)務(wù)采用C/S的模式實(shí)現(xiàn),通過加載瀏覽器控件并訪問HTML頁面的方式訪問地圖服務(wù)。同時(shí),其他移動(dòng)設(shè)備如手機(jī)、平板電腦等也可以通過訪問HTML頁面的方式瀏覽設(shè)備地圖。系統(tǒng)的工作流程如圖1所示。
圖1 系統(tǒng)工作流程圖
數(shù)據(jù)層是指基于PostgreSQL構(gòu)建的空間數(shù)據(jù)庫,與一般數(shù)據(jù)庫的區(qū)別是,它專門用來存儲(chǔ)空間和屬性數(shù)據(jù),支持復(fù)雜的空間數(shù)據(jù)模型和大數(shù)據(jù)量訪問。
在地圖業(yè)務(wù)中,服務(wù)層是應(yīng)用的核心部分。服務(wù)層又被分為Web服務(wù)器和GIS服務(wù)器,Web服務(wù)器是GIS服務(wù)器和客戶端通信的紐帶,負(fù)責(zé)發(fā)布HTML、JSP頁面、執(zhí)行JSP網(wǎng)頁及組件。Web服務(wù)器識(shí)別頁面的GIS請(qǐng)求,并轉(zhuǎn)發(fā)給GIS服務(wù)器,業(yè)務(wù)處理后,再將結(jié)果返回客戶端。同時(shí),Web服務(wù)器還提供緩存機(jī)制,可有效加速響應(yīng)的過程,對(duì)于縮放平移等簡單的操作,可直接在緩存中處理并返回客戶端。本文采用Apache的Tomcat作為Web服務(wù)器。GIS服務(wù)器的功能則主要是根據(jù)請(qǐng)求查詢空間數(shù)據(jù),合成地圖圖層,完成實(shí)體組件的解析和生成,同時(shí)還包含投影變換、空間數(shù)據(jù)分析等高級(jí)功能。
顯示層即客戶端瀏覽器,終端設(shè)備可通過服務(wù)層的HTML頁面訪問地圖服務(wù),監(jiān)控工作站通過加載瀏覽器控件的方式訪問地圖服務(wù),經(jīng)多種瀏覽器的效率比對(duì),最終采用了Chorme瀏覽器。OpenLayers則負(fù)責(zé)在客戶端加載電子地圖、疊加關(guān)鍵圖層、興趣點(diǎn)等功能,將設(shè)備狀態(tài)等信息在客戶端疊加到地圖頁面上,可有效減輕服務(wù)器壓力、提高訪問效率[5]。移動(dòng)終端設(shè)備可通過預(yù)裝載瀏覽器直接訪問設(shè)備地圖,也可以通過瀏覽器控件的方式進(jìn)行程序訪問。
為了方便數(shù)據(jù)的組織和訪問,GIS數(shù)據(jù)可根據(jù)空間數(shù)據(jù)的專業(yè)屬性和邏輯關(guān)系進(jìn)行分層,各層間可以類似于圖片進(jìn)行疊置。本文根據(jù)項(xiàng)目的實(shí)際需要,以設(shè)備為地圖的關(guān)鍵要素,盡可能忽略干擾元素,將地圖分為底圖、道路、主要地標(biāo)和設(shè)備4層,并根據(jù)其特征進(jìn)行數(shù)據(jù)庫設(shè)計(jì)。
3.2.1 生成shapefile文件
底圖圖層提供了一個(gè)可疊加其他圖層的框架,通常會(huì)抽象出相對(duì)穩(wěn)定不易發(fā)生變化的元素放在底圖。
底圖一般分為矢量和柵格兩種,柵格圖層借助于位圖豐富的信息,能夠更加真實(shí)的反映現(xiàn)場情況,增強(qiáng)真實(shí)感,衛(wèi)星云圖和航拍圖都是常見的柵格底圖。本文的應(yīng)用是面向機(jī)場的室內(nèi)空間,通常具有固定的裝修風(fēng)格,地面圖像往往沒有顯著的變化,出于效率的考慮,本文采用矢量圖作為底圖。
首先,將dwg格式的建筑物CAD圖紙導(dǎo)入到ArcMap中,然后,篩選出希望保留的要素,如墻面、隔離區(qū)等。進(jìn)而對(duì)各個(gè)區(qū)域進(jìn)行顏色編輯,即形成了底圖圖層。然后在底圖的基礎(chǔ)上,編輯道路、主要地標(biāo)和設(shè)備圖層。由于考慮到設(shè)備較多,且被縮放到同一個(gè)頁面下顯示的情況,采用與設(shè)備尺寸成比例的矢量矩形來表征安檢設(shè)備,以不同的顏色來標(biāo)識(shí)設(shè)備狀態(tài)。待所有的元素編輯完成后,調(diào)用ArcMap中的格式轉(zhuǎn)換工具,生成.shp格式的地圖文件。
3.2.2 導(dǎo)入空間數(shù)據(jù)庫
PostgreSQL自帶的PostGIS提供了方便的將shapefile導(dǎo)入到PostgreSQL 的功能[6]。
首先,使用shp2pgsql生成shapefile的sql腳本,在命令行界面,輸入轉(zhuǎn)換指令“C:Program FilesPostgreSQL8.3inshp2pgsql" -W "GBK" D:DeviceMap.shp > D:DeviceMap.sql”,然后,將SQL文件的編碼格式修改為ASCII,最后,在PostgreSQL的管理工具中運(yùn)行之前生成的sql腳本,即可將數(shù)據(jù)寫到數(shù)據(jù)庫中。
在發(fā)布地圖之前,需要配置Geoserver服務(wù)器。首先,將Geoserver的war包放置在tomcat的webapps文件夾下,然后,啟動(dòng)tomcat。具體的配置步驟如下:
(1)啟動(dòng)Geoserver,在瀏覽器中輸入http://localhost:8080/geoserver,登陸服務(wù)器后,新建名稱空間。
(2)點(diǎn)擊數(shù)據(jù)庫,配置和postgreSQL的數(shù)據(jù)庫連接,同時(shí)為每個(gè)圖層配置樣式表。
(3)配置FeatureTypes,為各圖層配置相應(yīng)的引用類型,生成經(jīng)緯度范圍后,即實(shí)現(xiàn)了WMS圖層的發(fā)布。
OpenLayers封裝了地圖的常見操作,在客戶端使用這個(gè)框架,可有效減少與服務(wù)器交互的次數(shù),加速響應(yīng)時(shí)間。本文通過OpenLayers的Control類分別添加了平移、旋轉(zhuǎn)、縮放、樓層切換、比例尺、全屏等控件,使常用的基本操作在本地即可完成,避免了頻繁訪問服務(wù)器。
OpenLayers提供了豐富的繪制專題圖層的方法,如點(diǎn)密度、分層渲染圖等,監(jiān)控工作站針對(duì)各類設(shè)備信息,可提供多種展示方式。
安檢設(shè)備在地圖上用矢量矩形進(jìn)行表征,當(dāng)設(shè)備狀態(tài)發(fā)生變化時(shí),本文采用更換填充顏色的方式來提示用戶,設(shè)備狀態(tài)根據(jù)實(shí)際運(yùn)行情況被劃分為關(guān)機(jī)、空閑、忙、一般故障、緊急故障5種,采用高飽和度且與底圖對(duì)比強(qiáng)烈的顏色來達(dá)到醒目提示的目的,相應(yīng)的提示顏色分別為黑、綠、黃、紫、紅。OpenLayers通過在頁面上重繪矢量矩形的方式進(jìn)行狀態(tài)刷新。
設(shè)備的故障采集代理程序?qū)⑦\(yùn)行情況上傳到設(shè)備服務(wù)器中,監(jiān)控工作站通過查詢該數(shù)據(jù)獲取設(shè)備的狀態(tài)變化,并反饋給OpenLayers,這個(gè)過程需要借助于C#與Javascript的互操作,具體的實(shí)現(xiàn)方法是首先將C#程序設(shè)置為com可訪問,Javascript通過window.external調(diào)用C#的方法,即由ObjectForScripting屬性設(shè)置的類的實(shí)例中所包含的公共方法,而C#則通過webBrowser類的Document屬性中的InvokeScript方法調(diào)用當(dāng)前網(wǎng)頁的Javascript方法。
設(shè)備故障狀態(tài)的專題圖效果如圖2所示。
圖2 部分地圖效果
計(jì)算兩點(diǎn)在路網(wǎng)中的最短路徑,有很多經(jīng)典算法和實(shí)現(xiàn),最常用的有Dijkstra[7]和A*算法,原理都是從起點(diǎn)開始計(jì)算到各點(diǎn)的最短路徑,逐個(gè)比較取最短值,相比之下A*算法效率較高。傳統(tǒng)的實(shí)現(xiàn)都是首先將路網(wǎng)數(shù)據(jù)存儲(chǔ)為圖的數(shù)據(jù)結(jié)構(gòu),在需要計(jì)算時(shí),讀取并執(zhí)行相應(yīng)的算法。而GIS應(yīng)用的特殊性在于數(shù)據(jù)庫中已經(jīng)存儲(chǔ)了道路和空間數(shù)據(jù),如果能直接利用GIS的空間數(shù)據(jù)就能避免空間和時(shí)間的2次投入。
PostGIS自帶的拓展插件PgRouting提供了路徑分析的實(shí)現(xiàn),只需在PostGIS中添加PgRouting的擴(kuò)展,并為每條路段添加相應(yīng)的權(quán)重和交叉節(jié)點(diǎn)。相應(yīng)的,OpenLayers需要在前端增加查詢和顯示路徑數(shù)據(jù)的接口函數(shù)。
當(dāng)接收到前端的查詢請(qǐng)求后,PostGIS將路徑規(guī)劃的結(jié)果保存在GIS數(shù)據(jù)庫中供前端查詢。OpenLayers在地圖上以添加Layer的方式來顯示路徑,在設(shè)置起終點(diǎn)和路徑的樣式后,為每個(gè)中間結(jié)點(diǎn)生成一個(gè)坐標(biāo)點(diǎn),并用Join的方法進(jìn)行連接,最終得到最短路徑的Layer并顯示在前端。
最短路徑的實(shí)現(xiàn)可以有效的支持故障的快速處理,經(jīng)測試發(fā)現(xiàn),PostGIS提供的路徑規(guī)劃方法能夠高效的響應(yīng)查詢請(qǐng)求,滿足業(yè)務(wù)需求。而路徑權(quán)重的設(shè)置則基于對(duì)機(jī)場的實(shí)際勘察,除實(shí)際空間距離之外還考慮了擁擠程度和受限區(qū)域的影響。
本文基于開源WebGIS框架搭建的機(jī)場安檢運(yùn)維管理系統(tǒng),以地理信息系統(tǒng)為載體,將機(jī)場各設(shè)備的信息有機(jī)地收集起來,進(jìn)行直觀高效的信息發(fā)布,形成了新型的運(yùn)維機(jī)制。目前該系統(tǒng)已經(jīng)正常運(yùn)行并穩(wěn)定、安全的實(shí)現(xiàn)報(bào)警、故障顯示、自動(dòng)定位、路徑規(guī)劃等任務(wù),大大減輕了運(yùn)維的工作量,提高了安檢系統(tǒng)的可靠性。
本文提供了一種快速構(gòu)建輕量級(jí)室內(nèi)電子地圖的方法,由于全部采用開源框架進(jìn)行集成,避免了商業(yè)引擎高額的投入,有利于項(xiàng)目的快速推廣,具有很強(qiáng)的可擴(kuò)展性,可方便地進(jìn)行系統(tǒng)移植、升級(jí)和改造。
[1]賀日興,孫丕龍. 公安行業(yè)警用地理信息平臺(tái)建設(shè)思路及進(jìn)展[J]. 地理信息世界,2011(6):7-11.
[2]黃超. WebGIS技術(shù)在消防遠(yuǎn)程監(jiān)控系統(tǒng)中的應(yīng)用[D]. 成都:成都理工大學(xué),2009:2-3.
[3]張慧明. ArcIMS與GeoServer的應(yīng)用設(shè)計(jì)比較研究[D]. 北京:北京建筑工程學(xué)院,2010:5-8.
[4]陳德鑫. 基于OpenLayers客戶端的網(wǎng)絡(luò)地圖實(shí)現(xiàn)技術(shù)框架[J].現(xiàn)代測繪,2010(3):48-49.
[5]蔣佩伶,苗放,張峻驍. 基于GeoServer和OpenLayers的WebGIS實(shí)現(xiàn)[J]. 甘肅科技,2009(22):33-34.
[6]梁啟靚. 基于Geoserver的開源WebGIS開發(fā)與應(yīng)用[D]. 西安:長安大學(xué),2010:30-32.
[7]焦元. 警用GIS中動(dòng)態(tài)時(shí)間最短路徑的研究與應(yīng)用[D]. 武漢:湖北工業(yè)大學(xué),2009:38-45.
TP391.41
A
2095-7939(2017)05-0125-04
10.14060/j.issn.2095-7939.2017.05.026
2017-05-09
郝世昱(1989-),女,河北邯鄲人,公安部第一研究所助理工程師,主要從事計(jì)算機(jī)應(yīng)用技術(shù)研究。
(責(zé)任編輯:于 萍)