基于高德地图API的危化品运输安全评估管控平台

2022-09-07 05:05葛慕滢潘傲澜
现代计算机 2022年13期
关键词:驾驶人员危险品危化品

闵 楠,葛慕滢,潘傲澜

(1.武汉科技大学计算机科学与技术学院,武汉 430065;2.武汉科技大学资源与环境工程学院,武汉 430065)

0 引言

随着危险品运输需求的快速增长,危险品运输企业数量逐年增多,企业规模逐步扩大,中国物流与采购联合会危化品物流分会资料显示:2019 年全国危化品物流行业市场规模已经达到1.87 万亿元,同比增长13.4%;2020 年危化品物流市场规模超过2 万亿元;2021 年市场规模将达到2.24万亿元。

然而目前市面上很少有软件可以对危化品运输风险进行量化分析,导致我们只能凭借经验判断某次危化品运输的风险,这不利于危化品运输的评估和管控。

本平台的开发旨在做到运输过程可视化,安全风险定量化,以实现安全、利益最大化。公司管理人员通过该网站不仅可以管理驾驶人员信息、车辆信息、物流信息,还可将危险品道路运输物流信息可视化以及对运输货物进行风险测试。

1 软件功能分析与设计

1.1 功能模块

软件功能结构如图1所示。该平台主要包括五个部分:地图可视化、风险测评、车辆管理、人员管理、运输管理。本项目基于SpringBoot 框架应用开发技术,前端采用Thymeleaf 模板引擎,项目采用MVC 设计模式,使用MySQL 数据库对数据进行存储,可以对数据库进行管理、检查、优化等操作。项目基于高德地图API 开发,满足各种需求,支持多种路线规划。

图1 软件功能流程图

1.2 功能概述

以下仅介绍核心功能。

(1)地图可视化。管理员登录网站后可以查看危险品道路运输物流信息,查看货车实时位置。

(2)风险测评。管理员登录网站后可以对未来的危险品道路运输进行风险测评。

(3)车辆管理。管理员登录网站后可以管理运输车辆,进行增删改查操作。

(4)人员管理。管理员登录网站后可以管理驾驶人员,进行增删改查操作。

(5)运输管理。管理员登录网站后可以管理危险品道路运输物流信息,进行增删改查操作。

1.3 软件数据库设计

1.3.1 数据库建模

软件数据库有如下表:公司表、管理员表、驾驶人员表、驾驶人员问卷表、车辆表、车辆问卷表、车辆危化品对应关系表等。

1.3.2 数据库结构说明

由于软件涉及数据库表较多,下面仅选几个比较重要的进行解释说明。

(1)驾驶人员表(driver)。包含驾驶人员编号、姓名、性别、出生年份、身份证号、详情和司机所在公司id账号,如表1所示。

表1 驾驶人员表结构

(2)车辆表(car)。包含车辆编号、车牌号、车的类型、车所在公司id、车辆轴数、车辆自重、车辆宽度和车辆高度、车辆大小,如表2所示。

表2 车辆表结构

(3)物流表(transportation)。包含车物流单号、公司id、驾驶人员id、车辆id、货物类型、货物重量、出发点、出发经纬度、目的地、目的地经纬度、当前位置、当前位置经纬度、途径点、途径点经纬度、出发时间和预计抵达时间,如表3所示。

表3 物流表结构

续表3

(4)危化品对应表(goods)。包含危化品id、危化品名称和分值如表4所示。危险品的具体种类参考了化学品统计文献,采用灰色关联分析法与层次分析法确定了各个危化品的具体赋分,其中分值越低危险程度越大。

表4 危化品分值表结构

2 软件实现原理

2.1 高德地图API接口应用

本项目使用Web 端的高德地图API 技术。首先,需要注册开发者账号,成为高德开发平台开发者。其次,为软件添加Key,“服务平台”一项选择“ Web 端(JSAPI)”就可以获取到key 值和安全密钥jscode。最后在html 页面中加入下述代码即可使用高德地图API接口。

<script type="text/javascript">

window._AMapSecurityConfig={

serviceHost:′您的代理服务器域名或地址/_AMapService′,

// 例 如 : serviceHost: ′http://1.1.1.1: 80/_AMapService′,

</script>

<script type="text/javascript"src="https://webapi.amap.com/maps?v=2.0&key=您申请的key值"></script>

2.2 风险测评模型确定

通过查阅危险品道路运输安全评价方面文献资料,统计出现频率较高的指标,得到了4个一级指标和14个分指标,如图2所示。

图2 风险评测模型指标

平台通过问卷形式对4 个一级指标进行打分。例如:驾驶人员会填写驾驶员资质评测问卷Driver_Question,该问卷会对驾驶人员经历、能力、行为和心理进行打分,最后平台会将作答情况和分数保存在数据库中。其中,Driver_Question 表以driver_id 作为外键。之后,管理员在风险测评中选择驾驶员时,平台会在数据库的Driver_Question 表中通过driver_id 查询相应记录,获取该驾驶员的得分,也就得到了从业人员资质B1的分数。

3 平台实现

图3 平台首页(登录状态下)

以下仅介绍平台的地图可视化和风险测评的实现。

3.1 地图可视化页面

地图可视化页面主要涉及到的功能有危化品运输物流的跟踪查看,主要包括物流信息的列表预览和查看详情操作,主要涉及对象为Transportation、 TransportationController、 Map、MapController 以 及 方 法mapManage 和more。具体说明方法如下:

3.1.1 物流信息列表预览功能

(1)方法名:mapManage;

(2)参数说明:int 类型的pageOffset,pageSize和HttpSession类型的session;

(3)函数调用说明:检查参数,获取session的属性user 并强转为User 对象,若对象为空,则用户没有登录,跳转登录页面;若不为空,则获取User 的company_id 并且在Transportation表中查找该company_id 对应的所有记录,存储在 类 型 为List<Transportation>的transportations中。pageOffset 默认为1,表示当前在第一页。pageSize 默认为15,表示一页展示15 条记录。创建PageInfo 类型的info 对象,输入参数有两个,分别为transportations 和pageSize*pageOffset。

存储对象,在session中存储info。

跳转页面,跳转地图可视化页面。

3.1.2 查看详情功能

(1)方法名:more;

(2)参数说明:无需输入参数;

(3)函数调用说明:获取对象,点击事件发生后,前端通过onclick 方法结合Thymeleaf 通过${…}直接获取变量值,并弹出对象详细信息在前端对话框中进行显示。

展示地图,对origin_location、destination_location、now_location、waypoints_location 用split方法以‘,’为分割点进行分割处理,将它们分别存储在数组ori,des,now_loc 和way。然后利用高德地图API初始化map,创建起始地点、目的地点、当前位置地点、途径地点,最后构建路线导航显示在地图上。

地图可视化页面如图4所示。管理员可在本页面查看危险品道路运输物流信息,查看货车实时位置。管理员点击详情查看危险品道路运输物流信息。随后地图切换到当前危险品道路运输物流信息的实时路径信息,如图5所示。

图4 地图可视化页面

图5 实时路径信息

3.2 风险测评页面

风险测评页面主要涉及到的功能有危化品运输的量化风险测评,主要操作的涉及对象为Car、Driver、User、CarService、DriverService、RiskAssessmentController 以及方法riskAssessment、 riskAssessment_chemicals、 riskAssessment_ cars、riskAssessment_drivers 和riskAssessment_result。具体说明方法如下:

3.2.1 风险测评页面

(1)方法名:riskAssessment;

(2)参数说明:HttpSession类型的session;

(3)函数调用说明:检查参数,获取session的属性user 并强转为User 对象,若对象为空,则用户没有登录,跳转登录页面;若不为空,则进行下一步。

跳转页面,跳转填写危化品信息页面。

3.2.2 填写危化品信息

(1)方法名:riskAssessment_chemicals;

(2)参数说明:HttpSession 类型的session,String类型的goods和double类型的weight;

(3)函数调用说明:检查参数,获取session的属性user 并强转为User 对象,若对象为空,则用户没有登录,跳转登录页面;若不为空,则判断输入参数是否为空或者不合法。若参数为空或者不合法则输入错误信息,后台向前端返回相应的错误编号,如:‘0’代表危化品为空,此时前端就会提示“危化品不能为空”;若参数不为空且合法则输入正确信息,在session中存储goods和weight。

跳转页面,验证通过后并跳转选择危化品运输车辆页面。

3.2.3 选择危化品运输车辆

(1)方法名:riskAssessment_cars;

(2)参数说明:HttpSession 类型的session,int类型的car_id;

(3)函数调用说明:检查参数,获取session的属性user 并强转为User 对象,若对象为空,则用户没有登录,跳转登录页面;若不为空,则进行下一步。

查询对象,在Car 表内查询car_id 是否已经存在,若不存在则输入错误信息,后台向前端返回相应的错误编号,前端显示相应错误提示;若存在则输入正确信息,在session 中存储car_id。

跳转页面,验证通过并跳转选择驾驶人员页面。

3.2.4 选择驾驶人员

(1)方法名:riskAssessment_drivers;

(2)参数说明:HttpSession 类型的session,int类型的driver_id;

(3)函数调用说明:检查参数,获取session的属性user 并强转为User 对象,若对象为空,则用户没有登录,跳转登录页面;若不为空,则进行下一步。

查询对象,在Driver 表内查询driver_id 是否已经存在,若不存在则输入错误信息,后台向前端返回相应的错误编号,前端显示相应错误提示;若存在则输入正确信息,在session 中存储driver_id。

跳转页面,验证通过后并跳转填写运输信息页面。

3.2.5 填写运输信息

(1)方法名:riskAssessment_route;

(2)参数说明:HttpSession 类型的session,Srting 类型的origin、origin_location、destination、destination_location、 waypoints、 waypoints_location、departure_time、arrive_time和weather;

(3)函数调用说明:检查参数,获取session的属性user 并强转为User 对象,若对象为空,则用户没有登录,跳转登录页面;若不为空,则判断输入的参数是否为空或者不合法。若参数为空或者不合法则输入错误信息,后台向前端返回相应的错误编号,如:‘0’代表出发点origin 为空,此时前端就会提示“出发点不能为空”;若参数不为空且合法则输入正确信息,在session 中 存 储origin、origin_location、destination、 destination_location、 waypoints、 waypoints_location、 departure_time、 arrive_time 和weather。

跳转页面,验证通过后调用riskAssessment_result方法进行风险测评。

3.2.6 风险测评

(1)方法名:riskAssessment_result;

(2)参数说明:HttpSession类型的session;

(3)函数调用说明:检查参数,获取session的属性user 并强转为User 对象,若对象为空,则用户没有登录,跳转登录页面;若不为空,则对session中存储的信息进行评测打分。

风险打分,根据session 中存储的信息,从数据库中获取对应的四个一级指标各自的分数,通过层次分析法对它们进行加权运算得出风险评测总得分,并保存分数B1、B2、B3 和B4 到session中。

跳转页面,跳转风险测评结果页面。

风险测评结果页面如图6所示。管理员可在本页面查看危险品道路运输最终评测结果以及推荐运输路线。管理员可以将鼠标停留在柱状图上查看对应因素具体得分。

图6 风险测评结果页面

4 结语

危化品运输安全评估管控平台可以综合得出某次危化品运输的安全风险程度,并量化为安全风险值。结果较准确地反映了危险品物流的实际状况。可为危险品监管部门以及危险品道路运输企业提供理论技术支持,同时对铁路、水路、航空危险品运输安全研究工作也有一定的理论指导作用。

猜你喜欢
驾驶人员危险品危化品
危化品停车场选址及运营
基于VR技术的X射线图像安检危险品自动识别
危化品全生命周期安全管控模式在危化品使用单位中的研究应用
浅谈汽车驾驶安全隐患预防及对策思考
安全驾驶 远离“路怒”情绪
提高拖拉机、联合收割机驾驶员素质的途径