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