郝世昱 姚晓冬
(公安部第一研究所安检事业部 北京 102200)
基于WebGIS的机场安检运维管理系统
郝世昱 姚晓冬
(公安部第一研究所安检事业部 北京 102200)
随着机场各类安检设备的不断扩张,传统的排查运维方式消耗大量人力物力,且故障发生时,运维人员无法直观的得到故障发生的位置及详细信息,导致应对突发故障的能力较差。为了解决这个问题,研究开发了一个基于WebGIS技术的机场安检运维管理系统。该系统以电子地图的方式展示各个设备的位置,并实时标识设备的运行状态,同时支持各类运维信息的查询。突发故障发生时,系统将第一时间通知运维人员并提供路径规划的服务。系统支持PC、移动终端等多种接入方式,提高了设备运维的效率,进一步提升了安检系统的可靠性。
室内地图 设备运维 安检系统
地理信息系统,由于其在可视化表达和解决空间位置等问题具有的强大优势,在公共安全业务中得到了广泛应用[1]。随着信息技术的不断发展,越来越多的机场部署了安全检查系统,而安全检查系统中的各种设备,如X射线机、金属门、服务器、工作站PC机、交换机、磁盘阵列等,分散在机场的各个位置,不同设备的工作机制、运行状况、使用频率和定检时间千差万别。随着机场的建设和设备规模的扩张,传统的排查和人工记录的方式已经无法满足实际的运维需求,同时,在出现突发故障时,运维人员无法快速响应,及时处置,造成了极大的隐患。WebGIS的出现很好的解决了这个问题,本文基于GeoServer和OpenLayers设计开发的设备运维管理系统,将设备通过电子地图的方式进行展示,构建了支持快速查询、定位、路径规划、专题状态可视化的运维平台,同时结合移动端的应用,形成了高效预警和保障机制,进一步提高了安全检查系统的可靠性。
在机场部署一个包含建筑物分布、设备和主要地标的地图应用,需要解决两大主要问题:①机场安检系统部署在独立的局域网中,与外网隔离,无法直接访问地图服务商发布的地图服务。因此,必须在局域网内构建一套完整的地图服务框架,同时自建地图图层。②大规模设备的实时状态刷新,需要充分考虑通信时延和地图刷新机制,保证故障在第一时间报警。
WebGIS的出现替代了传统的client/Server的模式,将原本部署在各客户端的地理信息系统功能集中转移至服务器,利用网络发布地图服务,有效的降低了开发和维护的成本,同时有利于各类终端共享地图数据,使地理信息系统获得了长足的发展。目前WebGIS技术已广泛应用于各类安防、指挥、预警系统中[2],常见的系统开发模式主要分为两类:基于商业平台和开源平台。
目前商业GIS平台已经发展的相当成熟,功能非常强大[3]。主流的有国外ESRI公司的ArcIMS、ArcGIS Server、MapInfo公司的MapXtreme、Autodesk的MapGuide、Intergraph的GeoMediaWebMap等。国内近几年GIS领域也取得了很大的进步,高德、百度、腾讯等互联网公司都提供了支持2次开发的SDK,四维图新、超图、图聚等地图服务厂商也都提供了各类可定制的地图服务和开发工具。
国外GIS平台的特点是,完善丰富的产品线,稳定的产品性能和技术支持。但是由于价格高昂、架构复杂,不适用于中小规模系统的快速合成,而国内互联网公司提供的2次开发SDK多面向于直接加载其地图的需求,对局域网内自建的专用地图并不支持。而国内其它地图服务厂商多面向专业领域提供定制化服务,对于机场室内这种轻量级的地图应用往往并不适用。
目前面世的开源地理信息系统软件种类众多,产品涵盖了客户端地图组件、中间件、服务端平台、后台空间数据库等所有空间地理信息相关的功能模块。表给出了主流功能模块的介绍。
表 开源GIS产品
GeoServer是目前最流行的一款开源GIS服务器平台,遵循0GC标准,支持PostgreSQL、Shapefile、ArcSDE、Oracle、DB2、MySQL Spatial等多种大型数据库。用JAVA语言编写、标准的J2EE架构、基于Servlet和Struts框架、支持高效的Spring框架开发,允许用户方便的发布地图数据、对特征数据进行更新、删除、插入等操作。
GeoServer、OpenLayers和PostgreSQL空间数据库的组合是目前应用最为广泛的开源框架[4],OpenLayers在客户端实现Ajax功能,保证了大数据访问量的流畅运行,PostgreSQL也可以提供高效的空间数据存储和访问。目前,这种框架已经广泛应用在消防、旅游、安防等领域,充分证实了该框架的可靠性和优越的性能。因此,本文采用了这种开源框架进行系统的开发。
监控工作站除地图显示之外,还需要实现故障监控和报警等业务。系统在综合考虑通信时延和地图刷新机制的基础上采用B/S和C/S的混合架构进行实现。地图的发布和访问采用B/S的WebGIS模式,包括数据、服务和页面显示3层。监控工作站的监控业务采用C/S的模式实现,通过加载浏览器控件并访问HTML页面的方式访问地图服务。同时,其他移动设备如手机、平板电脑等也可以通过访问HTML页面的方式浏览设备地图。系统的工作流程如图1所示。
图1 系统工作流程图
数据层是指基于PostgreSQL构建的空间数据库,与一般数据库的区别是,它专门用来存储空间和属性数据,支持复杂的空间数据模型和大数据量访问。
在地图业务中,服务层是应用的核心部分。服务层又被分为Web服务器和GIS服务器,Web服务器是GIS服务器和客户端通信的纽带,负责发布HTML、JSP页面、执行JSP网页及组件。Web服务器识别页面的GIS请求,并转发给GIS服务器,业务处理后,再将结果返回客户端。同时,Web服务器还提供缓存机制,可有效加速响应的过程,对于缩放平移等简单的操作,可直接在缓存中处理并返回客户端。本文采用Apache的Tomcat作为Web服务器。GIS服务器的功能则主要是根据请求查询空间数据,合成地图图层,完成实体组件的解析和生成,同时还包含投影变换、空间数据分析等高级功能。
显示层即客户端浏览器,终端设备可通过服务层的HTML页面访问地图服务,监控工作站通过加载浏览器控件的方式访问地图服务,经多种浏览器的效率比对,最终采用了Chorme浏览器。OpenLayers则负责在客户端加载电子地图、叠加关键图层、兴趣点等功能,将设备状态等信息在客户端叠加到地图页面上,可有效减轻服务器压力、提高访问效率[5]。移动终端设备可通过预装载浏览器直接访问设备地图,也可以通过浏览器控件的方式进行程序访问。
为了方便数据的组织和访问,GIS数据可根据空间数据的专业属性和逻辑关系进行分层,各层间可以类似于图片进行叠置。本文根据项目的实际需要,以设备为地图的关键要素,尽可能忽略干扰元素,将地图分为底图、道路、主要地标和设备4层,并根据其特征进行数据库设计。
3.2.1 生成shapefile文件
底图图层提供了一个可叠加其他图层的框架,通常会抽象出相对稳定不易发生变化的元素放在底图。
底图一般分为矢量和栅格两种,栅格图层借助于位图丰富的信息,能够更加真实的反映现场情况,增强真实感,卫星云图和航拍图都是常见的栅格底图。本文的应用是面向机场的室内空间,通常具有固定的装修风格,地面图像往往没有显著的变化,出于效率的考虑,本文采用矢量图作为底图。
首先,将dwg格式的建筑物CAD图纸导入到ArcMap中,然后,筛选出希望保留的要素,如墙面、隔离区等。进而对各个区域进行颜色编辑,即形成了底图图层。然后在底图的基础上,编辑道路、主要地标和设备图层。由于考虑到设备较多,且被缩放到同一个页面下显示的情况,采用与设备尺寸成比例的矢量矩形来表征安检设备,以不同的颜色来标识设备状态。待所有的元素编辑完成后,调用ArcMap中的格式转换工具,生成.shp格式的地图文件。
3.2.2 导入空间数据库
PostgreSQL自带的PostGIS提供了方便的将shapefile导入到PostgreSQL 的功能[6]。
首先,使用shp2pgsql生成shapefile的sql脚本,在命令行界面,输入转换指令“C:Program FilesPostgreSQL8.3inshp2pgsql" -W "GBK" D:DeviceMap.shp > D:DeviceMap.sql”,然后,将SQL文件的编码格式修改为ASCII,最后,在PostgreSQL的管理工具中运行之前生成的sql脚本,即可将数据写到数据库中。
在发布地图之前,需要配置Geoserver服务器。首先,将Geoserver的war包放置在tomcat的webapps文件夹下,然后,启动tomcat。具体的配置步骤如下:
(1)启动Geoserver,在浏览器中输入http://localhost:8080/geoserver,登陆服务器后,新建名称空间。
(2)点击数据库,配置和postgreSQL的数据库连接,同时为每个图层配置样式表。
(3)配置FeatureTypes,为各图层配置相应的引用类型,生成经纬度范围后,即实现了WMS图层的发布。
OpenLayers封装了地图的常见操作,在客户端使用这个框架,可有效减少与服务器交互的次数,加速响应时间。本文通过OpenLayers的Control类分别添加了平移、旋转、缩放、楼层切换、比例尺、全屏等控件,使常用的基本操作在本地即可完成,避免了频繁访问服务器。
OpenLayers提供了丰富的绘制专题图层的方法,如点密度、分层渲染图等,监控工作站针对各类设备信息,可提供多种展示方式。
安检设备在地图上用矢量矩形进行表征,当设备状态发生变化时,本文采用更换填充颜色的方式来提示用户,设备状态根据实际运行情况被划分为关机、空闲、忙、一般故障、紧急故障5种,采用高饱和度且与底图对比强烈的颜色来达到醒目提示的目的,相应的提示颜色分别为黑、绿、黄、紫、红。OpenLayers通过在页面上重绘矢量矩形的方式进行状态刷新。
设备的故障采集代理程序将运行情况上传到设备服务器中,监控工作站通过查询该数据获取设备的状态变化,并反馈给OpenLayers,这个过程需要借助于C#与Javascript的互操作,具体的实现方法是首先将C#程序设置为com可访问,Javascript通过window.external调用C#的方法,即由ObjectForScripting属性设置的类的实例中所包含的公共方法,而C#则通过webBrowser类的Document属性中的InvokeScript方法调用当前网页的Javascript方法。
设备故障状态的专题图效果如图2所示。
图2 部分地图效果
计算两点在路网中的最短路径,有很多经典算法和实现,最常用的有Dijkstra[7]和A*算法,原理都是从起点开始计算到各点的最短路径,逐个比较取最短值,相比之下A*算法效率较高。传统的实现都是首先将路网数据存储为图的数据结构,在需要计算时,读取并执行相应的算法。而GIS应用的特殊性在于数据库中已经存储了道路和空间数据,如果能直接利用GIS的空间数据就能避免空间和时间的2次投入。
PostGIS自带的拓展插件PgRouting提供了路径分析的实现,只需在PostGIS中添加PgRouting的扩展,并为每条路段添加相应的权重和交叉节点。相应的,OpenLayers需要在前端增加查询和显示路径数据的接口函数。
当接收到前端的查询请求后,PostGIS将路径规划的结果保存在GIS数据库中供前端查询。OpenLayers在地图上以添加Layer的方式来显示路径,在设置起终点和路径的样式后,为每个中间结点生成一个坐标点,并用Join的方法进行连接,最终得到最短路径的Layer并显示在前端。
最短路径的实现可以有效的支持故障的快速处理,经测试发现,PostGIS提供的路径规划方法能够高效的响应查询请求,满足业务需求。而路径权重的设置则基于对机场的实际勘察,除实际空间距离之外还考虑了拥挤程度和受限区域的影响。
本文基于开源WebGIS框架搭建的机场安检运维管理系统,以地理信息系统为载体,将机场各设备的信息有机地收集起来,进行直观高效的信息发布,形成了新型的运维机制。目前该系统已经正常运行并稳定、安全的实现报警、故障显示、自动定位、路径规划等任务,大大减轻了运维的工作量,提高了安检系统的可靠性。
本文提供了一种快速构建轻量级室内电子地图的方法,由于全部采用开源框架进行集成,避免了商业引擎高额的投入,有利于项目的快速推广,具有很强的可扩展性,可方便地进行系统移植、升级和改造。
[1]贺日兴,孙丕龙. 公安行业警用地理信息平台建设思路及进展[J]. 地理信息世界,2011(6):7-11.
[2]黄超. WebGIS技术在消防远程监控系统中的应用[D]. 成都:成都理工大学,2009:2-3.
[3]张慧明. ArcIMS与GeoServer的应用设计比较研究[D]. 北京:北京建筑工程学院,2010:5-8.
[4]陈德鑫. 基于OpenLayers客户端的网络地图实现技术框架[J].现代测绘,2010(3):48-49.
[5]蒋佩伶,苗放,张峻骁. 基于GeoServer和OpenLayers的WebGIS实现[J]. 甘肃科技,2009(22):33-34.
[6]梁启靓. 基于Geoserver的开源WebGIS开发与应用[D]. 西安:长安大学,2010:30-32.
[7]焦元. 警用GIS中动态时间最短路径的研究与应用[D]. 武汉:湖北工业大学,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-),女,河北邯郸人,公安部第一研究所助理工程师,主要从事计算机应用技术研究。
(责任编辑:于 萍)