基于ArcGIS 的应急物资调度系统设计与实现
2020-03-24张正雄
张正雄
(北京建筑大学测绘与城市空间信息学院,北京102616)
目前,铁道部地提出了“数字铁路”的建设目标,旨在建设能够数据共享,决策管理,调度规划的铁路综合信息平台[1][2]。正是在这样的形势下,本文根据铁路信息化管理现状,在对数据资源整合、三维可视化等方面深入研究的基础上,借助GIS 可视化集成技术手段,实现应急现场模拟、应急路线方案比选、应急路径导航提示等多种应用,提高应急指挥、调度、救援的效率,为应急救援、处置提供基础资料可视化手段。
本文拟主要研究内容如下:
以国家基础地理信息数据为基础底图,叠加地理信息数据和应急资源地理信息数据,形成“应急一张图”,为用户提供二维、三维浏览查看界面。
提供地理信息的应急资料智能搜索、事故现场模拟、应急救援路线方案比选、应急救援疏散提示、三维模拟展示等功能。
提供移动端服务,功能有信息传输、隧道导航等功能。
1 系统设计
1.1 系统功能设计
系统按照功能分为四个模块,分别为基本功能、综合查询、应急救援、系统管理。其中,基本功能模块提供系统二三维窗口基本操作工具、图层控制及窗口视图联动;综合查询提供系统集成数据的定位与查询;应急救援实现高速列车突发事件应急救援的模拟;系统管理实现系统用户的管理,控制用户登录系统的权限,如图1 所示。
图1 功能结构图
1.2 数据库设计
数据库是系统的基础和核心,本项目设计的数据库包括:地图数据库、属性数据库、系统运维数据库。地图数据库用于存储影像数据、地图标注、DEM高程等底图数据。属性数据库用来储存建筑模型属性信息、铁路模型信息以及列车模型信息。系统运维数据库包括用户信息、配置信息、日志信息。
1.3 系统架构设计
总体架构分为四层,其中基础层包括软硬件设施及网络设施、安全设备;应用组件层为专业系统层,包括webserver、数据库、二维引擎、三维引擎等专业系统;业务层为系统功能研发,系统功能按照业务划分为四个模块,包括基本操作、综合查询、应急救援、系统管理;用户层为客户端,系统用户通过浏览器进行系统使用。
2 关键技术
2.1 基于node.js 和PostgreSQL 搭建后台数据服务
本文采用Node.js 框架[3]搭建平台后台服务,主要作用是连接前端界面与数据库。作为前端与数据库的中间件。PostgreSQL为关系型数据库,用来存储系统相关信息,如用户登录验证信息,铁路专业信息,基础数据信息等。
2.2 基于ArcGIS Server 构建空间信息服务系统
本文基于ArcgisServer[4]发布地图服务,包括矢量数据服务、影像地图服务、三维模型[5]服务、地形数据服务等。基于ArcGIS API for JavaScript 接口调用。
2.3 基于Vue.js 和ElementUI 设计前端界面
Vue.js 是一款轻量级的 Java Script 库,功能丰富、使用简洁而且有着最为清晰的文档。基于Vue.js 和elmentUI 进行系统前端开发也是近年来最火热的组合方式,其中组件化是一个核心功能。
3 系统实现
3.1 应用程序环境配置
表1 数据库服务器硬件配置要求
表2 客户端硬件配置要求
3.2 系统测试
为了验证系统的性能情况,对系统进行长时间的压力测试,找出系统基于某种硬件环境下的最大负载能力。本文采用Apache JMeter 工具进行系统的压力测试。本文首先对服务器端进行并发的压力测试,然后对主要业务模块中的主要业务进行压力和负载测试。最后在客户端进行帧率、响应时间、错误率、吞吐量的测试。测试结果如图2。
测试结果表明,该系统架构相对于传统架构在多用户并发访问的条件下,系统可以正常运行,功能基本可以正常使用,且保持较快的反应速度和较少的资源占用率,适应于大数据量和多用户并发访问的趋势。
图2
结束语
本文将GIS 多源异构数据进行整合处理,如地形、影像、矢量、BIM、倾斜等多种数据,结合铁路相关设计规范以及应急物资调度需求,设计了应急物资调度系统。该系统整合GIS 与铁路相关学科知识,实现了应急救援的多种应用,提高了应急救援效率,为应急救援工作提供指挥与保障。并对系统进行测试,测试证明,系统具有良好的可扩展性、稳定性、可靠性,目前已成功应用于生产实践中。