“交通安全行”频发路段语音播报APP
——基于爬虫技术的交通事故
2020-03-02
(西北民族大学,甘肃 兰州 730106)
1 背景
1.1 应用背景
近年来,随着经济的快速发展,人们的出行方式逐渐机动化,机动车的数量呈快速增长趋势。据统计,2017年我国的机动车保有量达到3.10亿辆,而兰州市机动车的保有量突破95万辆。另外,公共交通事业的发展也是有目共睹的,为人们的出行带来了极大的便利。在享受便利的同时,惨重的交通事故也在频繁发生。据调查,交通事故往往在机动车与非机动车、机动车与机动车,甚至机动车及非机动车和行人之间。特别是机动车与机动车之间一旦发生交通事故,不管是在人身安全还是财产损失上,后果都是很严重的。根据相关部门统计的数字,全国平均每天发生的交通事故在5万起左右。目前,交通事故频率不断增加,在人力、物力上,交警的能力有限,交通事故依然见缝插针。
因此,一套减少人力物力、方便有效的交通安全系统的研究迫在眉睫。这套交通安全系统将以交通客观方面的不安全状态为着手点,分析出事故多发路段及事故多发的主要客观原因,借助地图功能和语音播报功能对机动车和非机动车的驾驶人、行人进行安全出行提醒,并以APP的形式实现。
1.2 技术背景
ANDROID的开放平台和高安全性能备受用户青睐。诸多的导航及地图软件逐渐兴起,方便快捷性凸显,其中不乏涉及一些道路信息提示,但其不全面性也是可见的,交通的安全性依然有待提高。一套完备的交通安全软件是非常符合需求的。
2 软件功能设计
本项目正是基于ANDROID的广阔前景,结合目前我国交通安全现状,利用兰州市路段的交通事故数据实现相关功能的一项手机应用,软件功能切实满足用户需求,填补市场短板。
该应用主要分为四大模块:语音播报模块、黑点查询模块、交通资讯模块及最新通知模块。主要通过前端开发技术设计功能界面,采用页面嵌套的方法组织整体布局。
软件以SQL server数据库为数据支撑,主要数据库包括语音播报库、交通资讯库、最新通知库。最后通过应用与数据库链接构成完整系统。
2.1 语音播报模块
语音播报模块分为自动播报模式和手动播报模式。播报时间为前方即将途径事故多发路段时,播报内容为此路段是事故多发路段,建议车速范围(机动车和非机动车),事故的严重程度,事故多发的主要成因。语音播报功能的默认模式是手动播报,自动播报模式需要待用户选择后在后台运行,自动播报的作用在于省去突发或未知状况时操作相关功能的时间,利用手机普遍随身携带的优势,降低道路的不安全系数。
语音播报的数据主要通过爬虫技术从网站爬取,建立本地数据库。功能的实现技术,一方面调用百度地图API结合本地数据库;另一方面建立数学模型得出判别事故多发路段、事故多发主要成因及事故的严重程度的方法。
1)数据库数据具体内容。数据库的数据通过爬虫技术获取,主要作为数学模型建立的数据源,需要爬取的数据内容为:兰州市内所有路段的名称、每条路段的不同位置相应的事故发生次数、死伤人数、事故涉嫌车型、不同车型通过路段的安全车速、时间以及天气状况。
2)相关技术及方法。百度地图的开源程序包及SDK接口为路段信息调用提供了途径,通过连接百度地图SDK接口,结合本地数据库调用百度地图API,当检索到地图中道路信息,定位到用户当前位置和转向信息时,判断出用户即将通过的路段信息,给出相应安全提示。
语音播报技术的实现通过调用百度地图的语音合成技术。判别事故多发路段采用事故累计频率法和事故严重程度指标结合的方法,对单位长度路段的事故发生次数及严重程度做出较全面、准确的分析判别。事故多发路段的成因分析可根据不同路况对应不同的建模分析方法,再根据爬取的数据与建模的结果进行拟合分析,验证结果的准确性。
2.2 黑点查询模块
道路交通事故多发点又称黑点,指道路交通事故显著突发的地点。黑点查询模块主要作用在于帮助用户在出行之前对出行道路情况进行提前洞悉。黑点查询模块首先将起点和终点间用户经过道路的所有黑点进行检索筛选显示,其次在语音播报功能的基础上将语音播报内容转换为文本形式展现。其功能是通过用户输入起始点和终点,连接语音播报数据库,调用百度地图的两点之间最优化路程推选信息后实现。
2.3 交通资讯模块
该模块的目的是在语音播报功能的基础上进一步以知识形态增强用户的安全意识,交通资讯的主要内容是兰州交通安全现状、出台的政策、安全知识普及。交通资讯模块的数据获取使用爬虫技术,并建立数据子库,以文本、视频形式展示。
2.4 最新通知模块
最新的道路信息,如道路名称、道路数量、事故多发路段的改善更新信息,保证用户及时得到道路的最新消息做出正确的安全判断。最新的道路信息数据获取通过调用百度地图的更新道路信息,并建立数据子库,以文本形式展示。
3 项目实现及测试
主要为爬虫技术的实现、前端功能和后台数据处理的实现。本项目开发的主要语言为JAVA语言、PYTHON语言、SQL语言,辅以JS,CSS,HTML等相关语言;开发平台采用Windows 10操作系统进行实验性开发,后在Linux操作系统上进行调试。开发过程中主要用到ANDROID SDK、Eclipse、ANDROID Development Tools、SQL server、VisualStudio2010等软件,项目最后通过web服务器实现前台和数据库的链接。开发完成后进行测试。调试和测试过程分为多种,我们只进行技术测试和安装运行测试,其他测试交由应用市场的安全平台检测。
4 系统的特色与创新点
1)对交通事故多发点判别、多发点成因分析方法的研究与APP实现。
2)语音播报功能为用户提供方便简易的使用体验,提高了行车的安全性。
3)软件的用户人群为机动车、非机动车驾驶人及行人,适用广泛。
4)调用百度地图的地图功能,功能全面,迎合用户需求。