城市实时路况信息服务系统设计
2024-08-11李菁
摘要:目前许多城市的交通设施还来不及适应不断壮大的车流量,越来越多的交通拥堵现象日益凸显出来,传统的交通设备难以满足用户需求。本文探讨了智能交通系统的发展状况以及城市实时路况信息服务系统的设计流程,在传统交通运输系统的基础上对城市实时路况信息服务系统进行系统分析和系统设计。本系统主要通过Java语言编写,在Tomcat服务器上加载WebApp,用户通过浏览器访问网页显示北京市地图,获取北京市实时路况信息,将北京市所有路况信息分成畅通、缓行、拥堵和暂无数据,分别对应界面上图例的四种颜色,以图层的形式展示出来,并将实时路况数据保存到MYSQL数据库;在地图上添加视频标注,用户可以随时随地点击目标位置获取实时的目标路口的现场视频。
关键词:智能交通系统;视频检测;实时路况
近年来,实时路况数据的采集由GPS浮动车、线圈等方式转向基于视频图像处理技术的交通信息采集方式(简称视频检测技术),已逐渐变成行业热点[1]。目前国际上的智能交通系统(Intelligent Transport System,简称ITS)主要形成了美国、日本和欧洲三大研究阵营,美国的IVHS、日本的RACS、AMTICS、UTMS、ARTS、SSVS、ASV、欧洲的RTI、ATT等都是和ITS具有同等含义[2]。国内已初步建成4大类ITS系统:道路交通控制、公共交通指挥与调度、高速公路管理、紧急事件管理,约30个子系统,分散在各交通管理和运营部门。在北京市已颁布的《北京交通发展纲要》中,明确了2010年初步实现智能化交通管理的近期目标,并将建立以智能交通系统为技术支持的“新北京交通体系”作为北京城市交通发展的长远目标,其中综合信息平台和智能交通控制系统是发展的重点[3]。结合当今ITS发展现状,确定以视频检测技术为主,以互联网为数据传输网络,利用GIS的空间数据交互功能建立基于GIS的城市实时路况信息服务系统[4]。城市实时路况信息服务系统专注发展城市综合交通信息内容和信息共享服务业务,用户可直接调用目标视频,在网页上快速准确地获取可以直接解译的简单信息,提高实时交通信息的准确度和实时性以及用户的体验感。
1 系统需求分析
1.1 用户需求
用户体验道路实时交通信息有3种最典型的需求:
(1)查看目标城市总体的路段拥堵分级的状况的显示。
(2)查看目标路段/区域的拥堵分级的状况的显示。
(3)行车过程中,查看前进方向提供的最短路径中各条路段拥堵分级的状况的显示。
1.2 系统界面分析
用户界面设计应友好、简单、易操作[5];地图符号清晰明显;控件分级有序、合理;排版简洁、规整;图例颜色分级美观,易理解(如:红色代表路段拥堵,绿色代表路段畅通);界面应采用异步刷新,使用户在网页上操作流畅,通过地图切片技术与影响金字塔结构在地图上快速显示目标级别图层的目标地图切片。
1.3 系统功能分析
在网页上加载显示北京市地图,由于实时路况信息庞大且难以获取详细信息,本系统通过调用高德API,以图层的形式获取北京市实时路况信息,将图层在网页上加载到地图中,在地图上添加相应图例,对应各路段的拥堵状态,用户可以将其保存到数据库,用户可以查看相应时间的该路段的拥堵状态对应的概率;可以通过与交管部门合作,获取北京市各十字路口和关键路段的视频信息,这里利用本地数据为北京北四环学院路桥西侧的交通视频数据。设置好相对路径,模拟北京市各路口实时现场交通视频数据,在用户需要观看目标路段的目标视频时,可以在网页上显示该视频,并根据用户个性化需求设置播放、暂停、快进10秒、快退10秒、加速播放、减速播放、正常播放、提高音量、降低音量功能,见表1。
2 系统设计
2.1 系统总体设计
系统总体设计的技术路线是:从目前城市交通拥堵给大众出行带来的问题出发,考虑城市实时路况信息服务系统应如何解决这些问题,并从信息流程的角度将其分为信息采集、信息传输、信息处理与信息输出四部分。信息采集内容包括交通视频图像、GIS基础数据等,这些信息通过固定与移动通信网传输到系统服务平台,在系统服务平台进行计算后,将实时的道路实时路况信息以图层和现场视频的形式,更直观且便于用户理解的形式提供给用户。上述信息采集、信息传输、信息处理与信息输出需要各种软硬件设备来实现。系统运行流程:用户在网页上点击相应控件向服务器发出请求,服务器在接收到命令后立即做出响应,并与数据库进行数据交互,将用户需求的计算结果快速反馈到客户端。系统逻辑流程如下图1所示。
2.2 系统功能模块设计
2.2.1 获取实时路况信息
本系统获取交通实时路况信息采用高德java script API进行二次开发,实现了获取实时路况的功能,并且支持将实时路况信息保存到数据库,获取实时路况流程如下图2所示。
2.2.2 显示交通路口状况
(1)首先获取北京市所有红绿灯路口数据(视频、目标地点经纬度)。
(2)将视频的url(地址、相对路径)和经纬度通过ID关联起来。
(3)在地图上显示这些数据。通过Ajax架构,利用post请求(post请求是加密的)以表单的形式递点ID,获取红绿灯路口上的视频信息。数据加载完成。
(4)利用url重定向在地图图标上显示视频数据ID。
(5)把url存储到请求作用域(浏览器缓存的数据),半小时刷新一次。
(6)跳转到视频播放的界面。
(7)获取视频:获取session(请求作用域缓存数据)作用域中的值url。
2.3 数据库设计
本系统采用MySQL数据库存储所有相关数据。MySQL今是世界上使用最多的开源数据库之一,数据库性能高、易用性强,十分适合小型web开发[6]。本系统根据MySQL数据库的结构特征将数据分为两层:
2.3.1 实时路况数据存储层
本系统主要需要存入目标路段实时路况数据实时路况需要数据:经纬度、名字、ID、位置、拥堵状况、拥堵时间段、获取数据时间。用户发现拥堵路段,将其存入数据库,用以作为分析,见表2。
2.3.2 关键路口视频数据发布层
本系统主要需要获取红绿灯路口的视频数据,红绿灯路口需要数据:经纬度、名字、ID、位置和url(视频地址)。当用户需要调用某路段上的目标视频的时候,可以通过url(统一资源定位器)也就是视频的地址获取视频,见表3。
3 系统实现
3.1 服务端实现
城市实时路况信息服务系统采用JDBC(java database connection)对数据库进行操作,主要通过AJAX向后台发送post请求,然后用servlet处理请求并返回相关数据。本系统采用json数据格式,统一将servlet封装成一个接口,与前台进行数据交互,关键代码如下:
//与前台进行数据交互
@WebServlet("/AddMarkerServlet")
public class AddMarkerServlet extends HttpServlet {
@Override
public void init()throws ServletException {
System.out.println("sssssss");
3.2 前台界面实现
获取实时路况图层信息,以图层的形式将实时路况信息加载到地图上,并在界面右上角中添加图例:绿色代表畅通、黄色代表缓行、红色代表拥堵、灰色代表暂无数据,分别对应图层中路段的拥堵状况,同时用户可以在地图上点击目标位置获取经纬度,然后点击保存控件将目标路段的拥堵状态(名称、坐标、位置)信息保存到数据库。当向服务器发送请求时,服务端查询数据库,返回json数据,前台将其解析,通过addmaker函数将其显示在地图上,地图界面上显示点标记如图3所示。
结语
本文介绍了基于Java web的城市实时路况信息服务系统的设计全过程,包括系统平台的介绍、系统分析、系统设计、系统主要功能开发与实现。从系统的运行结果到功能基本上达到系统预期的目标。本系统界面友好,可操作性强,可以在不同的系统运行,通过实现系统的图层管理,位置查询,实时路况信息获取和选择性保存入库,图层分类和调用现场视频等功能,为机动车用户提供了直观的决策支持。
参考文献:
[1]李康.大数据及其在城市智能交通系统中的应用综述[J].信息通信,2016,10(12):197-198.
[2]Kunicina N,Galkina A,Zabasta A,et al.Traffic Route Modelling and Assignment with Intelligent Transport System[J].Electrical,Control and Communication Engineering,2015,7(1):20-23.
[3]AbdelAty Mohamed,Zheng Ou,Wu Yina,et al.Real-Time Big Data Analytics and Proactive Traffic Safety Management Visualization System[J].Journal of Transportation Engineering,2022,12(1):332-344.
[4]陈宝军,汤旻安.城市轨道交通综合监控系统集成人机界面的实现与分析[J].科技创新与应用,2017,25(6):37-38.
[5]安沈,于荣欢.基于MySQL的天地一体化网络结构数据库构建[J].兵工自动化,2021,40(12):66-70.
作者简介:李菁(1995—),女,汉族,广东佛山人,硕士研究生,助理工程师,研究方向:测绘数据库和地理信息系统。