一种高速公路在途车数量计算方法、装置及存储介质与流程

    专利2022-07-08  195


    本发明涉及交通信息处理领域,更具体地说,涉及一种高速公路在途车数量计算方法、装置及存储介质。
    背景技术
    :随着改革的深化和城市化、机动化进程的不断深入,自20世纪80年代中期开始,我国交通运输业迅速发展,路网结构得到不断完善,交通基础设施条件不断改善,机动车保有量和交通需求迅速增加。但是,车辆与道路增长速度的不协调以及管理手段的不当,也带来了严重的交通安全问题。在这样的背景下,道路交通安全问题成为越来越受到关注的热点问题,提高我国交通安全管理工作水平,对于减少人员伤亡和财产损失,发展新时期和谐交通具有重要的现实意义。为了预防和降低交通事故数量,如何计算在途车数量是首要解决的问题。在途车指的是区域内道路上在途行驶的机动车。在途车数量指的是某一时刻在区域内道路上正在行驶的机动车。在途车数量是判断路段是否拥挤的重要指标。当在途车辆数接近或者大于路段的通行能力时,会导致路段拥挤。通过检索交通安全前沿研究现状,发现李冲在论文《在途车数量模型研究及应用》中提到在途车数量的计算,其公开的方法是通过道路的长度、车道数、平均流量、平均速度计算在途车数量,然而该计算模型并不能得到精准的在途车数量,只有笼统的估计值。而且现有技术中一般都是通过历史过车数据进行计算,或者实时统计某段时间范围内的过车数据,由于过车数据比较庞大,很难实现实时计算每一条过车数据。技术实现要素:1.要解决的技术问题针对现有技术中存在的在途车数量计算模型得出的结果笼统,不够精准的问题,本发明提供了一种高速公路在途车数量计算方法、装置及存储介质,它可以实现实时获取过车数据,准确而实时地计算每两个卡口之间的路段上在途车数量,同时详细地获取该路段上在途车的类型。2.技术方案本发明的目的通过以下技术方案实现。一种高速公路上的在途车数量计算方法,包括以下步骤:步骤1:获取高架道路的卡口设备信息,计算得到区间方向表。从设备表中获取设备编号、方向、卡口编号三个字段。关联卡口表,通过卡口设备的方向和所在位置(道路公里数加米数)进行行驶路线排序,生成区间方向表。区间方向表包括起始卡口、结束卡口、方向三个字段。步骤2:一次性初始化一个空的数据集data。步骤3:过车数据和区间方向表进行关联。步骤301,实时获取一条过车数据,字段包括号牌号码、号牌种类、设备编号、经过时间。步骤302,过车数据和数据集data中的数据用“号牌号码”、“号牌种类”进行匹配,匹配到的数据,从数据集data中进行剔除。步骤303,然后过车数据和设备表通过“设备编号”进行关联,得到号牌号码、号牌种类、经过时间、设备编号、方向、卡口编号字段。再用“卡口编号”和“起始卡口”字段同时加上“方向”和区间方向表进行关联。可以得到起始卡口、结束卡口、方向、号牌号码、号牌种类、经过时间字段。说明这辆车目前行驶在该区间内,步骤304,将这条数据存入数据集data。这样是为了保证车辆在数据集data中是最近出现的那一条数据。每获取一条过车数据则计算此步骤。步骤4:对数据集data中数据进行超时情况剔除。步骤401,对每一段区间进行历史最小速度计算,通过历史最小速度可以计算出每一区间的最大通过时间,保存在历史速度时间表中。步骤402,对数据集data中数据进行时间过滤,用数据集中的数据的经过时间和现在时间进行对比,假设现在时间-经过时间大于最大通行时间,则将这条数据进行剔除。需要说明的,这是针对设备没拍到车辆,或者设备出现故障的情况。步骤5:汇总计算。当前数据集data中存的是每一辆机动车目前正在行驶在路段上的详细在途车辆信息,若对“起始卡口”、“结束卡口”进行分组计数可以得到每一路段上的在途车数量,若直接进行计数,则可以得到整段高速公路上的在途车数量。一种高速公路在途车数量计算装置,包括:存储单元,用于存储实现上述方法的程序;处理器,被配置用于调用所述程序指令;输入装置,采集数据并通过计算机网络将数据实时传输至存储器和处理器;输出装置,用于输出检测结果。一种可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述的方法。3.有益效果相比于现有技术,本发明的优点在于:本发明通过对卡口设备信息进行排序分段,从卡口设备获取过车数据,通过过车数据和卡口设备信息进行匹配,对异常数据进行剔除,最后能准确的计算出正在高速公路上行驶的在途车辆。得到高速公路和高速公路每段路上的在途车数量,可以实时地监控到每一段路的车辆行驶情况和拥堵情况,能更准确的知道高速公路每一段路上实时的在途车辆数。附图说明图1为本发明的方法流程图;图2为本发明的现场示意图;图3为本发明的装置结构图。具体实施方式下面结合说明书附图和具体的实施例,对本发明作详细描述。实施例1如图1所示,步骤1:获取高架道路的卡口设备信息,计算得到区间方向表。高速公路上,每隔一段距离会有道路交通监测点,这里称为卡口,每个卡口有多个监测设备,能获取到经过车辆的信息。设备每拍到一辆车,就会产生一条过车数据。相邻的卡口中间的路段,称为区间路段。根据图2所示,图中有a、b、c三个卡口,设备1和设备2拍到的是经过卡口a行驶方向为南的车辆,设备3和设备4拍到的是经过卡口a行驶方向为北的车辆,设备5和设备6拍到的是经过卡口b行驶方向为南的车辆,设备7和设备8拍到的是经过卡口b行驶方向为北的车辆,设备9和设备10拍到的是经过卡口c行驶方向为南的车辆,设备11和设备12拍到的是经过卡口c行驶方向为北的车辆。图2中有四个区间路段、分别是(起始卡口a,起始卡口b,南行)、(起始卡口b,起始卡口c,南行)、(起始卡口c,起始卡口b,北行)、(起始卡口b,起始卡口a,北行)。当车辆经过设备1或设备2,却还没有被设备5或设备6拍到时,此时车辆在(起始卡口a,起始卡口b,南行)路段上行驶。当车辆经过设备5或设备6,却还没有被设备9或设备10拍到时,此时车辆在(起始卡口b,起始卡口c,南行)路段上行驶。当车辆经过设备11或设备12,却还没有被设备7或设备8拍到时,此时车辆在(起始卡口c,起始卡口b,北行)路段上行驶,当车辆经过设备7或设备8,却还没有被设备3或设备4拍到时,此时车辆在(起始卡口b,起始卡口a,北行)路段上行驶。从设备表中获取设备编号、方向、卡口编号三个字段。关联卡口表,通过卡口设备的方向和所在位置(道路公里数加米数)进行行驶路线排序,生成区间方向表。区间方向表包括起始卡口、结束卡口、方向三个字段。例如:设备表内有数据见表1:表1设备表设备编号方向卡口编号1南行a2北行a3南行b4北行b5南行c6北行c7南行d8南行e卡口表内数据见表2:表2卡口表卡口编号卡口处于高速里程a10公里100米b20公里200米c30公里200米d40公里200米e50公里200米越往南行里程数越多,那么从北往南经过卡口的顺序就是a-b-c-d-e,往北则相反。则上面两个表排序关联后得到区间方向表见表3:表3区间方向表起始卡口结束卡口方向ab南行bc南行cd南行de南行cb北行ba北行步骤2:一次性初始化一个空的数据集data,数据集data用于存储在途车的车辆以及相关交通信息。步骤3:过车数据和区间方向表进行关联实时获取一条过车数据包括字段号牌号码、号牌种类、设备编号、经过时间。过车数据和数据集data中的数据用“号牌号码”、“号牌种类”进行匹配,匹配到的数据,从数据集data中进行剔除。然后过车数据和设备表通过“设备编号”进行关联,得到号牌号码、号牌种类、经过时间、设备编号、方向、卡口编号字段。再用“卡口编号”和“起始卡口”字段同时加上“方向”和区间方向表进行关联。可以得到起始卡口、结束卡口、方向、号牌号码、号牌种类、经过时间字段。说明这辆车目前行驶在该区间内,将这条数据存入数据集data。这样是为了保证车辆在数据集data中是最近出现的那一条数据。每获取一条过车数据则重复此步骤,具体过程如下所述:步骤301,获取到一条过车数据:(号牌号码:a1111a,号牌种类:小型汽车,设备编码:1,经过时间:2020-08-2600:00:00)。步骤302,将该数据和数据集data中的数据用“号牌号码”、“号牌种类”进行匹配,没匹配到相同号牌号码,不进行任何操作。步骤303,过车数据和设备表通过“设备编号”进行关联,得到号牌号码、号牌种类、经过时间、设备编号、方向、卡口编号字段为:(号牌号码:a1111a,号牌种类:小型汽车,经过时间:2020-08-2600:00:00,设备编码:1,方向:南行,卡口编号:a)。步骤304,和区间方向表进行关联。可以得到起始卡口、结束卡口、方向、号牌号码、号牌种类、经过时间字段为:(起始卡口:a,结束卡口:b,方向:南行,号牌号码:a1111a,号牌种类:小型汽车,经过时间:2020-08-2600:00:00)。步骤305,将这条数据存入数据集data中。每获取一条过车数据则执行以上步骤301至步骤305的操作。若获取一条过车数据:(号牌号码:a2222a,号牌种类:小型汽车,设备编码:3,经过时间:2020-08-2600:01:00),最后计算得到(起始卡口:b,结束卡口:c,方向:南行,号牌号码:a2222a,号牌种类:小型汽车,经过时间:2020-08-2600:01:00)放入data。获取过车数据(号牌号码:a3333a,号牌种类:大型汽车,设备编码:5,经过时间:2020-08-2600:02:00),最后计算得到(起始卡口:c,结束卡口:d,方向:南行,号牌号码:a3333a,号牌种类:大型汽车,经过时间:2020-08-2600:02:00)放入data。当前data中数据有:{(起始卡口:a,结束卡口:b,方向:南行,号牌号码:a1111a,号牌种类:小型汽车,经过时间:2020-08-2600:00:00),(起始卡口:b,结束卡口:c,方向:南行,号牌号码:a2222a,号牌种类:小型汽车,经过时间:2020-08-2600:01:00),(起始卡口:c,结束卡口:d,方向:南行,号牌号码:a3333a,号牌种类:大型汽车,经过时间:2020-08-2600:02:00)}若获取数据为(号牌号码:a1111a,号牌种类:小型汽车,设备编码:3,经过时间:2020-08-2600:15:00),data中有该车辆,将该车辆数据从data剔除,当前data中数据有:{(起始卡口:b,结束卡口:c,方向:南行,号牌号码:a2222a,号牌种类:小型汽车,经过时间:2020-08-2600:01:00),(起始卡口:c,结束卡口:d,方向:南行,号牌号码:a3333a,号牌种类:大型汽车,经过时间:2020-08-2600:02:00)}再经过计算得到(起始卡口:b,结束卡口:c,方向:南行,号牌号码:a1111a,号牌种类:小型汽车,经过时间:2020-08-2600:15:00)加入data。当前data中数据有:{(起始卡口:b,结束卡口:c,方向:南行,号牌号码:a2222a,号牌种类:小型汽车,经过时间:2020-08-2600:01:00),(起始卡口:c,结束卡口:d,方向:南行,号牌号码:a3333a,号牌种类:大型汽车,经过时间:2020-08-2600:02:00),(起始卡口:b,结束卡口:c,方向:南行,号牌号码:a1111a,号牌种类:小型汽车,经过时间:2020-08-2600:08:30)}上述步骤就是不断获取过车数据更新在途车的过程。现有技术中一般都是通过历史过车数据进行计算,或者实时统计某段时间范围内的过车数据,由于过车数据比较庞大,很难实现实时计算每一条过车数据,导致得到的在途车数据不够精准,只有笼统的估计值。在本方案中,为了实时计算车辆目前所处的路段区间,每获取一条过车数据就执行以上步骤301至步骤305的操作,采用过车数据和步骤1所得区间方向表进行关联匹配存入数据集,从而实现实时计算每一条过车数据。步骤4:对数据集data中数据进行超时情况剔除。对每一段区间进行历史最小速度计算,通过历史最小速度可以计算出每一区间的最大通过时间,保存在历史速度时间表中。用数据集中的数据的经过时间和现在时间进行对比,假设现在时间-经过时间大于最大通行时间,则将这条数据进行剔除。这是针对设备没拍到车辆,或者设备出现故障的情况。步骤401,计算区间历史的最小速度和区间最大通行时间。取历史拥堵时段的过车数据进行计算,计算起始卡口为a,结束卡口为b的最小速度,对时段内的经过a、b的每辆车进行速度计算,公式为(ab之间的距离)/(经过b的时间-经过a的时间)。由卡口表可知,ab之间的距离是20公里200米减10公里100米就是10.1公里,假设一辆车经过a点时间是“2020-08-2600:00:00”,经过b点时间是“2020-08-2600:08:30”,共8分钟30秒,换算成小时是0.097小时。那么这辆车在ab路段的速度是10.1/0.097≈104(公里/每小时),这样对每辆车算出速度得到最小速度。得到区间最小速度,区间的最大通过时间=区间距离/区间最小速度,将数据存入历史速度时间表中。假设已经算出数据,表结构如表4:表4速度时间表起始卡口结束卡口方向区间距离(公里)最小速度最大通行时间(秒)ab南行10.180454bc南行1080450cd南行1070514de南行1060600cb北行1080450ba北行10.170519区间历史的最小速度和区间最大通行时间可以一天更新一次也可以一个月更新一次。步骤402:对数据集data中数据进行时间过滤。假设data当前数据有:{(起始卡口:c,结束卡口:d,方向:南行,号牌号码:a3333a,号牌种类:大型汽车,经过时间:2020-08-2600:05:00),(起始卡口:b,结束卡口:c,方向:南行,号牌号码:a2222a,号牌种类:小型汽车,经过时间:2020-08-2600:00:00),(起始卡口:b,结束卡口:c,方向:南行,号牌号码:a1111a,号牌种类:小型汽车,经过时间:2020-08-2600:08:30),(起始卡口:a,结束卡口:b,方向:南行,号牌号码:a4444a,号牌种类:小型汽车,经过时间:2020-08-2600:06:30),............}当前时间是“2020-08-2600:10:00”,和第一条数据经过时间:“2020-08-2600:05:00”的时间差是300秒,cd区间的最大通行时间是514秒,时间差<最大通行时间,保留该数据。第二条数据进行计算得到时间差为600秒,bc区间的最大通行时间是450秒,时间差>最大通行时间,应该剔除该数据。第三条数据计算得到时间差为90秒,bc区间的最大通行时间是450秒,时间差<最大通行时间,保留该数据。第四条数据计算得到时间差为210秒,ab区间的最大通行时间是454秒,时间差<最大通行时间,保留该数据。后面同样计算。最后data中的数据为{(起始卡口:c,结束卡口:d,方向:南行,号牌号码:a3333a,号牌种类:大型汽车,经过时间:2020-08-2600:05:00),(起始卡口:b,结束卡口:c,方向:南行,号牌号码:a1111a,号牌种类:小型汽车,经过时间:2020-08-2600:08:30),(起始卡口:a,结束卡口:b,方向:南行,号牌号码:a4444a,号牌种类:小型汽车,经过时间:2020-08-2600:06:30),............}上述步骤可以每秒执行一次,也可以在每次数据汇总计算前执行。采用本方法之前,由于过车数据比较庞大,很难实现实时计算每一条过车数据,对漏拍和不在途的车辆进行超时剔除往往存在遗漏的情况,导致最终的汇总计算结果不够精准。在本方案中,基于步骤3得到的实时过车数据,从而实现实时对漏拍和不在途的车辆进行超时剔除,为后续汇总计算提供精准的数据输入。步骤5:汇总计算。当前数据集data中存储的是每一辆机动车正在行驶在高速公路上的详细在途车辆信息,若对“起始卡口”、“结束卡口”进行分组计数,根据“起始卡口”、“结束卡口”将数据拆分成组,相同的起始卡口”、“结束卡口”为一组;对每个组独立进行count()计数;将结果合并到一个数据结构中,可以得到每一路段上的在途车数量;若直接进行计数,则对整个数据集进行count()计数,则可以得到整段高速公路上的在途车数量。综上所述,通过以上步骤可以实时地监控到每一段路的车辆行驶情况和拥堵情况,能更准确地获知高速公路每一段路上实时的在途车辆数,掌握高速公路的实时路况,方便交通部门及时、有效地处理交通险情。本技术方案在某高速上应用,每五分钟进行一次汇总计算,将每一路段的在途车数量以及整段高速在途车数量推送给用户。通过一段时间的运行,某次发现某一路段上正常在途车辆数相比该路段上正常的在途车辆数明显增多,说明该路段正处于拥堵状态。通过视频检测器查看该路段交通情况得到证实。同时,经过观察,计算出来的在途车数量在节假日期间至少是平时的两倍多,说明该算法是可信并且实用的。实施例2图3图示了根据本申请实施例的高速公路在途车数量计算装置框图,本发明的高速公路在途车数量计算装置10包括一个或多个处理器11和存储器12。处理器11可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制装置10中的其他组件以执行期望的功能。存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本申请的各个实施例的决策行为决策方法以及/或者其他期望的功能。当然,为了简化,图3中仅示出了该装置10中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等的组件。除此之外,根据具体应用情况,高速公路在途车数量计算装置10还可以包括任何其他适当的组件。实施例3除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的决策行为决策方法中的步骤。所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c 等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的决策行为决策方法中的步骤。所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。以上示意性地对本发明创造及其实施方式进行了描述,该描述没有限制性,在不背离本发明的精神或者基本特征的情况下,能够以其他的具体形式实现本发明。附图中所示的也只是本发明创造的实施方式之一,实际的结构并不局限于此,权利要求中的任何附图标记不应限制所涉及的权利要求。所以,如果本领域的普通技术人员受其启示,在不脱离本创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本专利的保护范围。此外,“包括”一词不排除其他元件或步骤,在元件前的“一个”一词不排除包括“多个”该元件。产品权利要求中陈述的多个元件也可以由一个元件通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。当前第1页1 2 3 
    技术特征:

    1.一种高速公路在途车数量计算方法,其特征在于,包括以下步骤:

    步骤1:获取交通信息,计算得到区间方向表;

    步骤2:初始化数据集;

    步骤3:实时获取过车数据,将所述过车数据进行匹配和关联后存入数据集;

    步骤4:对经步骤3处理后数据集的数据进行超时情况剔除;

    步骤5:对剔除后的数据集进行汇总计算。

    2.根据权利要求1所述的一种高速公路在途车数量计算方法,其特征在于,所述步骤1中的交通信息包括设备编号、方向和卡口编号。

    3.根据权利要求1所述的一种高速公路在途车数量计算方法,其特征在于,所述步骤3又包括:

    步骤301,将过车数据和数据集进行匹配,剔除匹配到的数据;

    步骤302,将过车数据和设备表进行关联;

    步骤303,将关联后的过车数据存入数据集。

    4.根据权利要求3所述的一种高速公路在途车数量计算方法,其特征在于,所述步骤301中的过车数据包括号牌号码、号牌种类、设备编号和经过时间。

    5.根据权利要求1所述的一种高速公路在途车数量计算方法,其特征在于,所述步骤4又包括:

    步骤401,对每段区间进行历史最小速度计算,得出本区间最大通过时间并保存在历史速度时间表中;

    步骤402,对数据集中数据进行时间过滤,将数据的经过时间和现在时间进行对比后剔除不合格数据。

    6.根据权利要求5所述的一种高速公路在途车数量计算方法,其特征在于,所述步骤401中区间历史最小速度和区间最大通行时间每隔固定时间更新一次。

    7.根据权利要求6所述的一种高速公路在途车数量计算方法,其特征在于,所述步骤402是在每隔单位时间执行或每次数据汇总计算前执行。

    8.根据权利要求1所述的一种高速公路在途车数量计算方法,其特征在于,所述步骤5中汇总计算为分组计数得出区间的在途车数量或直接计数得出全程的在途车数量。

    9.一种高速公路在途车数量计算装置,其特征在于,包括:存储单元,用于存储实现权利要求1-8任一项所述方法的程序;处理器,被配置用于调用所述程序指令;输入装置,采集数据并通过计算机网络将数据实时传输至存储器和处理器;输出装置,用于输出检测结果。

    10.一种可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行权利要求1-8任一项所述的方法。

    技术总结
    本发明公开了一种高速公路在途车数量计算方法、装置及存储介质,属于交通信息处理领域领域。针对现有技术中存在的在途车数量计算模型得出的结果笼统,不够精准的问题,本发明提供了一种高速公路在途车数量计算方法、装置及存储介质,通过对卡口设备信息进行排序分段,从卡口设备获取过车数据,通过过车数据和卡口设备信息进行匹配,对异常数据进行剔除,最后能准确的计算出正在高速公路上行驶的在途车辆。得到高速公路和高速公路每段路上的在途车数量,可以监控到每一段路的车辆行驶情况和拥堵情况,能更准确的知道高速公路每一段路上实时的在途车辆数。

    技术研发人员:胡恒;刘松;骆乐乐;朱文佳;罗达志
    受保护的技术使用者:安徽百诚慧通科技有限公司
    技术研发日:2020.12.17
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-15235.html

    最新回复(0)