一种确定车辆行驶路径的方法及装置
技术领域
本说明书一个或多个实施例涉及计算机信息处理领域,尤其涉及一种确定车辆行驶路径的方法及装置。
背景技术
对于车辆,在很多场景下,需要确定该车辆的实际行驶路线。例如,在公交线网评价和规划系统中,常见的问题之一是需要把公交车的行驶路径匹配到道网上,也就是需要知道公交车是在哪些道路上行驶的。因为交通管制,封路,车站变更等等原因,公交车的实际行驶路径是会变化的。如何确定公交车的实际行驶路径是需要解决的问题。
针对上述问题,需要一种能够确定车辆行驶路径的方法。
发明内容
本说明书一个或多个实施例描述了一种确定车辆行驶路径的方法及装置,可以有效地确定车辆的实际行驶路径。
根据第一方面,提供了一种确定车辆行驶路径的方法,所述方法包括:
获取车辆在出发地和目的地之间的多个行驶轨迹点;
基于所述多个行驶轨迹点,确定轨迹路径,所述轨迹路径包括多个轨迹线段,其中,每一轨迹线段为两个相邻行驶轨迹点之间的线段;
获取路网中从出发地到目的地的多个备选路径,其中包括第一备选路径,所述第一备选路径包含多个路段;
对于所述多个路段中的各个路段,从所述多个轨迹线段中确定与其匹配的轨迹线段集合;
基于所述各个路段的长度,以及与所述各个路段匹配的轨迹线段集合中各轨迹线段的长度,确定第一备选路径与轨迹路径的不匹配长度;
基于所述多个备选路径各自与轨迹路径的不匹配长度,从所述多个备选路径中确定所述车辆在出发地和目的地之间的行驶路径。
在一个实施例中,所述车辆为公交车;所述多个行驶轨迹点包括以下至少一种:
所述车辆的定位信息、所述车辆的停靠站点、所述车辆的乘客的用户设备的定位信息。
在一个实施例中,所述对于所述多个路段中的各个路段,从所述多个轨迹线段中确定与其匹配的轨迹线段集合,包括:
基于所述多个轨迹线段中的第一轨迹线段与所述多个路段中的第一路段的夹角,以及第一轨迹线段和第一路段之间是否交叉,确定第一轨迹线段和第一路段是否匹配。
在一个实施例中,所述对于所述多个路段中的各个路段,从所述多个轨迹线段中确定与其匹配的轨迹线段集合,包括:
基于所述多个轨迹线段中的第一轨迹线段与所述多个路段中的第一路段的夹角,以及第一轨迹线段和第一路段之间的最短距离,确定第一轨迹线段和第一路段是否匹配。
在一个实施例中,所述基于所述各个路段的长度,以及与所述各个路段匹配的轨迹线段集合中各轨迹线段的长度,确定第一备选路径与轨迹路径的不匹配长度,包括:
对于所述多个路段中的第一路段,基于该第一路段的长度以及与其匹配的第一轨迹线段集合中各轨迹线段的长度,确定第一路段的不匹配长度;
基于第一备选路径的各个路段的不匹配长度,确定所述第一备选路径与轨迹路径的不匹配长度。
在一个示例中,所述对于所述多个路段中的第一路段,基于该第一路段的长度以及与其匹配的第一轨迹线段集合中各轨迹线段的长度,确定第一路段的不匹配长度,包括:
对于所述第一轨迹线段集合中的第一轨迹线段,将第一路段投影到第一轨迹线段所在的直线,得到第一路段的第一投影;其中,第一投影与第一轨迹线段重合的长度用作第一轨迹线段的匹配长度;
基于所述第一轨迹线段集合中各个轨迹线段的匹配长度,确定第一路段的不匹配长度。
在一个示例中,所述对于所述多个路段中的第一路段,基于该第一路段的长度以及与其匹配的第一轨迹线段集合中各轨迹线段的长度,确定第一路段的不匹配长度,包括:
对于所述第一轨迹线段集合中的第一轨迹线段,将第一轨迹线段投影到第一路段所在的直线,得到第一轨迹投影;其中,所述第一轨迹投影的长度用作第一轨迹线段的匹配长度;
基于所述第一轨迹线段集合中各个轨迹线段的匹配长度,确定第一路段的不匹配长度。
在一种可能的实现方式中,所述基于所述第一轨迹线段集合中各个轨迹线段的匹配长度,确定第一路段的不匹配长度,包括:
将所述第一轨迹线段集合中各个轨迹线段的匹配长度加和,得到第一路段的匹配长度;
计算第一路段的长度与第一路段的匹配长度的差值,所述差值作为第一路段的不匹配长度。
在一个实施例中,所述基于所述多个备选路径各自与轨迹路径的不匹配长度,从所述多个备选路径中确定所述车辆在出发地和目的地之间的行驶路径,包括:
从所述多个备选路径各自与轨迹路径的不匹配长度中,确定最短不匹配长度;所述最短不匹配长度对应的备选路径作为所述车辆在出发地和目的地之间的行驶路径。
根据第二方面,提供了一种确定车辆行驶路径的装置,所述装置包括:
第一获取单元,配置为获取车辆在出发地和目的地之间的多个行驶轨迹点;
第一确定单元,配置为基于所述多个行驶轨迹点,确定轨迹路径,所述轨迹路径包括多个轨迹线段,其中,每一轨迹线段为两个相邻行驶轨迹点之间的线段;
第二获取单元,配置为获取路网中从出发地到目的地的多个备选路径,其中包括第一备选路径,所述第一备选路径包含多个路段;
第二确定单元,配置为对于所述多个路段中的各个路段,从所述多个轨迹线段中确定与其匹配的轨迹线段集合;
第三确定单元,配置为基于所述各个路段的长度,以及与所述各个路段匹配的轨迹线段集合中各轨迹线段的长度,确定第一备选路径与轨迹路径的不匹配长度;
第四确定单元,配置为基于所述多个备选路径各自与轨迹路径的不匹配长度,从所述多个备选路径中确定所述车辆在出发地和目的地之间的行驶路径。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
根据本说明书实施例提供的方法和装置,可获取从出发地到目的地的多个行驶轨迹点以及多个备选路径,通过多个行驶轨迹点确定多个备选路径各自与轨迹路径的不匹配长度,进而确定出较为合理的实际行驶路径。该方案,综合考虑了行驶轨迹点和路段的长度,即使行驶轨迹点缺失严重,也能给出较合理的行驶路径。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出根据一个实施例的车辆的行驶轨迹点的示意图;
图2示出根据一个实施例的确定车辆行驶路径的方法的流程图;
图3a示出根据一个实施例的车辆的行驶轨迹点的示意图;
图3b示出根据一个实施例确定轨迹线段的匹配长度的示意图;
图3c示出根据一个实施例确定轨迹线段的匹配长度的示意图;
图4示出根据一个实施例的确定车辆行驶路径的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。在本说明书实施例中,如无特殊说明,路段是指两个相邻的路口之间的道路段。
对于某一车辆,可以获取该车辆的行驶轨迹点。车辆的行驶轨迹点是指该车辆在从出发地到目的地的行驶途中经过的地点。参考图1,设定车辆在高尔夫路上行驶,图1示出的高尔夫路上的一个个圆点即为车辆的一个个行驶轨迹点。
根据一种方案,可以基于隐马尔可夫模型(Hidden Markov Model,HMM),根据车辆的行驶轨迹点,推测出该车辆实际行驶的道路路径。隐马尔可夫模型是一种统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。在基于隐马尔可夫模型的方案中,道网是多个路段的连接(转移)组合,隐含未知参数是从一个路段到另外一路段的连接概率。给定当前路段,下一个最大可能的路段是该车辆行驶路径最有可能包含的路段。
基于隐马尔可夫模型的方案较强地依赖于行驶轨迹点,当出发地和目的地之间的行驶轨迹点缺失或误差较大时,推测的结果会不准确。
在本说明书实施例中,一方面确定出从出发地到目的地的多个备选路径,一方面基于行驶轨迹点确定出一系列轨迹线段,然后通过各个备选路径包含的路段的长度,以及与路段匹配的轨迹线段的长度,确定各个备选路径的不匹配长度。进而根据各个备选路径的不匹配长度,确定车辆的行驶路径。本说明书实施例提供的方案,综合考虑了行驶轨迹点和路段的长度,即使行驶轨迹点缺失严重,也能给出较合理的行驶路径。
接下来,参考图2,对本说明书实施例提供的确定车辆行驶路径的方法进行具体介绍。所述方法可以由任何具有计算、处理能力的装置、设备、平台、设备集群执行。如图2所示,所述方法包括如下步骤。步骤200,获取车辆在出发地和目的地之间的多个行驶轨迹点;步骤202,基于所述多个行驶轨迹点,确定轨迹路径,所述轨迹路径包括多个轨迹线段,其中,每一轨迹线段为两个相邻行驶轨迹点之间的线段;步骤204,获取路网中从出发地到目的地的多个备选路径,其中包括第一备选路径,所述第一备选路径包含多个路段;步骤206,对于所述多个路段中的各个路段,从所述多个轨迹线段中确定与其匹配的轨迹线段集合;步骤208,基于所述各个路段的长度,以及与所述各个路段匹配的轨迹线段集合中各轨迹线段的长度,确定第一备选路径与轨迹路径的不匹配长度;步骤209,基于所述多个备选路径各自与轨迹路径的不匹配长度,从所述多个备选路径中确定所述车辆在出发地和目的地之间的行驶路径。
接下来,结合具体例子,对上述步骤进行具体描述。
首先,在步骤200中,获取车辆在出发地和目的地之间的多个行驶轨迹点。
车辆可以为机动车,例如汽车、电动车等。汽车具体可以为公交车、私家车等。车辆也可以为自行车,例如共享单车等。该车辆可以具有定位系统,在车辆行驶时,车辆的定位系统,可以按照随机或者按照预设时间间隔定位车辆的位置,得到行驶轨迹点。车辆可以向特定的服务器上报其定位系统采集的行驶轨迹点。以公交车为例,一般公交车都具有定位系统,其采集的行驶轨迹点,可上报至相应的公交运营管理系统的服务器。因此,可以从公交运营管理系统的服务器获取车辆的行驶轨迹点。
车辆上的乘客的用户设备,例如手机、平板电脑等,也可定位车辆的位置,作为行驶轨迹点,并向特定的服务器上报其定位得到的行驶轨迹点。仍以公交车为例,用户设备可连接公交车的Wi-Fi,从而得到公交车的标识,然后,将其定位得到的行驶轨迹点和公交车的标识上报至特定的应用服务器,例如,高德地图的服务器。因此,可以从相应的应用服务器获取车辆的行驶轨迹点。
对于公交车而言,公交车的停靠站点可作为公交车的行驶轨迹点,并可存储在在公交运营管理系统的服务器中。因此,可以从公交运营管理系统的服务器获取车辆的行驶轨迹点。
另外,车辆的出发地和目的地也可以看作是行驶轨迹点。
其次,在步骤202中,基于所述多个行驶轨迹点,确定轨迹路径,所述轨迹路径包括多个轨迹线段,其中,每一轨迹线段为两个相邻行驶轨迹点之间的线段。
将相邻的行驶轨迹点进行连线,得到轨迹线段。由多个行驶轨迹点得到的多个轨迹线段,可构成轨迹路径。具体可以参考图3a,a、b、c、d、e、f、g分别表示一个行驶轨迹点。虚线为两两行驶轨迹点之间的连线,即轨迹线段。多个轨迹线段构成了轨迹路径。
在一个实施例中,对于任一行驶轨迹点,其相邻的行驶轨迹点具体可以为在地理位置上与其相邻的行驶轨迹点。参考图3a,对于行驶轨迹点a来讲,其相邻行驶轨迹点为行驶轨迹点b;对于行驶轨迹点b来讲,其一个相邻行驶轨迹点为行驶轨迹点a,其另一个相邻行驶轨迹点为行驶轨迹点c;等等。
在一个实施例中,容易理解,对于车辆自身的定位系统、用户设备的定位系统以及公交车的自动报站系统,其采集行驶轨迹点时,可以记录该行驶轨迹点对应的时刻。因此,对于任一行驶轨迹点,其相邻的行驶轨迹点具体还可以为在时间维度上与其相邻的行驶轨迹点。
以及,在步骤204中,获取路网中从出发地到目的地的多个备选路径,其中包括第一备选路径,所述第一备选路径包含多个路段。
需要说明的是,在本说明书实施例中,虽然在行文上,先描述了步骤200和步骤202,然后才描述步骤204,这并不说明步骤204须在步骤200或步骤202之后执行。步骤204和步骤200的执行没有必然的前后顺序,步骤204可以在步骤200后执行,也可以先于步骤200执行,也可以与步骤200同时执行。步骤204和步骤202的执行也没有必然的前后顺序,步骤204可以在步骤202后执行,也可以先于步骤202执行,也可以与步骤202同时执行。
路网为很多路段组成的道路网络。路网可以为城市范围内的路网,也可以为城市的某个区域范围内的路网。路径为车辆可行驶的,能够从一位置到达另一位置的路线。容易理解,在路网上,从一位置到另一位置,有多个路径可选择。可选择的路径可以称为备选路径。已存在多种方式,可用于计算两个位置之间的备选路径,例如各种地图导航中常用的路径算法。这些方式均可以用于在步骤204在,确定出从车辆出发地到目的地的多个备选路径。
一般的,备选路径为多个路段串联而成。路段为两个相邻路口之间的道路路段。参考图3a,A、B、C分别表示一个路口。A和B为两个相邻的路口,两者之间为路段AB。B和C为两个相邻的路口,两者之间为路段BC。
为了描述的简单,下面就以多个备选路径中任意的一条路径,称为第一备选路径,为例进行说明。具体的,第一备选路径由多个路段构成,以下描述对这多个路段的分析处理过程。
对于所述多个路段中的各个路段,在步骤206中,从所述多个轨迹线段中确定与其匹配的轨迹线段集合。
对于所述多个路段中的任一路段,在多个轨迹线段中确定与该路段匹配的轨迹线段,确定得到的一个或多个轨迹线段构成了与该路段匹配的轨迹线段集合。
对于任一路段和任一轨迹线段,例如第一路段和第一轨迹线段,可以判断两者之间的关系是否满足预设条件,以确定两者是否匹配。
在一个实施例中,预设条件可以包括第一路段和第一轨迹线段的夹角。容易理解,当两个相邻的行驶轨迹点在同一路段上时,它们之间的轨迹线段与该路段的夹角为0,或者很小,具体可以参考图3a所示的轨迹线段ab或轨迹线段bc,其与路段AB之间的夹角很小。另外,当两个相邻的行驶轨迹点分别在两个不同路段上时,也可以借助于与这两个不同路段的夹角大小来决定将其匹配到哪一路段。例如图3a所示的行驶轨迹点c、d,分别落在路段AB和路段BC中,此时也可以基于它们之间的轨迹线段与路段的之间夹角来确定匹配的路段。具体可以设定匹配的路段和轨迹线段之间的夹角应小于预设角度,例如30度。以图3a所示的轨迹线段cd为例,其与路段AB之间的夹角小于30度,则可以认为轨迹线段cd与路段AB匹配。
需要说明的是,该预设角度可以根据经验值或实验进行调整,也可以根据行驶轨迹点的稠密度进行调整。
容易理解,对于第一路段,路网中可能存在多个与第一路段平行或夹角很小的路段,因此,第一路段和第一轨迹线段之间的夹角是否小于预设角度,为判断两者是否匹配的条件之一,还需要结合其他条件做进一步判断。
在该实施例的一个示例中,可以基于所述多个轨迹线段中的第一轨迹线段与所述多个路段中的第一路段的夹角,以及第一轨迹线段和第一路段之间是否交叉,来确定第一轨迹线段和第一路段是否匹配。
容易理解,第一轨迹线段和第一路段存在交叉,可以用于排除与第一路段平行或夹角很小的路段。当第一轨迹线段与第一路段的夹角小于预设角度,且第一轨迹线段和第一路段存在交叉时,则可以确定将第一轨迹线段匹配到第一路段上。
在该实施例的一个示例中,可以基于所述多个轨迹线段中的第一轨迹线段与所述多个路段中的第一路段的夹角,以及第一轨迹线段和第一路段之间的最短距离,确定第一轨迹线段和第一路段是否匹配。
可以判断第一轨迹线段和第一路段之间的最短距离是否小于预设距离,例如10米。该预设距离可以根据经验值或实验进行调整。第一轨迹线段和第一路段之间的最短距离小于预设距离,可以用于排除与第一路段平行或夹角很小的路段。当第一轨迹线段与第一路段的夹角小于预设角度,且第一轨迹线段和第一路段之间的最短距离小于预设距离时,可以将第一轨迹线段匹配到第一路段上。
通过以上方式,针对各个路段,可以得到匹配的轨迹线段集合。如果某个路段,并不存在轨迹线段与之匹配,则对应的轨迹线段集合为空集。
之后,在步骤208中,基于所述各个路段的长度,以及与所述各个路段匹配的轨迹线段集合中各轨迹线段的长度,确定第一备选路径与轨迹路径的不匹配长度。
对于任一备选路径而言,例如第一备选路径,其包含多个路段,轨迹路径包含多个轨迹线段,因此,第一备选路径的不匹配长度可以通过其各个路段的长度以及与其各个路段匹配的各轨迹线段的长度来获得。
在一个实施例中,可以先确定第一备选路径的各个路段的不匹配长度。然后,通过各个路段的不匹配长度确定第一备选路径与轨迹路径的不匹配长度。
具体的,对于第一备选路径的任一路段,例如第一路段,可以先基于该第一路段的长度以及与其匹配的第一轨迹线段集合中各轨迹线段的长度,确定第一路段的不匹配长度。参考图3a,对于路段AB,其行驶轨迹点a、b之间的部分,与轨迹线段ab匹配;其行驶轨迹点b、c之间的部分,与轨迹线段ab匹配。路口A和行驶轨迹点a之间没有轨迹线段匹配,行驶轨迹点c和路口B之间也没有轨迹线段匹配。因此,路口A和行驶轨迹点a之间的长度与行驶轨迹点c和路口B之间的长度的加和,为路段AB的不匹配长度,其可以通过路段AB的长度、轨迹线段ab的长度、轨迹线段ab的长度计算得到。如此,可以得到第一备选路径的各个路径的不匹配长度。然后,将第一备选路径的各个路段的不匹配长度加和,得到第一备选路径与轨迹路径的不匹配长度。
在该实施例的第一示例中,对于第一路段,可以计算与第一路段匹配的轨迹线段集合中各轨迹线段的长度的加和,得到第一线段长度加和。然后,第一路段的长度减去第一线段长度加和,得到第一路段的不匹配长度。
具体的,第一路段的不匹配长度Lj可通过以下公式计算:
其中,Dj表示第一路段的长度,θj表示与第一路段匹配的轨迹线段的集合,i表示与第一路段匹配的轨迹线段的集合中第i个轨迹线段,di表示第i个轨迹线段的长度。
如此,可以得到各个路段的不匹配长度。
容易理解,对于任一轨迹线段,其可能与对应的路段全部匹配,也可能与对应路段部分匹配,可以将该轨迹线段与对应路段相匹配的长度称为该轨迹线段的匹配长度。因此,在该实施例的第二示例中,可以先确定与第一路段匹配的轨迹线段集合中的各轨迹线段的匹配长度,进而可根据所述各轨迹线段的匹配长度,确定第一路段的不匹配长度。
在该实施例的第二示例的一个例子中,以与第一路段匹配的轨迹线段集合中的第一轨迹线段为例,可以将第一路段投影到第一轨迹线段所在的直线,得到第一路段的第一投影。可以将第一投影与第一轨迹线段重合的长度作为第一轨迹线段的匹配长度。在具体实现时,第一轨迹线段的匹配长度可以通过第一轨迹线段的长度和匹配比例来表征。例如,可以将第一投影与第一轨迹线段重合的长度,除以第一轨迹线段的长度,得到的比例作为第一轨迹线段的匹配比例。参考图3b,设定第一路段为路段BC,第一轨迹线段为轨迹线段i。di表示轨迹线段i的长度。将路段BC投影到轨迹线段i所在的直线,其投影与轨迹线段i重合的长度为li,则轨迹线段i的匹配比例
可以基于第一路段匹配的轨迹线段集合中各轨迹线段的匹配长度,确定第一路段的不匹配长度。在具体实现时,可以先基于第一路段匹配的轨迹线段集合中各个轨迹线段的长度及匹配比例,计算得到各轨迹线段的匹配长度,进而确定第一路段的不匹配长度。以第一轨迹线段为例,计算第一轨迹线段的长度与第一轨迹线段的匹配比例的乘积,得到第一轨迹线段的匹配长度。将所述各个轨迹线段的匹配长度加和,得到第一路段的匹配长度。然后,可以计算第一路段的长度与第一路段的匹配长度的差值,所述差值作为第一路段的不匹配长度。即,可通过以下公式计算第一路段的不匹配长度:
其中,Lj为第一路段的不匹配长度,Dj表示第一路段的长度,θj表示与第一路段匹配的轨迹线段的集合,i表示与第一路段匹配的轨迹线段的集合中第i个轨迹线段,di表示第i个轨迹线段的长度,wi表示轨迹线段i的匹配比例。
在该实施例的第二示例的又一个例子中,仍以与第一路段匹配的轨迹线段集合中的第一轨迹线段为例,可将第一轨迹线段投影到第一路段所在的直线,得到第一轨迹投影,将第一轨迹投影的长度用作第一轨迹线段的匹配长度。在具体实现时,第一轨迹线段的匹配长度可以通过第一轨迹线段的长度和匹配比例来表征。将所述第一轨迹投影的长度,除以第一轨迹线段的长度,得到第一轨迹线段的匹配比例。参考图3c,设定第一路段为路段BC,第一轨迹线段为轨迹线段i。di表示轨迹线段i的长度。将轨迹线段i投影到第一路段所在的直线,得到的第一轨迹投影的长度为li,则轨迹线段i的匹配比例
可以基于第一路段匹配的轨迹线段集合中各轨迹线段的匹配长度,确定第一路段的不匹配长度。在具体实现时,可以先基于所述第一轨迹线段集合中各个轨迹线段的长度及匹配比例,计算得到各轨迹线段的匹配长度,进而确定第一路段的不匹配长度。在该例子中,第一路段的不匹配长度的计算可以参考上一例子,此处不再赘述。
此外,还可以将第一路段的长度,减去第一路段的匹配长度的倍数(例如2倍),得到的差值可作为第一路段的不匹配长度。再例如,还可以将第一路段的长度,加上第一路段的匹配长度,得到长度和;以得到的长度和为分母,以第一路段的长度为分子,得到第一路段的不匹配度;然后,第一路段的长度乘以其不匹配度,得到其不匹配长度。
如此,通过以上各种方式,确定出任意的第一路段的不匹配长度。在此基础上,将第一备选路径的各个路段的不匹配长度加和,可得到第一备选路径与轨迹路径的不匹配长度。进而,可以确定出各个备选路径各自的不匹配长度。
之后,在步骤209中,基于所述多个备选路径各自与轨迹路径的不匹配长度,从所述多个备选路径中确定所述车辆在出发地和目的地之间的行驶路径。
容易理解,对于车辆从出发地到目的地,较短的路径为较合理的路径。换言之,与轨迹路径的不匹配长度越短的备选路径,其相较其他备选路径,越有可能为车辆的实际行驶路径。
在一个示例中,可从多个备选路径各自与轨迹路径的不匹配长度中,确定出与轨迹路径的不匹配长度最短的备选路径,作为车辆在出发地和目的地之间的实际行驶路径。
在一个示例中,可以综合考虑备选路径与轨迹路径的不匹配长度,和备选路径包含的路段的路况,来确定车辆在出发地和目的地之间的实际行驶路径。路段的路况可以包括路段是否处于维修状态等。一般而言,如果备选路径包含的路段都不处于维修状态,并且该备选路径与轨迹路径的不匹配长度也较短,则该备选路径可作为车辆在出发地和目的地之间的实际行驶路径。
综合以上,本说明实施例提供的确定车辆行驶路径的方法,获取从出发地到目的地的多个行驶轨迹点以及多个备选路径,通过多个行驶轨迹点确定多个备选路径各自与轨迹路径的不匹配长度,进而确定出较为合理的实际行驶路径。该方案,综合考虑了行驶轨迹点和路段的长度,即使行驶轨迹点缺失严重,也能给出较为合理的行驶路径。
根据第二方面,提供了一种确定车辆行驶路径的装置400。如图4所示,所示装置400包括:
第一获取单元410,配置为获取车辆在出发地和目的地之间的多个行驶轨迹点;
第一确定单元420,配置为基于所述多个行驶轨迹点,确定轨迹路径,所述轨迹路径包括多个轨迹线段,其中,每一轨迹线段为两个相邻行驶轨迹点之间的线段;
第二获取单元430,配置为获取路网中从出发地到目的地的多个备选路径,其中包括第一备选路径,所述第一备选路径包含多个路段;
第二确定单元440,配置为对于所述多个路段中的各个路段,从所述多个轨迹线段中确定与其匹配的轨迹线段集合;
第三确定单元450,配置为基于所述各个路段的长度,以及与所述各个路段匹配的轨迹线段集合中各轨迹线段的长度,确定第一备选路径与轨迹路径的不匹配长度;
第四确定单元460,配置为基于所述多个备选路径各自与轨迹路径的不匹配长度,从所述多个备选路径中确定所述车辆在出发地和目的地之间的行驶路径。
在一个实施例中,所述车辆为公交车;所述多个行驶轨迹点包括以下至少一种:
所述车辆的定位信息、所述车辆的停靠站点、所述车辆的乘客的用户设备的定位信息。
在一个实施例中,第二确定单元440还配置为,基于所述多个轨迹线段中的第一轨迹线段与所述多个路段中的第一路段的夹角,以及第一轨迹线段和第一路段之间是否交叉,确定第一轨迹线段和第一路段是否匹配。
在一个实施例中,第二确定单元440还配置为,基于所述多个轨迹线段中的第一轨迹线段与所述多个路段中的第一路段的夹角,以及第一轨迹线段和第一路段之间的最短距离,确定第一轨迹线段和第一路段是否匹配。
在一个实施例中,第三确定单位450还配置为,对于所述多个路段中的第一路段,基于该第一路段的长度以及与其匹配的第一轨迹线段集合中各轨迹线段的长度,确定第一路段的不匹配长度;
第三确定单元450还配置为,基于第一备选路径的各个路段的不匹配长度,确定所述第一备选路径与轨迹路径的不匹配长度。
在一个示例中,第三确定单元450包括投影子单元451和确定子单元452;
所述投影子单元451配置为,对于所述第一轨迹线段集合中的第一轨迹线段,将第一路段投影到第一轨迹线段所在的直线,得到第一路段的第一投影;;其中,第一投影与第一轨迹线段重合的长度用作第一轨迹线段的匹配长度;
所述确定子单元452配置为,基于所述第一轨迹线段集合中各个轨迹线段的匹配长度,确定第一路段的不匹配长度。
在一个示例中,第三确定单元450包括投影子单元451和确定子单元452;
所述投影子单元451配置为,对于所述第一轨迹线段集合中的第一轨迹线段,将第一轨迹线段投影到第一路段所在的直线,得到第一轨迹投影;其中,所述第一轨迹投影的长度用作第一轨迹线段的匹配长度;
所述确定子单元452配置为,基于所述第一轨迹线段集合中各个轨迹线段的匹配长度,确定第一路段的不匹配长度。
在一个例子中,所述确定子单元452包括计算模块4521;
所述计算模块4521配置为,将所述第一轨迹线段集合中各个轨迹线段的匹配长度加和,得到第一路段的匹配长度;
所述计算模块4521还配置为,计算第一路段的长度与第一路段的匹配长度的差值,所述差值作为第一路段的不匹配长度。
在一个实施例中,所述第四确定子单元460配置为,从所述多个备选路径各自与轨迹路径的不匹配长度中,确定最短不匹配长度;所述最短不匹配长度对应的备选路径最为所述车辆在出发地和目的地之间的行驶路径。
装置400的各功能单元可以参考图2所示的方法实施例实现,在此不再赘述。
另一方面,本说明书的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图2所示的方法。
另一方面,本说明书的实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图2所示的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。