CN116028827B - 基于车辆gps轨迹数据聚类的轨迹补全方法 - Google Patents
基于车辆gps轨迹数据聚类的轨迹补全方法 Download PDFInfo
- Publication number
- CN116028827B CN116028827B CN202211738093.9A CN202211738093A CN116028827B CN 116028827 B CN116028827 B CN 116028827B CN 202211738093 A CN202211738093 A CN 202211738093A CN 116028827 B CN116028827 B CN 116028827B
- Authority
- CN
- China
- Prior art keywords
- track
- traj
- cluster
- point
- points
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000000295 complement effect Effects 0.000 claims abstract description 18
- 238000013507 mapping Methods 0.000 claims description 4
- 238000000691 measurement method Methods 0.000 claims description 3
- 238000010187 selection method Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 230000001502 supplementing effect Effects 0.000 claims description 2
- 238000013519 translation Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000009469 supplementation Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Classifications
-
- 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
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Train Traffic Observation, Control, And Security (AREA)
Abstract
本发明实施例提供一种基于车辆GPS轨迹数据聚类的轨迹补全方法,包括:获取车辆的GPS历史轨迹数据轨迹,对轨迹采用基于停靠点的车辆轨迹划分方法进行划分,并根据设定的聚类中心个数,基于LCKFD重新划分轨迹聚类,计算稀疏轨迹判别阈值,根据该阈值确定是否是稀疏轨迹,若是利用聚类结果进行补全,可以有效减少轨迹数据中噪声对轨迹聚类以及轨迹补全的干扰,可以充分提取并利用同类轨迹的时空信息,提高车辆轨迹补全的准确性。
Description
技术领域
本发明属于轨迹数据处理技术领域,具体涉及一种基于车辆GPS轨迹数据聚类的轨迹补全方法。
背景技术
当今社会,随着全球定位技术、移动互联网技术的飞速发展和普及,以及交通运输的发展,产生了海量的车辆轨迹数据。车辆轨迹数据在交通路线优化、个性化路线推荐、路网预测、城市区域规划等方面发挥着不可替代的作用。但是因为定位设备以及复杂地形良莠不齐的影响,车辆轨迹数据的缺失和数据质量差是一个不可避免的问题,噪声点过多或者有大量缺失轨迹点的轨迹会影响对车辆轨迹数据的利用。为此,需要对收集到的轨迹数据进行轨迹补全。
传统的基于几何模型和基于统计概率模型的数据补全,对轨迹数据质量依赖较大,且只能利用当前轨迹的缺失点的上下文信息,不能充分利用道路其他车辆轨迹数据信息进行补全。此外,基于聚类模型的数据补全,通过寻找与当前轨迹相似分类的历史轨迹数据,对稀疏轨迹进行补全,可以合理利用相似分类轨迹蕴含的信息,指导轨迹补全工作。目前的基于轨迹聚类的轨迹补全方法较少,且并没有找到合适的度量方法对长度不同的轨迹进行相似度计算,从而无法获得较好的轨迹聚类结果,导致轨迹补全效果不佳。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一,提供一种基于车辆GPS轨迹数据聚类的轨迹补全方法。
本发明提供一种基于车辆GPS轨迹数据聚类的轨迹补全方法,所述轨迹补全方法包括:
步骤S1:获取车辆的GPS历史轨迹数据;其中,所述轨迹数据包括车辆编号、记录时刻以及经纬度信息;
步骤S2:根据所述车辆编号,对所述轨迹数据进行分割,将相同车辆编号的数据组成单个车辆对象的轨迹数据,并根据每辆车的轨迹点的记录时刻进行排序,得到轨迹数据格式Traj;
步骤S3:构建轨迹数据集合Trajs,初始化为空,用于映射轨迹唯一编号和对应轨迹,依次对每条轨迹数据进行子轨迹划分,并将划分后的轨迹加入所述轨迹数据集合中;其中,轨迹划分采用基于停靠点的车辆轨迹划分方法;
步骤S4:设定初始聚类中心个数K;
步骤S5:从所述轨迹数据集合中选取K个初始聚类中心;
步骤S6:计算除聚类中心外的所有轨迹数据与每个聚类中心的最长公共关键特征点距离LCKFD;
步骤S7:构建元素类型为集合、长度为K的数组Clusters,Clusters(i)中存放属于第i个聚类的轨迹数据,Clusters(i)初始有一个元素Ci,Ci为该聚类的初始聚类中心;
步骤S8:遍历每一条轨迹数据,将其划分到与其具有最小的LCKFD值的聚类中心所在的聚类;
步骤S9:更新每个聚类的聚类中心,新聚类中心为当聚类内距离其他轨迹LCKFD值之和最小的轨迹;
步骤S10:计算当前每条轨迹与自身所在聚类的中心的LCKFD值之和SumL;
步骤S11:如果当前的SumL比之前划分得到的SumL值更小,则记录当前的Clusters为最好聚类划分效果BestC;
步骤S12:K值自增加1;
步骤S13:若K小于等于m/2,则执行步骤S5,否则执行步骤S14;
步骤S14:对于最佳聚类结果BestC中的每个聚类cluster,计算该聚类的稀疏轨迹判别阈值length;
步骤S15:遍历每个聚类内的每条轨迹数据,将遍历到的长度小于所属聚类的稀疏轨迹判别阈值length的轨迹转步骤S16进行轨迹补全;
步骤S16:利用当前轨迹所在聚类,对该稀疏轨迹进行补全。
可选地,步骤S3具体包括:
步骤S301:初始化当前轨迹点索引i为1,上一次划分点索引j为1,当前轨迹为{pj,...,pn},当前轨迹的车辆编号为vid;
步骤S302:如果i等于当前轨迹长度,则结束对当前轨迹的划分,并且如果i大于1,将当前轨迹以键值对的形式:{vid+pj.time:{pj,...,pi}}加入轨迹数据集合Trajs,继续划分剩余未划分过的轨迹,直至划分完所有轨迹数据;
步骤S303:确定当前轨迹Traj的相邻的两个轨迹点pi与pi+1,是否同为车辆停靠点,若是则转步骤S304;否则则使i自增加1,转步骤S302;
步骤S304:在车辆停靠点的轨迹点处将轨迹进行分割,将键值对{vid+pj.time:{pj,...,pi}}加入Trajs中;
步骤S305:遍历剩余轨迹点{pi+1,...,pn},找到第一个不与pi+1同为停靠点的轨迹点pk,令j=k,转步骤S302。
可选地,若当前轨迹Traj的相邻的两个轨迹点pi与pi+1满足下述关系式,则称pi与pi+1同为车辆停靠点:
可选地,步骤S5采用基于起止点的轨迹聚类初始中心点选取方法,具体包括:
步骤S501:随机选取一条轨迹数据加入聚类中心集合C:{C1};
步骤S502:设当前集合C中聚类中心数量为o,计算除聚类中心外的每条轨迹数据Traj{p1,...,pn}与集合C内每个聚类中心的起点p1和终点pn的欧式距离之和,选取距离之和最小的轨迹数据作为新的聚类中心Cnew;
步骤S503:将Cnew加入集合C中,聚类中心数量o设置为o+1;
步骤S504:如果o小于K,则转步骤S502,否则结束。
可选地,新的聚类中心Cnew的计算式如下:
可选地,步骤S6采用轨迹数据之间相似性度量方法确定LCKFD,具体包括:
步骤S601:计算轨迹数据Traj{p1,...,pn1}和聚类中心C{p1,...,pn2}的Husdorff距离作为相似点阈值ε:
步骤S602:构造辅助数组dp[n1+1,n2+1],dp(i,j)记录{Traj.p1,...,Traj.pi}与{C.p1,...,C.pj}的最长公共关键特征点数目,初始化dp(0,0)为0,初始化辅助变量i赋值为1,j赋值为1;
步骤S603:如果||Traj.pi-C.pj||≤ε,则对dp(i,j)赋值为dp(i-1,j-1),否则对dp(i,j)赋值为max{dp(i-1,j),dp(i,j-1)};
步骤S604:j自增加1;
步骤S605:如果j大于n2,则i自增加1,j赋值为0;
步骤S606:如果j小于等于n2,转步骤S603;
步骤S607:构造辅助集合Keys用来存放Traj和C的最长公共关键特征点对集合,Keys初始为空集,初始化辅助变量i赋值为n1,j赋值为n2;
步骤S608:如果||Traj.pi-C.pj||≤ε,则将轨迹点对(Traj.pi,C.pj)加入Keys中,i自减1,j自减1,转步骤S611;
步骤S609:如果||Traj.pi-1-C.pj||≤ε,则将轨迹点对(Traj.pi-1,C.pj)加入Keys中,i自减1,转步骤S611;
步骤S610:如果||Traj.pi-C.pj-1||≤ε,则将轨迹点对(Traj.pi,C.pj-1)加入Keys中,j自减1,转步骤S611;
步骤S611:若dp(i,j)不为0,则转步骤S608,否则,转S612;
步骤S612:将两条轨迹的起点和终点加入关键点:若 则将其加入到Keys中,若/>则将其加入到Keys中;
步骤S613:计算每个Keys内每个轨迹点对的欧式距离之和为轨迹Traj和聚类中心C的最长公共关键特征点距离LCKFD(Traj,C)。
可选地,最长公共关键特征点距离LCKFD(Traj,C)满足下述关系式:
其中,key(0)代表轨迹点对key的第一个轨迹点,key(1)代表轨迹点对key的第二个轨迹点。
可选地,步骤S16采用邻近点平移稀疏轨迹补全方法,具体包括:
步骤S1601:在当前稀疏轨迹Trajnow所属的聚类cluster内,寻找一个长度大于等于lengthcluster且与Trajnow具有最小LCKFD距离的轨迹Trajnear;
步骤S1602:对于Trajnow中的每对相邻轨迹点pi和pi+1,分别在Trajnear中找到对应的轨迹邻近点pj和pk,此处定义轨迹点p在轨迹Traj中的轨迹邻近点为在Traj中与p欧式距离最小的轨迹点;
步骤S1603:计算从pj到pi和从pk到pi+1经纬度的变化值的平均值,定义为邻近距离(longd,latd);
步骤S1604:复制Trajnear中pj和pk之间的k-j-1个轨迹点,组成目标轨迹点集合Targets{p1,...,pk-j-1};
步骤S1605:对于Targets中每个轨迹点pl,对它的属性进行重新赋值:
pl.long←pl.long+longd
pl.lat←pl.lat+latd
步骤S1605:将Targets中的轨迹点依次插入Trajnow中pi与pi+1之间进行补全。
本发明实施例的基于车辆GPS轨迹数据聚类的轨迹补全方法,可以有效减少轨迹数据中噪声对轨迹聚类以及轨迹补全的干扰,可以充分提取并利用同类轨迹的时空信息,提高车辆轨迹补全的准确性。
附图说明
图1为本发明一实施例的基于车辆GPS轨迹数据聚类的轨迹补全方法的流程图;
图2为本发明另一实施例的基于轨迹数据之间相似性度量方法确定LCKFD的流程图;
图3为本发明另一实施例的基于邻近点平移稀疏轨迹补全方法的流程图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。
如图1所示,本发明的实施例涉及一种基于车辆GPS轨迹数据聚类的轨迹补全方法,所述轨迹补全方法包括:
步骤S1:获取车辆的GPS历史轨迹数据;其中,所述轨迹数据包括车辆编号、记录时刻以及经纬度信息。
具体的,在本步骤中,从载有定位装置的车辆中获取车辆历史轨迹数据,数据格式为带有车辆编号、记录时刻、经纬度的GPS轨迹数据,如下表1所示:
表1
车辆编号(vid) | 记录时刻(time) | 经度(long) | 纬度(lat) |
2 | 2022-12-02 19:33:52 | 116.36422 | 39.88781 |
2 | 2022-12-02 19:37:16 | 116.37481 | 39.88782 |
2 | 2022-12-02 19:38:53 | 116.37677 | 39.88795 |
3 | 2022-12-02 20:38:22 | 116.39392 | 39.89014 |
3 | 2022-12-02 20:42:34 | 116.41149 | 39.89152 |
步骤S2:根据所述车辆编号,对所述轨迹数据进行分割,将相同车辆编号的数据组成单个车辆对象的轨迹数据,并根据每辆车的轨迹点的记录时刻进行排序,得到轨迹数据格式Traj。
具体的,在本步骤中,根据vid对GPS数据进行分割,相同vid的数据组成单个车辆对象的轨迹数据,并根据每辆车的轨迹点的记录时刻进行排序,得到的轨迹数据格式如下:
Traj:{p1(time,long,lat),p2(time,long,lat),…,pn(time,long,lat)}。
步骤S3:构建轨迹数据集合Trajs,初始化为空,用于映射轨迹唯一编号和对应轨迹,依次对每条轨迹数据进行子轨迹划分,并将划分后的轨迹加入所述轨迹数据集合中;其中,轨迹划分采用基于停靠点的车辆轨迹划分方法。
具体的,在本步骤中,构建轨迹数据集合Trajs,初始化为空,用于映射轨迹唯一编号ID和对应轨迹,依次对每条轨迹数据{p1,...,pn}进行子轨迹划分,并将划分后的轨迹加入Trajs中。
本实施例提出一种基于停靠点的车辆轨迹划分方法过程如下:
步骤S301:初始化当前轨迹点索引i为1,上一次划分点索引j为1,当前轨迹为{pj,...,pn},当前轨迹的车辆编号为vid。
步骤S302:如果i等于当前轨迹长度,则结束对当前轨迹的划分,并且如果i大于1,将当前轨迹以键值对的形式:{vid+pj.time:{pj,...,pi}}加入轨迹数据集合Trajs,继续划分剩余未划分过的轨迹,直至划分完所有轨迹数据。
步骤S303:确定当前轨迹Traj的相邻的两个轨迹点pi与pi+1,是否同为车辆停靠点,若是则转步骤S304;否则则使i自增加1,转步骤S302。
步骤S304:在车辆停靠点的轨迹点处将轨迹进行分割,将键值对{vid+pj.time:{pj,...,pi}}加入Trajs中。
步骤S305:遍历剩余轨迹点{pi+1,...,pn},找到第一个不与pi+1同为停靠点的轨迹点pk,令j=k,转步骤S302。
具体的,若当前轨迹Traj的相邻的两个轨迹点pi与pi+1满足下述关系式,则称pi与pi+1同为车辆停靠点:
步骤S4:设定初始聚类中心个数K,如K=2。
步骤S5:从所述轨迹数据集合Trajs中选取K个初始聚类中心。
具体的,本发明实施例提供一种基于起止点的轨迹聚类初始中心点选取方法步骤如下:
步骤S501:随机选取一条轨迹数据加入聚类中心集合C:{C1};
步骤S502:设当前集合C中聚类中心数量为o,计算除聚类中心外的每条轨迹数据Traj{p1,...,pn}与集合C内每个聚类中心的起点p1和终点pn的欧式距离之和,选取距离之和最小的轨迹数据作为新的聚类中心Cnew;
步骤S503:将Cnew加入集合C中,聚类中心数量o设置为o+1;
步骤S504:如果o小于K,则转步骤S502,否则结束。
具体的,新的聚类中心Cnew的计算式如下:
步骤S6:计算除聚类中心外的所有轨迹数据与每个聚类中心的最长公共关键特征点距离LCKFD。
具体的,一并结合图2,本发明实施例提供一种轨迹数据之间相似性度量方法LCKFD过程如下:
步骤S601:计算轨迹数据Traj{p1,...,pn1}和聚类中心C{p1,...,pn2}的Husdorff距离作为相似点阈值ε:
步骤S602:构造辅助数组dp[n1+1,n2+1],dp(i,j)记录{Traj.p1,...,Traj.pi}与{C.p1,...,C.pj}的最长公共关键特征点数目,初始化dp(0,0)为0,初始化辅助变量i赋值为1,j赋值为1。
步骤S603:如果||Traj.pi-C.pj||≤ε,则对dp(i,j)赋值为dp(i-1,j-1),否则对dp(i,j)赋值为max{dp(i-1,j),dp(i,j-1)}。
步骤S604:j自增加1。
步骤S605:如果j大于n2,则i自增加1,j赋值为0。
步骤S606:如果j小于等于n2,转步骤S603。
步骤S607:构造辅助集合Keys用来存放Traj和C的最长公共关键特征点对集合,Keys初始为空集,初始化辅助变量i赋值为n1,j赋值为n2。
步骤S608:如果||Traj.pi-C.pj||≤ε,则将轨迹点对(Traj.pi,C.pj)加入Keys中,i自减1,j自减1,转步骤S611。
步骤S609:如果||Traj.pi-1-C.pj||≤ε,则将轨迹点对(Traj.pi-1,C.pj)加入Keys中,i自减1,转步骤S611。
步骤S610:如果||Traj.pi-C.pj-1||≤ε,则将轨迹点对(Traj.pi,C.pj-1)加入Keys中,j自减1,转步骤S611。
步骤S611:若dp(i,j)不为0,则转步骤S608,否则,转S612。
步骤S612:将两条轨迹的起点和终点加入关键点:若 则将其加入到Keys中,若/>则将其加入到Keys中。
步骤S613:计算每个Keys内每个轨迹点对的欧式距离之和为轨迹Traj和聚类中心C的最长公共关键特征点距离LCKFD(Traj,C)。
具体的,最长公共关键特征点距离LCKFD(Traj,C)满足下述关系式:
其中,key(0)代表轨迹点对key的第一个轨迹点,key(1)代表轨迹点对key的第二个轨迹点。
步骤S7:构建元素类型为集合、长度为K的数组Clusters,Clusters(i)中存放属于第i个聚类的轨迹数据,Clusters(i)初始有一个元素Ci(Ci∈C),Ci为该聚类的初始聚类中心。
步骤S8:遍历每一条轨迹数据,将其划分到与其具有最小的LCKFD值的聚类中心所在的聚类。
步骤S9:更新每个聚类的聚类中心,新聚类中心为当聚类内距离其他轨迹LCKFD值之和最小的轨迹,如下关系式所示:
步骤S10:计算当前每条轨迹与自身所在聚类的中心的LCKFD值之和SumL,如下述关系式所示:
若不是第一次更新聚类中心且与上一次划分的SumL值之和不相同,则转步骤S8,否则转S11。
步骤S11:如果当前的SumL比之前划分得到的SumL值更小,则记录当前的Clusters为最好聚类划分效果BestC。
步骤S12:K值自增加1。
步骤S13:若K小于等于m/2,则执行步骤S5,否则执行步骤S14。
步骤S14:对于最佳聚类结果BestC中的每个聚类cluster,计算该聚类的稀疏轨迹判别阈值length,如下关系式所示:
步骤S15:遍历每个聚类内的每条轨迹数据,将遍历到的长度小于所属聚类的稀疏轨迹判别阈值length的轨迹转步骤S16进行轨迹补全;
步骤S16:利用当前轨迹所在聚类,对该稀疏轨迹进行补全。
具体的,一并结合图3,本发明实施例涉及一种邻近点平移稀疏轨迹补全方法如下:
步骤S1601:在当前稀疏轨迹Trajnow所属的聚类cluster内,寻找一个长度大于等于lengthcluster且与Trajnow具有最小LCKFD距离的轨迹Trajnear。
步骤S1602:对于Trajnow中的每对相邻轨迹点pi和pi+1,分别在Trajnear中找到对应的轨迹邻近点pj和pk,此处定义轨迹点p在轨迹Traj中的轨迹邻近点为在Traj中与p欧式距离最小的轨迹点。
步骤S1603:计算从pj到pi和从pk到pi+1经纬度的变化值的平均值,定义为邻近距离(longd,latd)。
步骤S1604:复制Trajnear中pj和pk之间的k-j-1个轨迹点,组成目标轨迹点集合Targets{p1,...,pk-j-1}。
步骤S1605:对于Targets中每个轨迹点pl,对它的属性进行重新赋值:
pl.long←pl.long+longd
pl.lat←pl.lat+latd
步骤S1605:将Targets中的轨迹点依次插入Trajnow中pi与pi+1之间进行补全。
本发明实施例的基于车辆GPS轨迹数据聚类的轨迹补全方法,增加了对轨迹起始点的注意力,提出了一种基于停靠点的车辆轨迹划分方法和一种基于起止点的轨迹聚类初始中心点选取方法。此外,还提出了一种轨迹数据之间相似性度量方法LCKFD,该方法使用Husdorff距离算法以及最长公共子序列算法,提取可以表征轨迹间相似性的公共关键特征点,并将其应用于轨迹间相似性度量,进行轨迹聚类,并根据聚类结果使用一种邻近点平移稀疏轨迹补全方法,可以有效减少轨迹数据中噪声对轨迹聚类以及轨迹补全的干扰,可以充分提取并利用同类轨迹的时空信息,提高车辆轨迹补全的准确性。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (7)
1.一种基于车辆GPS轨迹数据聚类的轨迹补全方法,其特征在于,所述轨迹补全方法包括:
步骤S1:获取车辆的GPS历史轨迹数据;其中,所述轨迹数据包括车辆编号、记录时刻以及经纬度信息;
步骤S2:根据所述车辆编号,对所述轨迹数据进行分割,将相同车辆编号的数据组成单个车辆对象的轨迹数据,并根据每辆车的轨迹点的记录时刻进行排序,得到轨迹数据格式Traj;
步骤S3:构建轨迹数据集合Trajs,初始化为空,用于映射轨迹唯一编号和对应轨迹,依次对每条轨迹数据进行子轨迹划分,并将划分后的轨迹加入所述轨迹数据集合中;其中,轨迹划分采用基于停靠点的车辆轨迹划分方法;
步骤S4:设定初始聚类中心个数K;
步骤S5:从所述轨迹数据集合中选取K个初始聚类中心;
步骤S6:计算除聚类中心外的所有轨迹数据与每个聚类中心的最长公共关键特征点距离LCKFD;
步骤S7:构建元素类型为集合、长度为K的数组Clusters,Clusters(i)中存放属于第i个聚类的轨迹数据,Clusters(i)初始有一个元素Ci,Ci为该聚类的初始聚类中心;
步骤S8:遍历每一条轨迹数据,将其划分到与其具有最小的LCKFD值的聚类中心所在的聚类;
步骤S9:更新每个聚类的聚类中心,新聚类中心为:当前聚类内距离其他轨迹LCKFD值之和最小的轨迹;
步骤S10:计算当前每条轨迹与自身所在聚类的中心的LCKFD值之和SumL;
步骤S11:如果当前的SumL比之前划分得到的SumL值更小,则记录当前的Clusters为最佳聚类结果BestC;
步骤S12:K值自增加1;
步骤S13:若K小于等于m/2,则执行步骤S5,否则执行步骤S14;
步骤S14:对于最佳聚类结果BestC中的每个聚类cluster,计算该聚类的稀疏轨迹判别阈值length;
步骤S15:遍历每个聚类内的每条轨迹数据,将遍历到的长度小于所属聚类的稀疏轨迹判别阈值length的轨迹转步骤S16进行轨迹补全;
步骤S16:利用当前轨迹所在聚类,对稀疏轨迹进行补全;
步骤S6采用轨迹数据之间相似性度量方法确定LCKFD,具体包括:
步骤S601:计算轨迹数据Traj{p1,...,pn1}和聚类中心C{p1,...,pn2}的Husdorff距离作为相似点阈值ε:
步骤S602:构造辅助数组dp[n1+1,n2+1],dp(i,j)记录{Traj.p1,...,Traj.pi}与{C.p1,...,C.pj}的最长公共关键特征点数目,初始化dp(0,0)为0,初始化辅助变量i赋值为1,j赋值为1;
步骤S603:如果||Traj.pi-C.pj||≤ε,则对dp(i,j)赋值为dp(i-1,j-1),否则对dp(i,j)赋值为max{dp(i-1,j),dp(i,j-1)};
步骤S604:j自增加1;
步骤S605:如果j大于n2,则i自增加1,j赋值为0;
步骤S606:如果j小于等于n2,转步骤S603;
步骤S607:构造辅助集合Keys用来存放Traj和C的最长公共关键特征点对集合,Keys初始为空集,初始化辅助变量i赋值为n1,j赋值为n2;
步骤S608:如果||Traj.pi-C.pj||≤ε,则将轨迹点对(Traj.pi,C.pj)加入Keys中,i自减1,j自减1,转步骤S611;
步骤S609:如果||Traj.pi-1-C.pj||≤ε,则将轨迹点对(Traj.pi-1,C.pj)加入Keys中,i自减1,转步骤S611;
步骤S610:如果||Traj.pi-C.pj-1||≤ε,则将轨迹点对(Traj.pi,C.pj-1)加入Keys中,j自减1,转步骤S611;
步骤S611:若dp(i,j)不为0,则转步骤S608,否则,转S612;
步骤S612:将两条轨迹的起点和终点加入Keys中:若 则将其加入到Keys中,若/>则将其加入到Keys中;
步骤S613:计算每个Keys内每个轨迹点对的欧式距离之和为轨迹Traj和聚类中心C的最长公共关键特征点距离LCKFD(Traj,C)。
2.根据权利要求1所述的轨迹补全方法,其特征在于,步骤S3具体包括:
步骤S301:初始化当前轨迹点索引i为1,上一次划分点索引j为1,当前轨迹为{pj,...,pn},当前轨迹的车辆编号为vid;
步骤S302:如果i等于当前轨迹长度,则结束对当前轨迹的划分,并且如果i大于1,将当前轨迹以键值对的形式:{vid+pj.time:{pj,...,pi}}加入轨迹数据集合Trajs,继续划分剩余未划分过的轨迹,直至划分完所有轨迹数据;
步骤S303:确定当前轨迹Traj的相邻的两个轨迹点pi与pi+1,是否同为车辆停靠点,若是则转步骤S304;否则则使i自增加1,转步骤S302;
步骤S304:在车辆停靠点的轨迹点处将轨迹进行分割,将键值对{vid+pj.time:{pj,...,pi}}加入Trajs中;
步骤S305:遍历剩余轨迹点{pi+1,...,pn},找到第一个不与pi+1同为停靠点的轨迹点pk,令j=k,转步骤S302。
3.根据权利要求2所述的轨迹补全方法,其特征在于,若当前轨迹Traj的相邻的两个轨迹点pi与pi+1满足下述关系式,则称pi与pi+1同为车辆停靠点:
4.根据权利要求1所述的轨迹补全方法,其特征在于,步骤S5采用基于起止点的轨迹聚类初始中心点选取方法,具体包括:
步骤S501:随机选取一条轨迹数据加入聚类中心集合C:{C1};
步骤S502:设当前集合C中聚类中心数量为o,计算除聚类中心外的每条轨迹数据Traj{p1,...,pn}与集合C内每个聚类中心的起点p1和终点pn的欧式距离之和,选取距离之和最小的轨迹数据作为新的聚类中心Cnew;
步骤S503:将Cnew加入集合C中,聚类中心数量o设置为o+1;
步骤S504:如果o小于K,则转步骤S502,否则结束。
5.根据权利要求4所述的轨迹补全方法,其特征在于,新的聚类中心Cnew的计算式如下:
6.根据权利要求1所述的轨迹补全方法,其特征在于,最长公共关键特征点距离LCKFD(Traj,C)满足下述关系式:
其中,key(0)代表轨迹点对key的第一个轨迹点,key(1)代表轨迹点对key的第二个轨迹点。
7.根据权利要求1所述的轨迹补全方法,其特征在于,步骤S16采用邻近点平移稀疏轨迹补全方法,具体包括:
步骤S1601:在当前稀疏轨迹Trajnow所属的聚类cluster内,寻找一个长度大于等于lengthcluster且与Trajnow具有最小LCKFD距离的轨迹Trajnear;
步骤S1602:对于Trajnow中的每对相邻轨迹点pi和pi+1,分别在Trajnear中找到对应的轨迹邻近点pj和pk,此处定义轨迹点p在轨迹Traj中的轨迹邻近点为在Traj中与p欧式距离最小的轨迹点;
步骤S1603:计算从pj到pi和从pk到pi+1经纬度的变化值的平均值,定义为邻近距离(longd,latd);
步骤S1604:复制Trajnear中pj和pk之间的k-j-1个轨迹点,组成目标轨迹点集合Targets{p1,...,pk-j-1};
步骤S1605:对于Targets中每个轨迹点pl,对它的属性进行重新赋值:
pl.long←pl.long+longd
pl.lat←pl.lat+latd
步骤S1606:将Targets中的轨迹点依次插入Trajnow中pi与pi+1之间进行补全。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211738093.9A CN116028827B (zh) | 2022-12-31 | 2022-12-31 | 基于车辆gps轨迹数据聚类的轨迹补全方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211738093.9A CN116028827B (zh) | 2022-12-31 | 2022-12-31 | 基于车辆gps轨迹数据聚类的轨迹补全方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116028827A CN116028827A (zh) | 2023-04-28 |
CN116028827B true CN116028827B (zh) | 2024-05-31 |
Family
ID=86078912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211738093.9A Active CN116028827B (zh) | 2022-12-31 | 2022-12-31 | 基于车辆gps轨迹数据聚类的轨迹补全方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028827B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694032A (zh) * | 2020-05-09 | 2020-09-22 | 杭州电子科技大学 | 一种基于聚类的大规模轨迹数据的快速地图匹配方法 |
CN113766428A (zh) * | 2020-06-01 | 2021-12-07 | 深圳先进技术研究院 | 城市公共交通乘客出行轨迹估计方法、系统、终端以及存储介质 |
WO2021243516A1 (zh) * | 2020-06-01 | 2021-12-09 | 深圳先进技术研究院 | 城市公共交通乘客出行轨迹估计方法、系统、终端以及存储介质 |
-
2022
- 2022-12-31 CN CN202211738093.9A patent/CN116028827B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694032A (zh) * | 2020-05-09 | 2020-09-22 | 杭州电子科技大学 | 一种基于聚类的大规模轨迹数据的快速地图匹配方法 |
CN113766428A (zh) * | 2020-06-01 | 2021-12-07 | 深圳先进技术研究院 | 城市公共交通乘客出行轨迹估计方法、系统、终端以及存储介质 |
WO2021243516A1 (zh) * | 2020-06-01 | 2021-12-09 | 深圳先进技术研究院 | 城市公共交通乘客出行轨迹估计方法、系统、终端以及存储介质 |
Non-Patent Citations (2)
Title |
---|
基于卡口数据的车辆轨迹预测与缺失信息补偿方法研究;朱耀堃;《中国优秀硕士学位论文全文数据库 (工程科技Ⅱ辑);C034-469页 * |
基于神经网络的车辆轨迹预测算法的研究与实现;朱自升;中国优秀硕士学位论文全文数据库 (工程科技Ⅱ辑);C035-177页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116028827A (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102810118B (zh) | 一种变权网k近邻搜索方法 | |
WO2017177965A1 (zh) | 一种基于时间顺序的轨迹匹配方法 | |
CN111307164B (zh) | 一种低采样率轨迹地图匹配方法 | |
CN109948701B (zh) | 一种基于轨迹间时空关联性的数据聚类方法 | |
CN102693266A (zh) | 搜索数据库的方法、生成索引结构的导航设备和方法 | |
CN107917716B (zh) | 固定线路导航方法、装置、终端及计算机可读存储介质 | |
US20130144524A1 (en) | Double-hub indexing in location services | |
CN105091889A (zh) | 一种热点路径的确定方法及设备 | |
US20200116500A1 (en) | Matching algorithm for data with different scales based on global road network features | |
CN112579921B (zh) | 基于倒排序索引及前缀树的轨迹索引和查询方法及系统 | |
Huang et al. | Frequent pattern-based map-matching on low sampling rate trajectories | |
CN108536704A (zh) | 一种轨迹查询方法、系统及装置 | |
CN113932821A (zh) | 基于连续窗口平均方向特征的轨迹地图匹配方法 | |
Almeida et al. | DMM: A Distributed Map-matching algorithm using the MapReduce Paradigm | |
CN116028827B (zh) | 基于车辆gps轨迹数据聚类的轨迹补全方法 | |
CN112948872B (zh) | 一种基于分段聚类的路网轨迹语义隐私保护方法 | |
Yin et al. | Efficient trajectory compression and range query processing | |
CN110232067B (zh) | 一种基于BHR-Tree索引的共乘群体发现方法 | |
CN117542195A (zh) | 一种交通运行状态识别方法、装置、设备及介质 | |
CN110411450B (zh) | 一种用于压缩轨迹的地图匹配方法 | |
CN115292962B (zh) | 基于轨迹抽稀的路径相似度匹配方法、设备及存储介质 | |
CN109410367B (zh) | 一种车辆电源管理方法、计算机可读存储介质及服务器 | |
CN114331617B (zh) | 一种基于人工蜂群算法的通勤私家车拼车匹配方法 | |
CN111897805B (zh) | 基于最长公共子轨迹密度聚类的热点路径挖掘方法 | |
CN110727749A (zh) | 一种自适应候选路段搜索方法 |
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 |