CN113129589A - 一种基于卡口检测数据的个体级od小区推断方法 - Google Patents
一种基于卡口检测数据的个体级od小区推断方法 Download PDFInfo
- Publication number
- CN113129589A CN113129589A CN202110330637.7A CN202110330637A CN113129589A CN 113129589 A CN113129589 A CN 113129589A CN 202110330637 A CN202110330637 A CN 202110330637A CN 113129589 A CN113129589 A CN 113129589A
- Authority
- CN
- China
- Prior art keywords
- road
- road section
- cell
- center
- vehicle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/28—Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0137—Measuring and analyzing of parameters relative to traffic conditions for specific applications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A30/00—Adapting or protecting infrastructure or their operation
- Y02A30/60—Planning or developing urban green infrastructure
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了一种基于卡口检测数据的个体级OD小区推断方法,包括以下步骤:S1:根据城市路网拓扑将城市划分为若干交通小区;S2:根据车辆在交通小区的行驶得到车辆通过路段信息表;S3:整合出车辆在设定时间段内的出行链,对车辆出行链进行单次出行划分得到车辆出行记录表;S4:定义交通小区的邻域路段,并求解出城市路网所有路段与其对应的邻域路段字典;S5:通过出行者个体空间聚类算法得到不同车辆出行OD路段簇中心与簇中包含路段对应关系字典;S6:利用城市路网所有路段与其对应的邻域路段字典和不同车辆出行OD路段簇中心与簇中包含路段对应关系字典推断得到个体OD小区。本发明充分考虑出行个体的差异,适用性广、通用性强。
Description
技术领域
本发明涉及智能交通技术领域,更具体地,涉及一种基于卡口检测数据的个体级OD小区推断方法。
背景技术
在研究城市出行活动时,交通小区是一个重要的概念,在分析出行者出行的目的或性质、研究城市不同区域的使用模式等方面扮演着重要的作用。城市交通小区划分的方式和定义并不唯一,通用且合理的划分方式为区域分割法,即将不同路段包围的最小的封闭区域定义为一个小区,因此路网的拓扑结构将整个城市划分为多个交通小区。
当车辆在城市路网上活动时,布设的电子卡口(I-AVI)能够检测出行者个体在路网节点上的出现,反映出行者在不同路段上的离开和到达,从而可以通过轨迹重构得到出行者连续的出行轨迹,进行单次出行的划分,得到个体的连续出行记录。因为无法通过电子卡口检测数据直接得到出行者在交通小区的进出情况,重构得到的出行记录的OD是路段级,因此就要设计一种方法,使得个体每次出行的OD能够从路段映射为交通小区,来支撑交通小区作为OD的相关研究。
由于成本等原因,目前大范围布设电子卡口的城市并不多,但由于卡口检测能够得到个体级的出行数据,支撑个体级的出行分析,因此可以预见未来电子卡口在城市中会越来越普遍。过去以交通小区作为OD研究出行主要是从集计层面进行的,即模糊个体的身份、仅对发生量本身进行研究,因此在这个逻辑框架下基本不会涉及交通小区推断的问题。但当卡口检测数据越来越多的应用到城市出行分析时,如何通过检测得到的数据推断出行者的OD小区就是一个必然要面临的问题,而目前缺乏一种个体粒度的OD小区推断方法。
现有技术中,公开号为CN108717790B的中国发明专利,于2021年2月26日公开了一种基于卡口车牌识别数据的车辆出行分析方法。基于预处理后的卡口车牌数据辨识个体出行;首先将卡口车牌识别数据基于车牌号分组,并以时间排序,生成卡口感知序列;再根据前后卡口感知对的行程时间阈值识别单次出行,将车辆的卡口感知序列分割成若干个出行子序列;基于车辆的出行子序列信息,结合卡口感知序列,提取车辆的个体出行信息;基于车辆个体出行信息,从个体车辆对象的角度能分析车辆的出行规律和通勤特征,包括车辆职住地识别;从集计统计的层面能获取各个卡口感知对之间的OD矩阵以及重要路段的交通流量;还能结合车牌属性对车辆进行群体划分,对不同车辆群体的出行特征进行统计分析,包括外地车特征聚类分类。该方案是通过对卡口识别的车牌数据对车辆出行进行分析,没有涉及到具体的OD小区推断。
发明内容
本发明为克服上述现有技术的OD小区推断没有考虑个体出行的差异,无法支持个体级的出行分析的缺陷,提供一种基于卡口检测数据的个体级OD小区推断方法。
本发明的首要目的是为解决上述技术问题,本发明的技术方案如下:
一种基于卡口检测数据的个体级OD小区推断方法,包括以下步骤:
S1:根据城市路网拓扑将城市划分为若干交通小区,所述交通小区包括路段、设有出行检测卡口的路段节点;
S2:根据车辆在交通小区的行驶得到车辆通过路段信息表;
S3:根据车辆通过路段信息表整合出车辆在设定时间段内的出行链,对车辆出行链进行单次出行划分得到车辆出行记录表;
S4:定义交通小区的邻域路段,并求解出城市路网所有路段与其对应的邻域路段字典;
S5根据城市路网所有路段与其对应的邻域路段字典,通过出行者个体空间聚类算法得到不同车辆出行OD路段簇中心与簇中包含路段对应关系字典;
S6:根据车辆ID、出行记录,利用城市路网所有路段与其对应的邻域路段字典和不同车辆出行OD路段簇中心与簇中包含路段对应关系字典推断得到个体OD小区。
进一步的,所述车辆通过路段的信息表包括:hphm、road_id、fnode、tnode、from_time、to_time,所述hphm表示车辆的车牌号码,表征身份信息;
所述road_id车辆经过的路段编号;
所述fnode车辆进入该路段时的节点;
所述tnode车辆驶出该路段时的节点;
所述from_time车辆驶入路段/经过fnode时的具体时刻;
所述to_time车辆驶出路段/经过tnode时的具体时刻。
进一步的,步骤S3所述根据车辆通过路段信息表整合出车辆在设定时间段内的出行链,对车辆出行链进行单次出行划分得到车辆出行记录表,单次出行划分得到车辆出行记录具体过程为:
如果车辆驶入下一路段的时刻与驶出上一个路段的时刻大于给定的时间阈值Tg,那么就将出行链在此处打断,认为上一个路段是上次出行的终点,下一个路段是下一次出行的起点;
所述车辆出行记录表包括车牌号码、出发时刻、到达时刻、起点路段、终点路段。
进一步的,所述邻域路段为指定路段的路段集合,所述邻域路段表征在路网拓扑中与指定路段共同构成交通小区的路段,同时表征空间位置的相近。
进一步的,步骤S4定义交通小区的邻域路段,并求解出城市路网所有路段与其对应的邻域路段字典具体过程为:
S401:构建交通小区与路段的对应关系字典,即每个交通小区对应的包围路段,构建路段与交通小区对应关系字典,即每个路段对应的关联小区;使用路段中点经纬度表示每个路段的位置信息;
S402:确定邻域路段最远关联距离dmax;
S403:遍历城市路网所有路段,记当前路段为r;
S404:通过路段与交通小区的对应关系字典获取路段r的关联小区集合;
S405:遍历步骤S404得到的关联小区集合,通过交通小区与路段的对应关系字典获取当前路段r的关联小区集合列表中所有交通小区各自的包围路段集合;
S406:对步骤S405中所得的交通小区的包围路段集合求并集,并删除路段r,得到路段r可进行一度关联的路段集合;
S407:遍历步骤S406得到的路段集合,计算每个路段和路段r的距离distance,记遍历得到的当前路段为j,已知两点经纬度求距离的计算公式见公式(1)和公式(2),距离单位为m;
其中
S408:对于每一个路段j,判断distancerj与dmax的大小关系,如果distancerj>dmax,则从路段集合中删除路段j;
S409:将经过步骤S408筛选后的路段r的可一度关联的路段集合作为路段r的邻域路段集合;
S410:遍历下一个路段,重复S403-S409,如果城市路网所有路段都完成了遍历,则算法终止。
进一步的,所述构建交通小区与路段的对应关系字典,即每个交通小区对应的包围路段,交通小区与路段的对应关系字典包括两个字段:交通小区、包围路段;
构建路段与交通小区对应关系字典,即每个路段对应的关联小区;使用路段中点经纬度表示每个路段的位置信息,路段与交通小区对应关系字典包括两个字段:路段、关联小区,每个路段均对应两个关联小区。
进一步的,使用路段中点经纬度表示每个路段的位置信息,具体表示方法为:
记路段编号为i的路段为ri,即对任一路段ri,用路段中点处的经纬度数组(lngi,lati)唯一标识该路段。
进一步的,步骤S5的具体过程为:
S501:计算该出行者以不同路段作为OD出行的频次,确定最大关联距离dmax;
S502:定义该出行者的出行OD路段簇中心与簇中包含路段对应关系字典U,数据格式为{路段簇中心坐标:[该簇包含的路段]},将该字典初始化为空字典;
S503:定义待聚类路段集合T,并将该集合初始化为该出行者出行OD路段集合;
S504:取该出行者待聚类路段集合中作为OD出行频次最高的路段,记为ri,将ri从T中删除;
S505:通过Dn获取ri的邻域路段集合Ni;
S506:取Ni和待聚类路段集合T的交集,记为J,如果J为空,则执行步骤S506,如果不为空则执行步骤S507;
S507:如果J为空,则ri单独成簇,簇中心点坐标为ri的路段中点坐标,即(lngi,lati),将(lngi,lati)和ri添加到字典U,如果T不为空,返回步骤S504,如果T为空,则算法结束,输出字典U;
S508:如果J不为空,则将J中的路段和ri归入同一个簇,即该簇的集合为R,并计算该簇的簇中心点坐标,簇中心点经纬度坐标计算公式见公式(3)和公式(4),得到簇中心经纬度坐标为(lngcenter,latcenter),将J中包含的所有路段从T中删除;
S509:计算步骤(8)所得簇中心经纬度和T集合中各个路段的距离,记为di,计算公式见公式(1)和公式(2),如果di<dmax,则将该路段加入集合R并从T中删除,重新计算簇中点坐标,计算公式见(3)和公式(4),重复该步骤,直到对T所有路段都有di≥dmax,则将簇中心点坐标(lngcenter,latcenter)和R的对应关系添加到字典U,如果T不为空,则返回步骤S4,如果T为空,则算法结束,输出字典U。
进一步的,所述出行者个体空间聚类算法为每个出行者个体生成多于一个的路段簇,该出行者个体所有作为OD出行的路段都包含在这些簇中。
进一步的,步骤S6的具体过程为:
S601:将出行车辆的出行记录按发生时间的先后顺序排序,车辆出行记录表增加OD小区字段,并初始化字段为空;
S602:遍历该出行者经步骤S601排序后的出行记录,记当前出行记录的终点路段为Dn,同时取下一次出行的起点路段为On+1,如果下一次出行为最后一次,执行步骤S614,否则执行步骤S603;
S603:判断Dn是否与On+1相同,如果不相同则执行步骤S604,相同则执行步骤S611;
S604:当Dn≠On+1时,分别取路段Dn的关联小区集合,记为PD,路段On+1的关联小区集合,记为PO,如果PO不为空集,则执行步骤S605,如果PO为空集,则考虑为漏检,执行步骤S607;
S605:PO不为空集,如果PO仅包含一个小区pi,那么将该小区同时推断为Dn和On+1对应的小区,将pi填入步骤S602遍历的本次出行的终点小区和下次出行的起点小区,返回步骤S602,如果PO包含多于一个的小区,执行步骤S606;
S606:如果PO包含多于一个的小区,说明Dn和On+1的公共小区多于一个,此时计算该出行者的整体活动中心坐标,记为(lngcenter_tol,latcenter_tol),计算公式见公式(5),公式(6),其中U为出行者个体空间聚类算法输出的该出行者的字典U,对于每个公共小区,取包围路段集合B,计算所有包围路段与(lngcenter_tol,latcenter_tol)的平均距离dm,计算公式见公式(7),路段与整体活动中心坐标之间的距离计算见公式(1)和公式(2),对比B集合中所有小区的dm,选取最小的dm对应的小区作为Dn和On+1的对应小区填入车辆出行记录表,返回步骤S602;
S607:PO为空集,考虑为漏检情况,取该出行者Dn路段所在簇中心点坐标(见表8),记为(lngcenter,latcenter),如果簇中心点坐标与路段Dn终点坐标不重合,说明该簇至少包含两个路段,此时执行步骤S608,如果重合,即该路段所在簇仅有该路段,执行步骤S609;
S608:取Dn路段关联的小区,分别计算小区与(lngcenter,latcenter)的dm,取最小的dm对应的小区为Dn对应的小区;
S609:计算该出行者的整体活动中心坐标,记为(lngcenter_tol,latcenter_tol),取Dn路段关联的小区(见表4),计算小区与(lngcenter_tol,latcenter_tol)的平均距离dm,公式见公式(1)、(2)、(7),选取最大的dm对应的小区作为Dn的对应小区;
S610:对On+1执行步骤S607-S609,将Dn和On+1对应的小区填入车辆出行记录表,返回步骤S602;
S611:当Dn=On+1时,记该路段为r,取该路段的关联小区集合B,如果关联小区集合仅含一个小区,那么直接将该小区推断为Dn和On+1对应的小区,填入车辆出行记录表,返回步骤S602,如果关联小区集合多于一个,执行步骤S612;
S612:取路段r的簇所在中心点坐标,记为(lngcenter,latcenter),如果(lngcenter,latcenter)≠(lngr,latr),计算关联小区B中所有小区包围路段到(lngcenter,latcenter)的平均距离dm,计算公式见公式(7),取最小的dm对应的小区作为Dn和On+1的对应小区填入车辆出行记录表,返回步骤S602,如果(lngcenter,latcenter)=(lngr,latr),执行步骤S613;
S613:计算该出行者的整体活动中心坐标,记为(lngcenter_tol,latcenter_tol),取路段r关联的小区,计算小区与(lngcenter_tol,latcenter_tol)的平均距离dm,公式见公式(1)、公式(2)、公式(7),选取最大的dm对应的小区作为Dn的对应小区,填入车辆出行记录表,返回步骤S602;
S614:对车辆出行记录表第一条出行记录的O小区和最后一条出行记录的D小区采用步骤S607-S609进行推断,填入车辆出行记录表,算法终止。
与现有技术相比,本发明技术方案的有益效果是:
本发明通过划分交通小区,利用卡口数据构建车辆通过路段信息表和车辆出行记录表,然后构建多组字典结构进而对个体级OD小区进行推断,充分考虑出行个体的差异,适用性广、通用性强。
附图说明
图1为本发明方法流程图。
图2为本发明交通小区示意图。
图3为本发明车辆出行链示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
实施例1
如图1所示,一种基于卡口检测数据的个体级OD小区推断方法,包括以下步骤:
S1:根据城市路网拓扑将城市划分为若干交通小区,所述交通小区包括路段、设有出行检测卡口的路段节点;
需要说明的是,交通小区是交通规划中研究交通发生与吸引、交通分布而划分的交通调查基本控件单位。在对城市交通的研究和分析时,出行者在不同交通小区的出发和到达是分析个体出行性质和出行目的的重要信息。
城市路网会天然地将城市切割为多个区域,由于在规划城市路网时会综合考虑城市不同区域的功能,这使得被路网包围的区域通常具有相似的功能定位,如商圈或住宅区,那么结合城市的POI信息与不同区域的对应关系就能够大致区分不同区域的功能,从而分析个体的出行性质以及出行模式。本发明中将交通小区定义为基于路网拓扑对城市切割得到的封闭区域。对于城市交通小区更加精确的描述如下。
如图2所示,为交通小区划分的示意图,黑色线段代表路段,路段的交叉处为城市路网的节点即设有出行检测卡口的路段节点(图中的圆点标注处),这些节点也是电子卡口布设的位置。从图中可以看出,城市被路网分割出了很多区域(图中为6个),这些区域被路段包围且封闭,即进入该区域的车辆必须通过包围路段进入。定义上述被路网中不同路段包围且封闭,不能够再次分割的区域为交通小区。
基于上述已划分的交通小区,在路段节点处设置电子卡口,能够在车辆经过该卡口时,记录该车的车牌号码,即该车辆的身份信息,以及车辆通过该卡口处的具体时刻。
S2:根据车辆在交通小区的行驶得到车辆通过路段信息表;如表1所示为车辆通过路段信息表。
表1车辆通过路段信息表
不同车辆经过不同路段的信息如表1所示,其中包括了该车辆的身份信息,以及车辆驶入和驶出该路段的节点编号以及对应的具体时刻,驶入和驶出的节点能够反映该车辆在路段上的行驶方向。
S3:根据车辆通过路段信息表整合出车辆在设定时间段内的出行链,对车辆出行链进行单次出行划分得到车辆出行记录表;
基于车辆通过路段的信息表的信息,在城市路网出行能够被完全观测的前提下,可以得到车辆在时间维度上连续通过不同路段的信息,那么针对每一辆车,可以整合出该车辆在一定时间范围内的出行链,该出行链包含车辆经过不同路段的顺序以及相应的时间。如图3所示为车辆出行链示意图,展示了车辆出行链所包含的信息。其中表示进入到路段x的时刻,对应于表1中的,表示驶出路段x的时刻,对应于表1中的。车辆的一段时间范围内的出行链可能由多次出行构成,因此要获得车辆的出行记录,需要将车辆个体的出行链进行打断,进行单次出行的划分,打断后的每一次出行都会有一个起终点,即为本次出行的OD,这个OD为路段级。
单次出行划分得到车辆出行记录表具体过程为:
如果车辆驶入下一路段的时刻与驶出上一个路段的时刻大于给定的时间阈值Tg,那么就将出行链在此处打断,认为上一个路段是上次出行的终点,下一个路段是下一次出行的起点;,如图2所示,如果in_tb-out_ta≤Tg,则认为路段a和路段b为该车辆在一次出行过程中连续经过的两个路段;如果in_tc-out_tb>Tg,则将出行链在此处断开,认为路段c是该车辆在下一次出行的起点。
完成对车辆个体的出行划分后可以得到如表2所示的车辆个体的出行记录,其中每一条记录代表了该车辆的一次出行,每一次出行的信息包括本次出行的出发和到达时刻,以及出行的起点路段和终点路段。
表2车辆出行记录表
S4:定义交通小区的邻域路段,并求解出城市路网所有路段与其对应的邻域路段字典;
更具体的,所述邻域路段为指定路段的路段集合,所述邻域路段表征在路网拓扑中与指定路段共同构成交通小区的路段,同时表征空间位置的相近。考虑到每个个体对某一区域路段使用模式相对固定,因此可以参考该出行者在指定路段邻域路段的出行信息进行该路段OD小区的推断。下面介绍对于任一路段,其邻域路段的求解方法。
首先构建交通小区与路段的对应关系字典,即每个交通小区对应的包围路段,构建路段与交通小区对应关系字典,即每个路段对应的关联小区;使用路段中点经纬度表示每个路段的位置信息;其中,表3示出了交通小区与路段的对应关系字典结构,表4示出了路段与交通小区对应关系字典结构,
表3交通小区与路段对应关系字典结构
表4路段与交通小区对应关系字典结构
使用路段中点经纬度表示每个路段的位置信息,具体表示方法为:记路段编号为i的路段为ri。即对任一路段ri,用路段中点处的经纬度数组(lngi,lati)唯一标识该路段。表5示出了路段位置信息表。
表5路段位置信息表
求解出城市路网所有路段与其对应的邻域路段字典
具体流程如下:
S401:构建交通小区与路段的对应关系字典,即每个交通小区对应的包围路段,构建路段与交通小区对应关系字典,即每个路段对应的关联小区;使用路段中点经纬度表示每个路段的位置信息;
S402:确定邻域路段最远关联距离dmax;
S403:遍历城市路网所有路段,记当前路段为r;
S404:通过路段与交通小区的对应关系字典获取路段r的关联小区集合;
S405:遍历步骤S404得到的关联小区集合,通过交通小区与包围路段的对应关系字典获取当前路段r的关联小区集合列表中所有交通小区各自的包围路段集合;
S406:对步骤S405中所得的交通小区的包围路段集合求并集,并删除路段r,得到路段r可进行一度关联的路段集合;
S407:遍历步骤S406得到的路段集合,计算每个路段和路段r的距离(distance),记遍历得到的当前路段为j,已知两点经纬度求距离的计算公式见公式(1)和公式(2),距离单位为m;
其中
S408:对于每一个路段j,判断distancerj与dmax的大小关系,如果distancerj>dmax,则从路段集合中删除路段j;
S409:将经过步骤S408筛选后的路段r的可一度关联的路段集合作为路段r的邻域路段集合;
S410:遍历下一个路段,重复S403-S409,如果城市路网所有路段都完成了遍历,则算法终止。
S5:根据城市路网所有路段与其对应的邻域路段字典,通过出行者个体空间聚类算法得到不同车辆出行OD路段簇中心与簇中包含路段对应关系字典;
更具体的得到了城市路网所有路段与其对应的邻域路段字典,进一步通过出行者个体空间聚类算法得到不同车辆出行OD路段簇中心与簇中包含路段对应关系字典;具体流程如下:
S501:计算该出行者以不同路段作为OD出行的频次,确定最大关联距离dmax;
S502:定义该出行者的出行OD路段簇中心与簇中包含路段对应关系字典U,数据格式为{路段簇中心坐标:[该簇包含的路段]},将该字典初始化为空字典;
S503:定义待聚类路段集合T,并将该集合初始化为该出行者出行OD路段集合;
S504:取该出行者待聚类路段集合中作为OD出行频次最高的路段,记为ri,将ri从T中删除;
S505:通过Dn获取ri的邻域路段集合Ni;
S506:取Ni和待聚类路段集合T的交集,记为J,如果J为空,则执行步骤S506,如果不为空则执行步骤S507;
S507:如果J为空,则ri单独成簇,簇中心点坐标为ri的路段中点坐标,即(lngi,lati),将(lngi,lati)和ri添加到字典U,如果T不为空,返回步骤S504,如果T为空,则算法结束,输出字典U;
S508:如果J不为空,则将J中的路段和ri归入同一个簇,即该簇的集合为R,并计算该簇的簇中心点坐标,簇中心点经纬度坐标计算公式见公式(3)和公式(4),得到簇中心经纬度坐标为(lngcenter,latcenter),将J中包含的所有路段(已归入簇的)从T中删除;
S509:计算步骤(8)所得簇中心经纬度和T集合中各个路段的距离,记为di,计算公式见公式(1)和公式(2),如果di<dmax,则将该路段加入集合R并从T中删除,重新计算簇中点坐标,计算公式见(3)和公式(4),重复该步骤,直到对T所有路段都有di≥dmax,则将簇中心点坐标(lngcenter,latcenter)和R的对应关系添加到字典U,如果T不为空,则返回步骤S4,如果T为空,则算法结束,输出字典U。
在一个具体的实施例中,所述出行者个体空间聚类算法为每个出行者个体生成多于一个的路段簇,该出行者个体所有作为OD出行的路段都包含在这些簇中。表7示出了某出行者路段簇与所含路段字典结构。
表7某出行者路段簇与所含路段字典结构
通过对表7键值反转可以得到某出行者路段与路段簇字典结构。表8某出行者路段与路段簇字典结构。
S6:根据车辆ID、出行记录,利用城市路网所有路段与其对应的邻域路段字典和不同车辆出行OD路段簇中心与簇中包含路段对应关系字典推断得到个体OD小区。
需要说明的是,基于车辆出行记录通过本发明推导出带有OD小区字段的车辆出行记录示意表,如表9所示。
表9增加OD小区字段的车辆出行记录示意表
个体OD小区推断的具体过程为:
S601:将出行车辆的出行记录按发生时间的先后顺序排序,车辆出行记录表增加OD小区字段,并初始化字段为空;
需要说明的是,车辆出行记录表增加OD小区字段后可以即为增加OD小区字段的车辆出行记录示意表。
S602:遍历该出行者经步骤S601排序后的出行记录,记当前出行记录的终点路段为Dn,同时取下一次出行的起点路段为On+1,如果下一次出行为最后一次,执行步骤S614,否则执行步骤S603;
S603:判断Dn是否与On+1相同,如果不相同则执行步骤S604,相同则执行步骤S611;
S604:当Dn≠On+1时,分别取路段Dn的关联小区集合,记为PD,路段On+1的关联小区集合,记为PO(见表4),如果PO不为空集,则执行步骤S605,如果Po为空集,则考虑为漏检,执行步骤S607;
S605:Po不为空集,如果PO仅包含一个小区pi,那么将该小区同时推断为Dn和On+1对应的小区,将pi填入步骤S602遍历的本次出行的终点小区和下次出行的起点小区,返回步骤S602,如果PO包含多于一个的小区,执行步骤S606;
S606:如果PO包含多于一个的小区,说明Dn和On+1的公共小区多于一个,此时计算该出行者的整体活动中心坐标,记为(lngcenter_tol,latcenter_tol),计算公式见公式(5),公式(6),其中U为出行者个体空间聚类算法输出的该出行者的字典U,对于每个公共小区,取包围路段(见表3)集合B,计算所有包围路段与(lngcenter_tol,latcenter_tol)的平均距离dm,计算公式见公式(7),路段与整体活动中心坐标之间的距离计算见公式(1)和公式(2),对比B集合中所有小区的dm,选取最小的dm对应的小区作为Dn和On+1的对应小区填入车辆出行记录表,返回步骤S602;
S607:PO为空集,考虑为漏检情况,取该出行者Dn路段所在簇中心点坐标(见表8),记为(lngcenter,latcenter),如果簇中心点坐标与路段Dn终点坐标(见表5)不重合,说明该簇至少包含两个路段,此时执行步骤S608,如果重合,即该路段所在簇仅有该路段,执行步骤S609;
S608:取Dn路段关联的小区(见表4),分别计算小区与(lngcenter,latcenter)的dm,取最小的dm对应的小区为Dn对应的小区;
S609:计算该出行者的整体活动中心坐标,记为(lngcenter_tol,latcenter_tol)(计算过就直接取该坐标),取Dn路段关联的小区(见表4),计算小区与)lngcenter_tol,latcenter_tol)的平均距离dm,公式见公式(1)、(2)、(7),选取最大的dm对应的小区作为Dn的对应小区;
S610:对On+1执行步骤S607-S609,将Dn和On+1对应的小区填入车辆出行记录表,返回步骤S602;
S611:当Dn=On+1时,记该路段为r,取该路段的关联小区集合B,如果关联小区集合仅含一个小区,那么直接将该小区推断为Dn和On+1对应的小区,填入车辆出行记录表,返回步骤S602,如果关联小区集合多于一个,执行步骤S612;
S612:取路段r的簇所在中心点坐标,记为(lngcenter,latcenter),如果(lngcenter,latcenter)≠(lngr,latr),计算关联小区B中所有小区包围路段到(lngcenter,latcenter)的平均距离dm,计算公式见公式(7),取最小的dm对应的小区作为Dn和On+1的对应小区填入车辆出行记录表,返回步骤S602,如果(lngcenter,latcenter)=(lngr,latr),执行步骤S613;
S613:计算该出行者的整体活动中心坐标,记为(lngcenter_tol,latcenter_tol)(计算过就直接取该坐标),取路段r关联的小区(见表4),计算小区与(lngcenter_tol,latcenter_tol)的平均距离dm,公式见公式(1)、公式(2)、公式(7),选取最大的dm对应的小区作为Dn的对应小区,填入车辆出行记录表,返回步骤S602;
S614:对车辆出行记录表第一条出行记录的O小区和最后一条出行记录的D小区采用步骤S607-S609进行推断,填入车辆出行记录表,算法终止。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种基于卡口检测数据的个体级OD小区推断方法,其特征在于,包括以下步骤:
S1:根据城市路网拓扑将城市划分为若干交通小区,所述交通小区包括路段、设有出行检测卡口的路段节点;
S2:根据车辆在交通小区的行驶得到车辆通过路段信息表;
S3:根据车辆通过路段信息表整合出车辆在设定时间段内的出行链,对车辆出行链进行单次出行划分得到车辆出行记录表;
S4:定义交通小区的邻域路段,并求解出城市路网所有路段与其对应的邻域路段字典;
S5根据城市路网所有路段与其对应的邻域路段字典,通过出行者个体空间聚类算法得到不同车辆出行OD路段簇中心与簇中包含路段对应关系字典;
S6:根据车辆ID、出行记录,利用城市路网所有路段与其对应的邻域路段字典和不同车辆出行OD路段簇中心与簇中包含路段对应关系字典推断得到个体OD小区。
2.根据权利要求1所述的一种基于卡口检测数据的个体级OD小区推断方法,其特征在于,所述车辆通过路段信息表包括:hphm、road_id、fnode、tnode、from_time、to_time,所述hphm表示车辆的车牌号码,表征身份信息;
所述road_id车辆经过的路段编号;
所述fnode车辆进入该路段时的节点;
所述tnode车辆驶出该路段时的节点;
所述from_time车辆驶入路段/经过fnode时的具体时刻;
所述to_time车辆驶出路段/经过tnode时的具体时刻。
3.根据权利要求1所述的一种基于卡口检测数据的个体级OD小区推断方法,其特征在于,步骤S3所述根据车辆通过路段信息表整合出车辆在设定时间段内的出行链,对车辆出行链进行单次出行划分得到车辆车辆出行记录表,单次出行划分得到车辆出行记录具体过程为:
如果车辆驶入下一路段的时刻与驶出上一个路段的时刻大于给定的时间阈值Tg,那么就将出行链在此处打断,认为上一个路段是上次出行的终点,下一个路段是下一次出行的起点;
所述车辆车辆出行记录表包括车牌号码、出发时刻、到达时刻、起点路段、终点路段。
4.根据权利要求1所述的一种基于卡口检测数据的个体级OD小区推断方法,其特征在于,所述邻域路段为指定路段的路段集合,所述邻域路段表征在路网拓扑中与指定路段共同构成交通小区的路段,同时表征空间位置的相近。
5.根据权利要求1所述的一种基于卡口检测数据的个体级OD小区推断方法,其特征在于,步骤S4定义交通小区的邻域路段,并求解出城市路网所有路段与其对应的邻域路段字典具体过程为:
S401:构建交通小区与路段的对应关系字典,即每个交通小区对应的包围路段,构建路段与交通小区对应关系字典,即每个路段对应的关联小区;使用路段中点经纬度表示每个路段的位置信息;
S402:确定邻域路段最远关联距离dmax;
S403:遍历城市路网所有路段,记当前路段为r;
S404:通过路段与交通小区的对应关系字典获取路段r的关联小区集合;
S405:遍历步骤S404得到的关联小区集合,通过交通小区与路段的对应关系字典获取当前路段r的关联小区集合列表中所有交通小区各自的包围路段集合;
S406:对步骤S405中所得的交通小区的包围路段集合求并集,并删除路段r,得到路段r可进行一度关联的路段集合;
S407:遍历步骤S406得到的路段集合,计算每个路段和路段r的距离distance,记遍历得到的当前路段为j,已知两点经纬度求距离的计算公式见公式(1)和公式(2),距离单位为m;
其中
S408:对于每一个路段j,判断distancerj与dmax的大小关系,如果distancerj>dmax,则从路段集合中删除路段j;
S409:将经过步骤S408筛选后的路段r的可一度关联的路段集合作为路段r的邻域路段集合;
S410:遍历下一个路段,重复S403-S409,如果城市路网所有路段都完成了遍历,则算法终止。
6.根据权利要求5所述的一种基于卡口检测数据的个体级OD小区推断方法,其特征在于,所述构建交通小区与路段的对应关系字典,即每个交通小区对应的包围路段,交通小区与路段的对应关系字典包括两个字段:交通小区、包围路段;
构建路段与交通小区对应关系字典,即每个路段对应的关联小区;使用路段中点经纬度表示每个路段的位置信息,路段与交通小区对应关系字典包括两个字段:路段、关联小区,每个路段均对应两个关联小区。
7.根据权利要求5所述的一种基于卡口检测数据的个体级OD小区推断方法,其特征在于,使用路段中点经纬度表示每个路段的位置信息,具体表示方法为:
记路段编号为i的路段为ri,即对任一路段ri,用路段中点处的经纬度数组(lngi,lati)唯一标识该路段。
8.根据权利要求5所述的一种基于卡口检测数据的个体级OD小区推断方法,其特征在于,步骤S5的具体过程为:
S501:计算该出行者以不同路段作为OD出行的频次,确定最大关联距离dmax;
S502:定义该出行者的出行OD路段簇中心与簇中包含路段对应关系字典U,数据格式为{路段簇中心坐标:[该簇包含的路段]},将该字典初始化为空字典;
S503:定义待聚类路段集合T,并将该集合初始化为该出行者出行OD路段集合;
S504:取该出行者待聚类路段集合中作为OD出行频次最高的路段,记为ri,将ri从T中删除;
S505:通过Dn获取ri的邻域路段集合Ni;
S506:取Ni和待聚类路段集合T的交集,记为J,如果J为空,则执行步骤S506,如果不为空则执行步骤S507;
S507:如果J为空,则ri单独成簇,簇中心点坐标为ri的路段中点坐标,即(lngi,lati),将(lngi,lati)和ri添加到字典U,如果T不为空,返回步骤S504,如果T为空,则算法结束,输出字典U;
S508:如果J不为空,则将J中的路段和ri归入同一个簇,即该簇的集合为R,并计算该簇的簇中心点坐标,簇中心点经纬度坐标计算公式见公式(3)和公式(4),得到簇中心经纬度坐标为(lngcenter,latcenter),将J中包含的所有路段从T中删除;
S509:计算步骤(8)所得簇中心经纬度和T集合中各个路段的距离,记为di,计算公式见公式(1)和公式(2),如果di<dmax,则将该路段加入集合R并从T中删除,重新计算簇中点坐标,计算公式见(3)和公式(4),重复该步骤,直到对T所有路段都有di≥dmax,则将簇中心点坐标(lngcenter,latcenter)和R的对应关系添加到字典U,如果T不为空,则返回步骤S4,如果T为空,则算法结束,输出字典U。
9.根据权利要求1所述的一种基于卡口检测数据的个体级OD小区推断方法,其特征在于,所述出行者个体空间聚类算法为每个出行者个体生成多于一个的路段簇,该出行者个体所有作为OD出行的路段都包含在这些簇中。
10.根据权利要求1所述的一种基于卡口检测数据的个体级OD小区推断方法,其特征在于,步骤S6的具体过程为:
S601:将出行车辆的出行记录按发生时间的先后顺序排序,车辆出行记录表增加OD小区字段,并初始化字段为空;
S602:遍历该出行者经步骤S601排序后的出行记录,记当前出行记录的终点路段为Dn,同时取下一次出行的起点路段为On+1,如果下一次出行为最后一次,执行步骤S614,否则执行步骤S603;
S603:判断Dn是否与On+1相同,如果不相同则执行步骤S604,相同则执行步骤S611;
S604:当Dn≠On+1时,分别取路段Dn的关联小区集合,记为PD,路段On+1的关联小区集合,记为PO,如果PO不为空集,则执行步骤S605,如果PO为空集,则考虑为漏检,执行步骤S607;
S605:PO不为空集,如果PO仅包含一个小区pi,那么将该小区同时推断为Dn和On+1对应的小区,将pi填入步骤S602遍历的本次出行的终点小区和下次出行的起点小区,返回步骤S602,如果PO包含多于一个的小区,执行步骤S606;
S606:如果PO包含多于一个的小区,说明Dn和On+1的公共小区多于一个,此时计算该出行者的整体活动中心坐标,记为(lngcenter_tol,latcenter_tol),计算公式见公式(5),公式(6),其中U为出行者个体空间聚类算法输出的该出行者的字典U,对于每个公共小区,取包围路段集合B,计算所有包围路段与(lngcenter_tol,latcenter_tol)的平均距离dm,计算公式见公式(7),路段与整体活动中心坐标之间的距离计算见公式(1)和公式(2),对比B集合中所有小区的dm,选取最小的dm对应的小区作为Dn和On+1的对应小区填入车辆出行记录表,返回步骤S602;
S607:PO为空集,考虑为漏检情况,取该出行者Dn路段所在簇中心点坐标,记为(lngcenter,latcenter),如果簇中心点坐标与路段Dn终点坐标不重合,说明该簇至少包含两个路段,此时执行步骤S608,如果重合,即该路段所在簇仅有该路段,执行步骤S609;
S608:取Dn路段关联的小区,分别计算小区与(lngcenter,latcenter)的dm,取最小的dm对应的小区为Dn对应的小区;
S609:计算该出行者的整体活动中心坐标,记为(lngcenter_tol,latcenter_tol)(计算过就直接取该坐标),取Dn路段关联的小区,计算小区与(lngcenter_tol,latcenter_tol)的平均距离dm,公式见公式(1)、(2)、(7),选取最大的dm对应的小区作为Dn的对应小区;
S610:对On+1执行步骤S607-S609,将Dn和On+1对应的小区填入车辆出行记录表,返回步骤S602;
S611:当Dn=On+1时,记该路段为r,取该路段的关联小区集合B,如果关联小区集合仅含一个小区,那么直接将该小区推断为Dn和On+1对应的小区,填入车辆出行记录表,返回步骤S602,如果关联小区集合多于一个,执行步骤S612;
S612:取路段r的簇所在中心点坐标,记为(lngcenter,latcenter),如果(lngcenter,larcenter)≠(lngr,latr),计算关联小区B中所有小区包围路段到(lngcenter,latcenter)的平均距离dm,计算公式见公式(7),取最小的dm对应的小区作为Dn和On+1的对应小区填入车辆出行记录表,返回步骤S602,如果(lngcenter,latcenter)=(lngr,latr),执行步骤S613;
S613:计算该出行者的整体活动中心坐标,记为(lngcenter_tol,latcenter_tol),取路段r关联的小区,计算小区与(lngcenter_tol,latcenter_tol)的平均距离dm,公式见公式(1)、公式(2)、公式(7),选取最大的dm对应的小区作为Dn的对应小区,填入车辆出行记录表,返回步骤S602;
S614:对车辆出行记录表第一条出行记录的O小区和最后一条出行记录的D小区采用步骤S607-S609进行推断,填入车辆出行记录表,算法终止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110330637.7A CN113129589B (zh) | 2021-03-26 | 2021-03-26 | 一种基于卡口检测数据的个体级od小区推断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110330637.7A CN113129589B (zh) | 2021-03-26 | 2021-03-26 | 一种基于卡口检测数据的个体级od小区推断方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113129589A true CN113129589A (zh) | 2021-07-16 |
CN113129589B CN113129589B (zh) | 2022-08-16 |
Family
ID=76773983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110330637.7A Active CN113129589B (zh) | 2021-03-26 | 2021-03-26 | 一种基于卡口检测数据的个体级od小区推断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113129589B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116307318A (zh) * | 2023-03-06 | 2023-06-23 | 深圳市城市交通规划设计研究中心股份有限公司 | 一种基于卡口车牌识别数据的道路流量溯源系统及其方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198104A (zh) * | 2013-03-25 | 2013-07-10 | 东南大学 | 一种基于城市智能公交系统的公交站点od获取方法 |
CN103646187A (zh) * | 2013-12-27 | 2014-03-19 | 中国科学院自动化研究所 | 一种统计周期内车辆出行路线及od矩阵获取方法 |
CN108550261A (zh) * | 2018-05-31 | 2018-09-18 | 重庆大学 | 基于rfid电子车牌的城市交通od计算方法 |
CN110276950A (zh) * | 2019-06-24 | 2019-09-24 | 华南理工大学 | 一种基于卡口视频数据的城市交通出行链重构方法 |
-
2021
- 2021-03-26 CN CN202110330637.7A patent/CN113129589B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198104A (zh) * | 2013-03-25 | 2013-07-10 | 东南大学 | 一种基于城市智能公交系统的公交站点od获取方法 |
CN103646187A (zh) * | 2013-12-27 | 2014-03-19 | 中国科学院自动化研究所 | 一种统计周期内车辆出行路线及od矩阵获取方法 |
CN108550261A (zh) * | 2018-05-31 | 2018-09-18 | 重庆大学 | 基于rfid电子车牌的城市交通od计算方法 |
CN110276950A (zh) * | 2019-06-24 | 2019-09-24 | 华南理工大学 | 一种基于卡口视频数据的城市交通出行链重构方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116307318A (zh) * | 2023-03-06 | 2023-06-23 | 深圳市城市交通规划设计研究中心股份有限公司 | 一种基于卡口车牌识别数据的道路流量溯源系统及其方法 |
CN116307318B (zh) * | 2023-03-06 | 2023-10-20 | 深圳市城市交通规划设计研究中心股份有限公司 | 一种基于卡口车牌识别数据的道路流量溯源系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113129589B (zh) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298500B (zh) | 一种基于出租车数据和城市路网的城市交通轨迹数据集生成方法 | |
CN113256987B (zh) | 基于多源数据融合的居民出行链生成方法及共乘查询方法 | |
Shao et al. | Traveling officer problem: Managing car parking violations efficiently using sensor data | |
CN105206048B (zh) | 一种基于交通od数据的城市居民群体换乘模式发现系统及方法 | |
CN102521965B (zh) | 基于车牌识别数据的交通需求管理措施效果评价方法 | |
Axhausen et al. | 80 weeks of GPS-traces: Approaches to enriching the trip information | |
Almatar | Traffic congestion patterns in the urban road network:(Dammam metropolitan area) | |
CN107241512A (zh) | 基于手机数据的城际交通出行方式判断方法和设备 | |
CN109686091B (zh) | 一种基于多源数据融合的交通流量填补算法 | |
Tang et al. | Exploring urban travel patterns using density-based clustering with multi-attributes from large-scaled vehicle trajectories | |
Namiot et al. | A Survey of Smart Cards Data Mining. | |
CN116611586B (zh) | 一种基于双层异构网络的新建路网流量预测方法及系统 | |
Schönfelder et al. | Where do you want to go today?: More observations on daily mobility | |
Hong et al. | Assigning passenger flows on a metro network based on automatic fare collection data and timetable | |
Xie et al. | Testing the proportionality condition with taxi trajectory data | |
CN113129589B (zh) | 一种基于卡口检测数据的个体级od小区推断方法 | |
Qi et al. | Vehicle trajectory reconstruction on urban traffic network using automatic license plate recognition data | |
Xu et al. | Understanding vehicular routing behavior with location-based service data | |
CN117056823A (zh) | 一种识别共享单车通勤用户职业类型的方法及系统 | |
Bikdeli et al. | Accessibility modeling for land use, population and public transportation in Mashhad, NE Iran | |
CN113611115B (zh) | 一种基于路网敏感特征的车辆轨迹聚类方法 | |
Zhang et al. | How road network transformation may be associated with reduced carbon emissions: An exploratory analysis of 19 major Chinese cities | |
Yao et al. | Analysis of key commuting routes based on spatiotemporal trip chain | |
CN111008730B (zh) | 基于城市空间结构的人群聚集度预测模型构建方法及装置 | |
Zhou et al. | Big data for intrametropolitan human movement studies A case study of bus commuters based on smart card data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |