基于GIS的高速公路可视化管理系统研发思路及探索
2021-12-09杨学本文雄张磊
杨学本 文雄 张磊
摘 要:基于GIS的管理系统开发案例很多,从建设进度管理、养护管理、沿线设施管理、防灾及事故救援管理、交通导航都有,一般由公路运营管理单位自主开发,但专用于高速公路的基于GIS的可视化综合性信息管理系统则较少。晋红高速由于工程造价高,收费标准高,车流量有限,运营管理费用大幅度压缩。为保障该高速公路的正常运营,节省运营成本,并适应未来智慧高速管养的要求,决定以本项目智慧管养为基础开发一套可视化运维管理系统。该系统采用B/S结构模式,以可视化场景研发实现晋红高速一体化运营管理系统,达到联勤联动、规范管理、科学决策的目的。
关键词:GIS;可视化;系统;研发;探索
中图分类号:U456.3 文献标识码:A
0 前言
基于GIS的管理系统开发案例很多,从建设进度管理、养护管理、沿线设施管理、防灾及事故救援管理、交通导航都有,一般由公路運营管理单位自主开发,但专用于高速公路的基于GIS的可视化综合性信息管理系统则较少。
晋红高速公路运营管理中心立足自身,为有效控制运营成本,通过市场调研和一系列技术攻关和研发实践探索工作,旨在最终开发出一套完善的、适应未来智慧高速管理需求,做到及时发现设施设备发生的故障位置、信息,并集成视频监控和道路信息控制、维修经验积累的综合信息管理系统,达到快速处理故障,节约运营成本的目的。
1 项目背景
晋红高速公路是昆曼国际公路的组成部分,全长49.395公里,是连接滇中城市群两大核心城市昆明、玉溪重要的交通物流通道,和“一小时”经济圈重要线路,被列入云南省“三个一百”(全省一百个在建项目、一百个新开工项目、一百个重点前期工作项目)重点建设项目。
晋红高速起自昆明绕城高速公路西南段(安晋高速K32+300)。路线总体走向为由北向南,经昆阳、宝峰镇、刺桐关、攒坝塘、梅园村、飞井,止于已建成的玉元高速公路,与规划的玉溪市外绕城高速东南段连接,路线止点K49+395,主线采用双向六车道,设计时速每小时100公里,路基宽度33.5 m。
晋红高速主线隧道11座,主线桥梁30座,跨线桥12座,连接线桥9座,匝道桥11座,立交工程6处,桥隧比高达52.4%,工程造价达86.49亿元。
由于工程造价高,收费标准高,车流量有限,运营管理费用大幅度压缩。为保障该高速公路的正常运营,节省运营成本,并适应未来智慧高速管养的要求,决定以本项目智慧管养为基础开发一套可视化运维管理系统。该系统采用B/S结构模式,以可视化场景研发实现晋红高速一体化运营管理系统,达到联勤联动、规范管理、科学决策目的。
2 研发思路
谈到GIS可视化应用,我们第一时间想到的是高德地图导航、百度地图导航。其实现原理为:(1)通过GPS定位实现目标人物或车辆定位,相关数据将汇聚到服务器。(2)为了指导目标行进,布置于服务器的系统软件需要将目标的实时位置反馈在电子地图中,并发送到目标的手机(或类的接收装置)供目标使用。(3)系统需要根据目标选择的终点位置,结合当前实时位置,从预定的几条规划路线中选择最优路线反馈给目标,提供即时服务参考。(4)当目标GIS坐标改变则它呈现在电子地图中的位置也将随着改变。(5)当目标行进错误时,应能够重新规划继续指导目标行进,直至目标到达终点位置。
因此,对本项目的可视化运维管理系统,我们就有了以下研发的思路:(1)首先,部署一台服务器,并考虑该服务器需要安装什么才能够提供电子地图服务,或者是采用最原始的软件编程拼图。(2)用什么编程语言可以在电子地图上画出需要的符号,用以标识设备所在位置,实现定位。(3)如何可以知道设备发生故障,并提供必要的故障信息。(4)怎么提醒值班技术人员,从而达到快速定位和排除故障目的。
3 可行性研究和技术探索
3.1 GIS技术及可视化的实现
ArcGis Server可以提供需要的电子地图服务。该平台提供了良好的软件环境,二维地图可直接采用ArcMap构建,三维地图可采用ArcGisPro2.7辅于SketchUp2020完成。编程方面,它提供了.netSDK、com控件、jsapi多种接口,完全满足不同编程语言使用要求。
(1)Arcgis API接口选择。Arcgis Server提供的地图服务接口有SOAP URL和REST URL两种:
SOAP (Simple Object Access Protocol)的开发准备时间太长,与REST相比非常笨拙且速度缓慢。REST (REpresentational State Transfort)使用相对简单的,且可读性比较好,非常易于使用和编码,为本项目系统研发选择。
(2)Arcgis编程语言的选择。.netSDK和COM控件编程,侧重于桌面型,对B/S结构模式的WebServer应用编程难度较大。JavaScript编程,完全兼容B/S,网上可查询的源代码较多,成功有保障。因此,本项目很适合使用JavaScript语言进行开发。
3.2 B/S编程技术及软件选择
(1)前端编程语言的选择。毫无疑问,前端最风靡的编程将采用Html5+CSS3+JavaScript。其中,HTML(HyperText Markup Language)是一种用于创建网页的标准标记语言,用于构建前端页面框架;CSS(Cascading Style Sheets)层叠样式表用来格式化HTML元素样式;JavaScript是一种脚本语言,用来操作元素实现与用户交互。
(2)Web服务器的搭建及服务器端语言的选择。Web服务器是运行及发布Web应用的容器,只有将开发的Web项目放置到该容器中,才能被网络用户通过浏览器进行访问。主流的WEB服务器与服务器端语言搭配有两种:IIS+ASP.net和Tomcat+JSP/PHP。从通用性、兼容性、安全性考虑,本项目选择Tomcat+JSP。
(3)厂商设备驱动程序对编程语言的影响。本项目机电设备涉及各种情报板、摄像机(如大华、路威信)等,设备厂商的驱动为DLL动态链接库。
开发中采用了JNative、JNA、JNI接口规范,通过JAVA内嵌于JSP实现DLL调用,完全满足本项目研发需求。由于存在DLL函数重写或封装,用到了Visual Studio 2019,要求程序员熟悉C语言序列,专业性较强,对一般人员则有很大难度。
(4)数据库的选择。数据库为Web应用网站的管理、运行、查询和实现用户对数据存储请求等提供空间。本项目选择使用JDBC连接MySQL数据库。
MySQL是最流行的关系型数据库管理系统之一,提供多语言支持。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
3.3 系统及网络安全的考虑
软件安全:为拒绝非法使用,系统提供了登录界面,用户只有输入正确的账号和密码以及验证码才能正常使用。
网站安全:按照《中华人民共和国网络安全法》和《信息安全等级保护管理办法》规定执行。本项目配置了多级网络防火墙和堡垒机,完全满足运行安全需求。
4 探索与实践
本项目的实现基于ArcGis Server 10.7搭建地图服务平台,在局域网内部离线部署arcgis_js_api4.18,成功实现了地图调用和各类提示图形符号的绘制。通过IP监测和心跳检测,实时监控和反馈IP网络设备故障和位置,维护人员通过监控屏幕即可快速排除故障,完全达到了本次研发目的,目前已在晋红高速试行。
5 结语
通过实践证明,本次选择的方案是适用的。主要原因是本项目研发使用的技术,各组成部分在互联网上都有相关案例和源代码,在技术上是可行的。
软件的生命周期分为软件定义、软件开发及软件运行维护三个阶段。刚开发出来的软件,必然存在各种BUG,需要在不断的使用过程中发现和改进,例如UI界面美工需要加強、DLL二次调用内存释放问题、不同浏览器访问效果优化。
本次软件开发,试运行测试与设想效果基本一致。不足之处是,未能实现对所有设备进行汇聚,且受专业技术水平限制,还需进一步完善和不断更新,以适应高速公路运营管理的需求。
参考文献:
[1]陆轶,梁虹,周园.基于ArcGIS Engine的高速公路隧道监测信息系统[J].昆明理工大学学报(理工版),2008
(4):58-62.
[2]单楠,况明生,李营刚.基于SketchUp和ArcGIS的三维GIS开发技术研究[J].铁路计算机应用,2009(4):14-17.
作者简介:杨学本(1972—),男,云南玉溪人,本科,工程师,研究方向:高速公路运营管理信息系统-软件工程。