一种路线确定方法及装置

文档序号:1693132 发布日期:2019-12-10 浏览:12次 >En<

阅读说明:本技术 一种路线确定方法及装置 (Route determining method and device ) 是由 杨旭光 于 2019-08-27 设计创作,主要内容包括:本发明提供了一种路线确定方法及装置,包括:获取乘客的起点和终点坐标、司机的起点和终点坐标;根据乘客的起点和终点坐标确定乘客路线,根据司机的起点和终点坐标确定司机路线;根据乘客路线和司机路线之间的夹角值,确定第一乘客路线和第一司机路线;根据第一乘客路线和第一司机路线之间的重叠部分,确定第二乘客路线和第二司机路线;根据第二乘客路线和第二司机路线之间的额外距离,确定第三乘客路线和第三司机路线。本发明中,通过将司机和乘客的行车路线简化为有向线段,快速选取出符合匹配条件的司机行车路线和乘客行车路线,简化了人车匹配过程的处理流程,并减小了计算量,从而提高了司机和乘客的匹配效率。(the invention provides a route determining method and a route determining device, which comprise the following steps: acquiring coordinates of a starting point and an ending point of a passenger and coordinates of a starting point and an ending point of a driver; determining a passenger route according to the coordinates of the starting point and the ending point of the passenger, and determining a driver route according to the coordinates of the starting point and the ending point of the driver; determining a first passenger route and a first driver route according to an included angle value between the passenger route and the driver route; determining a second passenger route and a second driver route based on an overlapping portion between the first passenger route and the first driver route; a third passenger route and a third driver route are determined based on the additional distance between the second passenger route and the second driver route. According to the invention, the driving routes of the driver and the passengers are simplified into directed line segments, and the driving routes of the driver and the passengers meeting the matching conditions are quickly selected, so that the processing flow of the man-vehicle matching process is simplified, the calculated amount is reduced, and the matching efficiency of the driver and the passengers is improved.)

一种路线确定方法及装置

技术领域

本发明涉及通信技术领域,特别涉及一种路线确定方法及装置。

背景技术

随着互联网约车等新兴出行服务的不断涌现,越来越多的人通过互联网约车出行的方式来代替私家车出行,而互联网约车中非常关键的一部分就是进行行车路径匹配,例如,关于顺风车服务,如何高效并准确的为乘客匹配到合适的顺风车车辆,一直是各大网约车服务商希望解决的关键问题。

现有技术中,在司机发布行程时,网约车服务商会调用相关的地图接口,为司机规划生成司机路径;在乘客发布行程时,网约车服务商会调用相关的地图接口,为乘客规划生成乘客路径。在确定司机路径和乘客路径之后,可以将司机路径和乘客路径进行分段,并计算司机路径的分段与乘客路径的分段之间的相似度值,在所有相似度值累加得到的总相似度大于或等于预设阈值的情况下,确定为乘客匹配到合适的司机;在所有相似度值累加得到的总相似度小于预设阈值的情况下,确定为乘客匹配到不合适的司机。

但是,分段计算的匹配方案需要对所有用户进行多次相似度计算,大量的相似度计算导致了顺风车业务中,用户匹配的过程繁琐,且服务器计算量过大的问题。

发明内容

有鉴于此,本发明旨在提出一种路线确定方法及装置,以解决现有技术中由于采用分段计算的行车路径匹配方法,导致了网约车业务中整体流程繁琐、且服务器计算量大的问题。

第一方面,本发明实施例提供了一种路线确定方法,所述方法包括:

获取乘客起点坐标、乘客终点坐标、司机起点坐标和司机终点坐标;

将从所述乘客起点坐标指向所述乘客终点坐标的有向线段确定为乘客路线,并将从所述司机起点坐标指向所述司机终点坐标的有向线段确定为司机路线;

从所述乘客路线中选取第一乘客路线,并从所述司机路线中选取第一司机路线,所述第一乘客路线与所述第一司机路线之间的夹角值小于预设夹角值;

从所述第一乘客路线中选取第二乘客路线,并从所述第一司机路线中选取第二司机路线,所述第二乘客路线的投影与所述第二司机路线的投影之间至少部分重叠;

从所述第二乘客路线中选取第三乘客路线,并从所述第二司机路线中选取第三司机路线,所述第三乘客路线和所述第三司机路线之间的额外距离小于所述第三司机路线的长度。

进一步的,所述方法还包括:

若存在多条所述第三乘客路线,和/或存在多条所述第三司机路线,则根据所述第三乘客路线与所述第三司机路线之间的起点间距、所述第三乘客路线与所述第三司机路线之间的终点间距、所述第三司机路线、所述第三乘客路线与所述第三司机路线之间的第一夹角余弦值、所述起点间距与所述第三司机路线之间的第二夹角余弦值、以及所述终点间距与所述第三司机路线之间的第三夹角余弦值,计算所述第三乘客路线和所述第三司机路线之间的顺路系数;

将值最大的所述顺路系数对应的第三乘客路线和第三司机路线,确定为目标乘客路线和目标司机路线。

进一步的,所述第一乘客路线与所述第一司机路线之间的夹角值小于预设夹角值,包括:

所述第一乘客路线与所述第一司机路线之间的第四夹角余弦值大于或等于预设夹角余弦值。

进一步的,所述第二乘客路线与所述第二司机路线之间至少部分重叠,包括:

当所述第二乘客路线与所述第二司机路线处于同一坐标系的情况下,所述第二乘客路线的横坐标投影与所述第二司机路线的横坐标投影之间至少部分重叠,和/或所述第二乘客路线的纵坐标投影与所述第二司机路线的纵坐标投影之间至少部分重叠。

进一步的,所述第三乘客路线和所述第三司机路线之间的额外距离小于所述第三司机路线的长度,包括:

根据所述第三乘客路线与所述第三司机路线之间的起点间距、所述第三乘客路线与所述第三司机路线之间的终点间距、所述起点间距与所述第三司机路线之间的第二夹角余弦值,以及所述终点间距与所述第三司机路线之间的第三夹角余弦值计算得到的所述额外距离,小于所述第三司机路线的长度。

第二方面,本发明实施例提供了一种路线确定装置,所述装置包括:

第一获取模块:用于获取乘客起点坐标、乘客终点坐标、司机起点坐标和司机终点坐标;

第一确认模块:用于将从所述乘客起点坐标指向所述乘客终点坐标的有向线段确定为乘客路线,并将从所述司机起点坐标指向所述司机终点坐标的有向线段确定为司机路线;

第一选取模块:用于从所述乘客路线中选取第一乘客路线,并从所述司机路线中选取第一司机路线,所述第一乘客路线与所述第一司机路线之间的夹角值小于预设夹角值;

第二选取模块:用于从所述第一乘客路线中选取第二乘客路线,并从所述第一司机路线中选取第二司机路线,所述第二乘客路线的投影与所述第二司机路线的投影之间至少部分重叠;

第三选取模块:用于从所述第二乘客路线中选取第三乘客路线,并从所述第二司机路线中选取第三司机路线,所述第三乘客路线和所述第三司机路线之间的额外距离小于所述第三司机路线的长度。

进一步的,所述装置还包括:

第一计算模块:用于若存在多条所述第三乘客路线,和/或存在多条所述第三司机路线,则根据所述第三乘客路线与所述第三司机路线之间的起点间距、所述第三乘客路线与所述第三司机路线之间的终点间距、所述第三司机路线、所述第三乘客路线与所述第三司机路线之间的第一夹角余弦值、所述起点间距与所述第三司机路线之间的第二夹角余弦值、以及所述终点间距与所述第三司机路线之间的第三夹角余弦值,计算所述第三乘客路线和所述第三司机路线之间的顺路系数;

第四选取模块,用于将值最大的所述顺路系数对应的第三乘客路线和第三司机路线,确定为目标乘客路线和目标司机路线。

进一步的,所述第一乘客路线与所述第一司机路线之间的夹角值小于预设夹角值,包括:

所述第一乘客路线与所述第一司机路线之间的第四夹角余弦值大于或等于预设夹角余弦值。

进一步的,所述第二乘客路线与所述第二司机路线之间至少部分重叠,包括:

当所述第二乘客路线与所述第二司机路线处于同一坐标系的情况下,所述第二乘客路线的横坐标投影与所述第二司机路线的横坐标投影之间至少部分重叠,和/或所述第二乘客路线的纵坐标投影与所述第二司机路线的纵坐标投影之间至少部分重叠。

进一步的,所述第三乘客路线和所述第三司机路线之间的额外距离小于所述第三司机路线的长度,包括:

根据所述第三乘客路线与所述第三司机路线之间的起点间距、所述第三乘客路线与所述第三司机路线之间的终点间距、所述起点间距与所述第三司机路线之间的第二夹角余弦值,以及所述终点间距与所述第三司机路线之间的第三夹角余弦值计算得到的所述额外距离,小于所述第三司机路线的长度。

本发明实施例提供的一种路线确定方法及装置,包括:获取乘客起点坐标、乘客终点坐标、司机起点坐标和司机终点坐标;将从乘客起点坐标指向乘客终点坐标的有向线段确定为乘客路线,并将从司机起点坐标指向司机终点坐标的有向线段确定为司机路线;从乘客路线中选取第一乘客路线,并从司机路线中选取第一司机路线,第一乘客路线与第一司机路线之间的夹角值小于预设夹角值;从第一乘客路线中选取第二乘客路线,并从第一司机路线中选取第二司机路线,第二乘客路线的投影与第二司机路线的投影之间至少部分重叠;从第二乘客路线中选取第三乘客路线,并从第二司机路线中选取第三司机路线,第三乘客路线和第三司机路线之间的额外距离小于第三司机路线的长度。本发明中,通过将司机和乘客的行车路线简化为有向线段,并分别对乘客和司机的行车路线之间的夹角值、重叠度和额外距离进行对比计算,快速选取出符合匹配条件的司机行车路线和乘客行车路线,简化了人车匹配过程的处理流程,并减小了计算量,从而提高了司机和乘客的匹配效率。

附图说明

图1为本发明实施例所述的一种路线确定方法的步骤流程图;

图2为本发明实施例所述的一种路线之间的夹角示意图;

图3为本发明实施例所述的另一种路线确定方法的步骤流程图;

图4为本发明实施例所述的一种路线的投影示意图;

图5为本发明实施例所述的一种路线之间的相对位置示意图;

图6为本发明实施例所述的一种路线确认装置的结构框图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

参照图1,示出了本发明实施例所述的一种路线确定方法的步骤流程图。

步骤101,获取乘客起点坐标、乘客终点坐标、司机起点坐标和司机终点坐标。

在本发明实施例中,当乘客存在使用顺风车的业务需求时,乘客可以通过乘客客户端输入行程信息,当乘客确认发布乘客的行程信息时,乘客客户端将乘客的行程信息通过网络上传至服务器;当司机存在使用顺风车的业务需求时,司机在司机客户端输入行程信息,当司机确认发布司机的行程信息时,司机客户端将司机的行程信息通过网络上传至服务器。服务器接收从司机客户端发送的司机行程信息,服务器接收从乘客客户端发送的乘客行程信息。

其中,在一种实现方式中,行程信息可以包括:出发地经纬度、目的地经纬度和出发时间。服务器分别从乘客行程信息和司机行程信息中,获取乘客的出发地经纬度、目的地经纬度和司机的出发地经纬度、目的地经纬度。并将乘客的出发地经纬度确定为乘客起点坐标,将乘客的目的地经纬度确定为乘客终点坐标;将司机的出发地经纬度确定为司机起点坐标,将司机的目的地经纬度确定为司机终点坐标。

优选地,乘客行程信息还可以包括:出行人数、车辆要求和行程要求;司机行程信息还可以包括:可携带人数、乘客要求和行程要求。在服务器分别从乘客行程信息和司机行程信息中,获取乘客的出发地经纬度、目的地经纬度和司机的出发地经纬度、目的地经纬度的步骤之前,服务器可以将乘客的出发时间、出行人数、车辆要求和行程要求与获取的司机行程信息进行匹配,同时可以将司机的出发时间、可携带人数、乘客要求和行程要求与获取的乘客行程信息进行匹配。服务器可以将满足全部匹配条件的乘客标记为潜在乘客,将满足全部匹配条件的司机标记为潜在司机,并从潜在乘客的行程信息中获取乘客的出发地经纬度和乘客的目的地经纬度,从潜在司机的行程信息中获取司机的出发地经纬度和乘客的目的地经纬度。

其中,通过服务器优先选取潜在乘客和潜在司机,可以初步缩小服务器需要计算的乘客和司机的范围,避免了当乘客行程和司机行程一致时,因为其他原因而导致乘客和司机的不愿意匹配的问题。

具体地,例如,乘客甲发布的行程信息为:出发时间2020年4月16日11点11分,出发地(108.893698:34.253024),目的地(109.265004:34.384962),出行2人,中档车、全程高速。司机甲发布的行程信息为:出发时间2020年4月16日10点01分,出发地(108.844776:34.215486),目的地(110.066759:34.50996),可携带4人,中档车、全程高速。司机乙发布的行程信息为:出发时间2020年4月16日06点18分,出发地(108.928822:34.226292),目的地(109.235988:34.659878),可携带2人,低档车、全程无高速。

在服务器选取潜在乘客和潜在司机时,由于司机乙的出发时间、乘客要求和行程要求均不满足乘客甲的行程信息,因此,服务器将乘客甲和司机甲标记为潜在乘客和潜在司机,并分别获取乘客甲的起点坐标和终点坐标,司机甲的起点坐标和终点坐标。

进一步的,乘客行程信息和司机行程信息还可以包括其他信息,本实施例不做进一步的限定。

在本发明实施例中,一个乘客路线和一个司机路线可以称为一个组合,由于在现实生活中,相对于司机,乘客属于顾客。因此,为便于理解,在本发明实施例中,可以皆以乘客为匹配主体,也即是,在服务器确定所有的组合时,优先选取某一个乘客行程信息,将该乘客行程信息与每一个司机行程信息进行组合,然后依次获取每一个乘客行程信息与所有司机行程信息的组合。另外,在本发明实施例中,还可以不考虑匹配主体,仅通过业务需求,建立包括乘客路线和司机路线的组合即可。

步骤102,将从所述乘客起点坐标指向所述乘客终点坐标的有向线段确定为乘客路线,并将从所述司机起点坐标指向所述司机终点坐标的有向线段确定为司机路线。

在本发明实施例中,出发地和目的地的经纬度信息可视为二元组(经度(longitude;以下简称_long):纬度(latitude;以下简称_lat)),例如,司机出发地为A1,则A1的经纬度信息为(A1long:A1lat),可视为在某一坐标系中的点A1,点A1的横坐标为A1long,点A1的纵坐标为A1lat;司机目的地为B1,则B1的经纬度信息为(B1long:B1lat),可视为在某一坐标系中的点B1,点B1的横坐标为B1long,点B1的纵坐标为B1lat。服务器将从司机起点坐标指向司机终点坐标的有向线段确定为司机路线,则确定司机路线为

可选的,司机路线也可以理解为一个向量

进一步的,例如,乘客出发地为A2,则A2的经纬度信息为(A2long:A2lat),可视为在某一坐标系中的点A2,点A2的横坐标为A2long,点A2的纵坐标为A2lat;乘客目的地为B2,则B2的经纬度信息为(B2long:B2lat),可视为在某一坐标系中的点B2,点B2的横坐标为B2long,点B2的纵坐标为B2lat。服务器将从乘客起点坐标指向乘客终点坐标的有向线段确定为乘客路线,则确定乘客路线为

可选的,乘客路线也可以理解为一个向量

在该步骤中,通过将乘客和司机的实际行程路线,转化为有向线段,避免了使用地图服务商规划的行车路径作为计算对象,大幅度减少了计算对象的数据量,同时直接省去了因为现实中环境多变而带来的干扰因素,可以达到简化整体流程,减少计算量的效果。

步骤103,从所述乘客路线中选取第一乘客路线,并从所述司机路线中选取第一司机路线,所述第一乘客路线与所述第一司机路线之间的夹角值小于预设夹角值。

在本发明实施例中,当乘客路线和司机路线理解为有向线段时,乘客路线和司机路线之间的夹角可以为乘客路线到司机路线的夹角,该夹角通常记作∠θ(Includedangle),夹角的区间范围为{|0≤θ≤π}。

可选的,当乘客路线和司机路线理解为向量时,例如,第一向量为乘客路线,第二向量为司机路线,第一向量的线段顺时针旋转至与第二向量的线段重合时,所经过的角度称为第一向量至第二向量的夹角。该夹角通常记作∠θ(Included angle),夹角的区间范围为{|0≤θ≤π}。则乘客路线与司机路线之间的夹角为乘客路线的线段顺时针旋转至与司机路线的线段重合时,所经过的角度称为乘客路线至司机路线的夹角。

在该步骤中,参照图2,其中,为司机路线,为乘客路线,乘客路线和司机路线均为有向线段,因此,可以记乘客路线和司机路线之间的延长线相交所形成的夹角为∠θ。

可选的,参照图2,其中,为司机路线,为乘客路线,乘客路线和司机路线均为向量,因此,可以将乘客路线和司机路线之间的延长线相交所形成的夹角,记为司机路线至乘客路线的夹角∠θ。

具体的,可以通过“顺路程度”来表示两条路线的相似程度,相似程度越高,司机为了接送乘客也越方便,成本越低。乘客路线和司机路线之间的夹角越小,则表明乘客路线和司机路线的有向线段方向越一致,其在现实生活中的乘客行程和司机行程的方向越一致,顺路程度越高;乘客路线和司机路线之间的夹角越大,则表明乘客路线和司机路线的有向线段方向越不一致,其在现实生活中的乘客行程和司机行程的方向越相反,顺路程度越低。因此,通过对乘客路线和司机路线之间的夹角的判断,即可在大量的乘客和司机的数据中,进一步选取出符合顺路条件的乘客和司机。

在本发明实施例中,所述第一乘客路线与所述第一司机路线之间的夹角值小于预设夹角值,其中,可以记预设夹角值为α,预设夹角值α的区间范围为{α|0≤α≤π}。服务器通过对乘客路线和司机路线端点坐标的计算,可确定每一个乘客路线和司机路线组合之间的夹角θ的具体角度值,并将每一个组合的夹角θ与预设夹角值α进行对比,确定出小于预设夹角值α的夹角θ。将小于预设夹角值α的夹角θ所对应的乘客路线确定为第一乘客路线,将小于预设夹角值α的夹角θ所对应的司机路线确定为第一司机路线。

具体的,例如,组合1包括乘客甲路线和司机甲路线,组合2包括乘客甲路线和司机乙路线,服务器根据乘客甲路线和司机甲路线计算得到夹角θ1,服务器根据乘客甲路线和司机乙路线计算得到夹角θ2,其中,夹角θ1为30°,夹角θ2为95°,预设夹角值α为90°。由于夹角θ1小于预设夹角值α,夹角θ2大于预设夹角值α,因此,将乘客甲路线确定为第一乘客甲路线,将司机甲路线确定为第一司机甲路线。

进一步的,例如,组合3包括乘客甲路线和司机甲路线,组合4包括乘客乙路线和司机乙路线,服务器根据乘客甲路线和司机甲路线计算得到夹角θ3,服务器根据乘客乙路线和司机乙路线计算得到夹角θ4,其中,夹角θ3为30°,夹角θ4为95°,预设夹角值α为90°。由于夹角θ3小于预设夹角值α,夹角θ4大于预设夹角值α,因此,将乘客甲路线确定为第一乘客甲路线,将司机甲路线确定为第一司机甲路线。

进一步的,所述预设夹角值的选取可以根据具体的地区、时间段和业务需求进行设定,本发明实施例对此不作限定。

在该步骤中,服务器可以通过计算获取组合中司机路线和乘客路线的夹角值,并与预设夹角值作对比,可以快速选取出顺路程度更高的组合。即使服务器中存在大量需要计算的组合,也可以通过夹角匹配进行快速筛选,去除不符合夹角条件的组合,达到简化整体流程,减少计算量的效果。

步骤104,从所述第一乘客路线中选取第二乘客路线,并从所述第一司机路线中选取第二司机路线,所述第二乘客路线的投影与所述第二司机路线的投影之间至少部分重叠。

经过步骤103的过滤后,组合中还存在即使第一乘客路线和第一司机路线的方向相似,但路线之间的相对位置距离过大的情况。例如,第一乘客甲路线是从北三环至北二环,第一司机甲路线是从南二环至南三环,虽然第一乘客甲路线和第一司机甲路线同方向,且路线之间的夹角至小于预设夹角值,但是路线之间的相对位置距离过大。

具体的,第一乘客路线和第一司机路线的相对位置距离越小,两者顺路程度越高,因此,可通过第一乘客路线和第一司机路线之间是否存在重叠部分,判断第一乘客路线和第一司机路线的顺路程度。

在该步骤中,服务器可以建立一个笛卡尔直角坐标系,将第一乘客路线的中点位置确定为圆心位置,将第一乘客路线的长度值确定为半径值,作一个圆,将该圆所包括的范围确定为第一乘客路线范围,同理可确定第一司机路线范围。服务器判断第一乘客路线范围是否和第一司机路线范围存在重叠部分。若存在重叠范围,服务器可以将第一乘客路线范围对应的第一乘客路线确定为第二乘客路线,可以将第一司机路线范围对应的第一司机路线确定为第二司机路线。

进一步的,第一乘客路线范围和第一司机路线范围还可以根据具体的地区、时间段和业务需求进行设定,本发明实施例对此不作限定。

在该步骤中,服务器可以通过判断组合中第一司机路线和第一乘客路线是否存在重叠部分,快速选取出顺路程度更高的组合。即使服务器中存在大量需要计算的组合,也可以通过重叠判断的条件快速筛选,去除不符合路线之间重叠条件的组合,达到简化整体流程,减少计算量的效果。

步骤105,从所述第二乘客路线中选取第三乘客路线,并从所述第二司机路线中选取第三司机路线,所述第三乘客路线和所述第三司机路线之间的额外距离小于所述第三司机路线的长度。

具体的,完成一次顺风车业务,司机实际需要行驶的完整路程是,司机首先从司机出发地出发,先行驶至乘客出发地,接到乘客后再行驶至乘客目的地,将乘客送达后,再行驶至司机目的地。在完整的路程中,司机为了接送乘客会额外行驶一部分距离,且该额外行驶的路程不在乘客的行程计划中,乘客并不会为额外行驶的距离付费,因此,对于司机来说,该额外距离越短,司机越容易接受乘客的行程信息。

经过步骤104的过滤后,组合中的第二乘客路线和第二司机路线均属于相对位置距离可以满足业务需求的范围。进一步的,服务器可以计算第二乘客路线和第二司机路线之间的额外距离,选取出司机更容易接受的乘客行程信息。

在该步骤中,服务器可以计算第二乘客路线和第二司机路线之间的额外距离,并将该额外距离与该第二司机路线的长度进行对比,将小于该第二乘客路线长度的额外距离所对应的第二乘客路线确定为第三乘客路线,将小于该第二司机路线长度的额外距离所对应的第二司机路线确定为第三司机路线。

进一步的,第二乘客路线和第二司机路线之间的额外距离还可以与预设额外距离进行对比,预设额外距离还可以根据具体的地区、时间段和业务需求进行设定,本发明实施例对此不作限定。

在该步骤中,服务器可以通过计算第二乘客路线和第二司机路线之间的额外距离,并将该外距离与该第二司机路线的长度进行对比,快速选取出司机更容易接受的乘客行程信息。即使服务器中存在大量需要计算的组合,也可以通过额外距离的条件快速筛选,去除额外距离较大的组合,最终选取出符合实际业务需求的组合,达到简化整体流程,减少计算量的效果。

在步骤105之后,服务器可以将第三乘客路线发送至对应的司机客户端,将第三司机路线发送至对应的乘客客户端。其中,若最终没有乘客路线符合第三乘客路线的选取条件,服务器则向对应的司机客户端发送“当前没有合适的匹配对象”的消息;若最终没有司机路线符合第三司机路线的选取条件,服务器则向对应的乘客客户端发送“当前没有合适的匹配对象”的消息。

综上所述,本发明实施例提供的一种路线确定方法,包括:获取乘客起点坐标、乘客终点坐标、司机起点坐标和司机终点坐标;将从乘客起点坐标指向乘客终点坐标的有向线段确定为乘客路线,并将从司机起点坐标指向司机终点坐标的有向线段确定为司机路线;从乘客路线中选取第一乘客路线,并从司机路线中选取第一司机路线,第一乘客路线与第一司机路线之间的夹角值小于预设夹角值;从第一乘客路线中选取第二乘客路线,并从第一司机路线中选取第二司机路线,第二乘客路线的投影与第二司机路线的投影之间至少部分重叠;从第二乘客路线中选取第三乘客路线,并从第二司机路线中选取第三司机路线,第三乘客路线和第三司机路线之间的额外距离小于第三司机路线的长度。本发明中,通过将司机和乘客的行车路线简化为有向线段,分别对乘客路线和司机路线之间的夹角值、重叠度和额外距离进行对比计算,快速选取出符合匹配条件的乘客路线和司机路线。

另外,由于每条步骤中,服务器仅针对两条有向线段进行计算,因此,计算量非常小,即使当服务器存在大量待计算的组合时,依然可以在短时间内完成所有的组合选取工作。从而简化了人车匹配过程的处理流程,并减小了计算量,同时由于计算量减小,服务器运算时间变短,进一步解决了网约车服务商为司机规划生成司机路径的时间与网约车服务商为乘客规划生成乘客路径的时间之间的差值较大的问题,提高了司机和乘客的匹配效率。

参照图3,示出了本发明实施例所述的另一种路线确定方法的步骤流程图。

步骤201,获取乘客起点坐标、乘客终点坐标、司机起点坐标和司机终点坐标。

该步骤具体可以参照上述步骤101,此处不再赘述。

步骤202,将从所述乘客起点坐标指向所述乘客终点坐标的有向线段确定为乘客路线,并将从所述司机起点坐标指向所述司机终点坐标的有向线段确定为司机路线。

该步骤具体可以参照上述步骤102,此处不再赘述。

步骤203,从所述乘客路线中选取第一乘客路线,并从所述司机路线中选取第一司机路线。

其中,所述第一乘客路线与所述第一司机路线之间的第四夹角余弦值大于或等于预设夹角余弦值。

在数学领域中,角度值可通过三角函数计算取得唯一的数值,且当夹角的区间范围为{θ|0≤θ≤π}时,余弦函数(cos)值随θ的增大,单调递减。因此,服务器可以将夹角的三角函数值进行对比,确定三角函数值的大小,间接确定角度值的大小。

在该步骤中,服务器可以通过对乘客路线和司机路线的端点坐标,计算乘客路线和司机路线之间的夹角余弦值,计算公式如下:

其中:cosθ——乘客路线和司机路线的夹角余弦值;

A1long——司机出发地的横坐标值;

A1lat——司机出发地的纵坐标值;

B1long——司机目的地的横坐标值;

B1lat——司机目的地的纵坐标值;

A2long——乘客出发地的横坐标值;

A2lat——乘客出发地的纵坐标值;

B2long——乘客目的地的横坐标值;

B2lat——乘客目的地的纵坐标值;

具体的,预设夹角值为α,即预设夹角余弦值为cosα。服务器可以将乘客路线和司机路线之间的夹角余弦值cosθ与预设夹角余弦值cosα对比,若该夹角余弦值cosθ大于或等于预设夹角余弦值cosα等,则服务器可以将大于或等于预设夹角余弦值cosα的夹角余弦值cosθ所对应的乘客路线确定为第一乘客路线,将大于或等于预设夹角余弦值cosα的夹角余弦值cosθ所对应的司机路线确定为第一司机路线。

具体的,例如,组合1包括乘客甲路线和司机甲路线,其中,乘客甲出发地的经纬度为(108;34),乘客甲目的地的经纬度为(109;35),司机甲出发地的经纬度为(108;33),司机甲目的地的经纬度为(110;34),预设夹角余弦值cos设为0。服务器将乘客甲路线和司机甲路线的数据代入上述公式计算,获得乘客甲路线和司机甲路线之间的夹角余弦值cosθ为0.447。由于0.447大于0,因此服务器可以将乘客甲路线确定为第一乘客甲路线,将司机甲路线确定为第一司机甲路线。

在本发明实施例中,为了满足一定的计算精度,所有计算结果可以取小数点后三位为有效数字。

在该步骤中,服务器可以通过计算获取组合中司机路线和乘客路线的夹角余弦值,并与预设夹角余弦值做对比,可以快速选取出顺路程度更高的组合。即使服务器中存在大量需要计算的组合,也可以通过夹角余弦值匹配进行快速筛选,去除不符合夹角余弦值条件的组合,达到简化整体流程,减少计算量的效果。

步骤204,从所述第一乘客路线中选取第二乘客路线,并从所述第一司机路线中选取第二司机路线。

其中,当所述第二乘客路线与所述第二司机路线处于同一坐标系的情况下,所述第二乘客路线的横坐标投影与所述第二司机路线的横坐标投影之间至少部分重叠,和/或所述第二乘客路线的纵坐标投影与所述第二司机路线的纵坐标投影之间至少部分重叠。

具体的,第一乘客路线和第一司机路线的相对位置距离越小,两者顺路程度越高。因此,服务器可以通过建立笛卡尔直角坐标系,并将路线投影在坐标轴上的方法,进一步选取顺路程度高的第一乘客路线和第一司机路线。

具体的,出发地和目的地的经纬度信息可视为二元组(经度:纬度)。因此,在本发明实施例中,服务器可以构建一个笛卡尔直角坐标系,其中,包括所述第一乘客路线和所述第一司机路线,坐标系的横坐标为经度,坐标系的纵坐标为纬度。

在该步骤中,可以参照图4,首先,服务器分别将第一乘客路线和第一司机路线投影在横坐标long之上,再分别将第一乘客路线和第一司机路线投影在纵坐标lat之上。其中,第一乘客路线在横坐标long之上的投影是A2longB2long,第一乘客路线在纵坐标lat之上的投影是A2lat B2lat;第一司机路线在横坐标long之上的投影是A1longB1long,第一司机路线在纵坐标lat之上的投影是A1latB1lat。服务器再判断在横坐标long上第一乘客路线的投影A2longB2long是否和第一司机路线的投影A1longB1long重叠,在纵坐标lat上第一乘客路线的投影A2lat B2lat是否和第一司机路线的投影A1latB1lat重叠。

若第一乘客路线的投影部分和第一司机路线的投影部分在任意坐标轴之上部分重叠,则服务器可以将该第一乘客路线确定为第二乘客路线,将该第一司机路线确定为第二司机路线。

优选的,服务器可以通过第一乘客路线和第一司机路线的端点值,判断两条路径是否存在投影重叠区域。若第一乘客路线的两端点的坐标值均大于等于或小于等于第一司机路线的两端点的坐标值,则第一乘客路线和第一司机路线不存在投影重叠区域。

判断公式如下:

((Min(A2long,B2long)≥Max(A1long,B1long))or(Max(A2long,B2long)≤Min(A1long,B1long)))and((Min(A2lat,B2lat)≥

Max(A1lat,B1lat))or(Max(A2lat,B2lat)≤Min(A1lat,B1lat)))

其中:Max——取极大值函数,返回两个参数中较大的参数值;

Min——取极小值函数,返回两个参数中较小的参数值;

or——逻辑或运算符,两个条件中一个条件成立即可;

and——逻辑与运算符,两个条件必须同时成立;

A1long——第一司机出发地的横坐标值;

A1lat——第一司机出发地的纵坐标值;

B1long——第一司机目的地的横坐标值;

B1lat——第一司机目的地的纵坐标值;

A2long——第一乘客出发地的横坐标值;

A2lat——第一乘客出发地的纵坐标值;

B2long——第一乘客目的地的横坐标值;

B2lat——第一乘客目的地的纵坐标值;

具体的,服务器可以将第一乘客路线和第一司机路线的端点值带入判断公式计算,若判断公式成立,则第一乘客路线和第一司机路线不存在投影重叠区域;若判断公式不成立,则第一乘客路线和第一司机路线存在投影重叠区域,服务器可以将该第一乘客路线确定为第二乘客路线,将该第一司机路线确定为第二司机路线。

具体的,例如,组合1包括第一乘客甲路线和第一司机甲路线,其中,第一乘客甲出发地的经纬度为(108;34),第一乘客甲目的地的经纬度为(109;35),第一司机甲出发地的经纬度为(108;33),第一司机甲目的地的经纬度为(110;34)。服务器将第一乘客甲路线和第一司机甲路线的数据代入上述公式计算,获得判断公式不成立。由于判断公式不成立,因此服务器可以将第一乘客甲路线确定为第二乘客甲路线,将第一司机甲路线确定为第二司机甲路线。

在该步骤中,服务器可以通过判断组合中第一司机路线和第一乘客路线在坐标轴之上是否存在重叠部分,快速选取出顺路程度更高的组合。即使服务器中存在大量需要计算的组合,也可以通过重叠判断的条件快速筛选,去除不符合路线之间重叠条件的组合,达到简化整体流程,减少计算量的效果。

步骤205,从所述第二乘客路线中选取第三乘客路线,并从所述第二司机路线中选取第三司机路线。

其中,根据所述第三乘客路线与所述第三司机路线之间的起点间距、所述第三乘客路线与所述第三司机路线之间的终点间距、所述起点间距与所述第三司机路线之间的第二夹角余弦值,以及所述终点间距与所述第三司机路线之间的第三夹角余弦值计算得到的所述额外距离,小于所述第三司机路线的长度。

具体的,可以参考图5。完成一次顺风车业务,司机实际需要行驶的完整路程是,司机首先从司机出发地A1出发,先行驶至乘客出发地A2,接到乘客后再行驶至乘客目的地B2,将乘客送达后,再行驶至司机目的地B1。在这个完整路程中,司机为了接送乘客会额外行驶一部分距离,该额外距离为:“|A1A2|-|A1A2’|+|B2B1|-|B2’B1|”。

判断额外距离是否小于第二司机路线的判断公式为:

(1-cosθ1)×|A1A2|+(1-cosθ2)×|B2B1|≥|A1B1|

其中:cosθ1——起点间距与第二司机路线之间的夹角余弦值;

cosθ2——终点间距与第二司机路线之间的夹角余弦值;

|A1A2|——起点间距的距离;

|B2B1|——终点间距的距离;

|A1B1|——第二司机路线的距离;

如图5所示,θ1为起点间距与第二司机路线之间的夹角值,θ2为终点间距与第二司机路线之间的夹角值,A1B1为第二司机路线,A2B2为第二乘客路线,A2’和B2’为辅助点,其中A2A2’垂直于A1B1,B2B2’垂直于A1B1。

具体的,服务器可以将起点间距、终点间距、起点间距与第二司机路线之间的夹角余弦值,以及终点间距与第二司机路线之间的夹角余弦值带入判断公式,计算并判断第二乘客路线与第二司机路线之间的额外距离是否小于第二司机路线的长度。若判断公式成立,则服务器可以将该第二乘客路线确定为第三乘客路线,并将该第二司机路线确定为第三司机路线。

具体的,例如,组合1包括第二乘客甲路线和第二司机甲路线,其中,第二乘客甲出发地的经纬度为(108;34),第二乘客甲目的地的经纬度为(109;35),第二司机甲出发地的经纬度为(108;33),第二司机甲目的地的经纬度为(110;34)。服务器将第二乘客甲路线和第二司机甲路线的数据代入上述公式计算,获得判断公式成立。由于判断公式成立,因此服务器可以将第二乘客甲路线确定为第三乘客甲路线,将第二司机甲路线确定为第三司机甲路线。

在该步骤中,服务器可以通过计算第二乘客路线和第二司机路线之间的额外距离,并将该外距离与该第二司机路线的长度进行对比,快速选取出司机更容易接受的乘客行程信息。即使服务器中存在大量需要计算的组合,也可以通过额外距离的条件快速筛选,去除额外距离较大的组合,最终选取出符合实际业务需求的组合,达到简化整体流程,减少计算量的效果。

可选的,若存在多条所述第三乘客路线,和/或存在多条所述第三司机路线的情况下,步骤205之后还可以包括:

步骤206,根据所述第三乘客路线与所述第三司机路线之间的起点间距、所述第三乘客路线与所述第三司机路线之间的终点间距、所述第三司机路线、所述第三乘客路线与所述第三司机路线之间的第一夹角余弦值、所述起点间距与所述第三司机路线之间的第二夹角余弦值、以及所述终点间距与所述第三司机路线之间的第三夹角余弦值,计算所述第三乘客路线和所述第三司机路线之间的顺路系数。

在经过步骤205之后,存在的多条第三乘客路线和多条第三司机路线均属于具有较高的顺路程度,为了更加精确的在多个组合中选取出最优组合,因此本发明引入顺路系数,顺路系数是包括第三乘客路线和第三司机路线之间夹角余弦值和第三乘客路线和第三司机路线之间额外距离的一种函数关系,同时加入两个常数用于根据具体的地区、时间段和业务需求对顺路系数进行灵活调节,使计算结果更准确,更符合实际生活的应用场景。

计算顺路系数的公式如下:

其中:S——顺路系数;

a——比例系数,用于调节不同业务场景下的子项权重值,通常取0.5;

C——精度系数,用于调节不同业务场景下的子项准确度,通常取0.5;

cosθ——第三乘客路线和第三司机路线的夹角余弦值;

cosθ1——起点间距与第三司机路线之间的夹角余弦值;

cosθ2——终点间距与第三司机路线之间的夹角余弦值;

|A1A2|——起点间距的距离;

|B2B1|——终点间距的距离;

|A1B1|——第二司机路线的距离;

具体的,服务器可以将第三乘客路线和第三司机路线的夹角余弦值、起点间距与第三司机路线之间的夹角余弦值、终点间距与第三司机路线之间的夹角余弦值、起点间距的距离、终点间距的距离和第二司机路线的距离带入上述公式计算,获得顺路系数。其中,通过坐标值获得各项参数的具体计算方法在此不再赘述。

具体的,例如,组合1包括第三乘客甲路线和第三司机甲路线,其中,起点间距的距离为65,终点间距的距离为70,第二司机路线的距离为140,第三乘客路线和第三司机路线的夹角余弦值为0.86,起点间距与第三司机路线之间的夹角余弦值为0.5,终点间距与第三司机路线之间的夹角余弦值为0.34,比例系数为0.5,精度系数为0.45。服务器将上述数据代入上述公式计算,获得顺路系数为0.541。

在该步骤中,将顺路程度数据化,通过引入顺路系数的公式。服务器可以将第三乘客路线和第三司机路线的数据代入公式计算,获取顺路系数,进一步细化路线确定条件,准确选择出顺路程度最高的组合。

步骤207,将值最大的所述顺路系数对应的第三乘客路线和第三司机路线,确定为目标乘客路线和目标司机路线。

在步骤206之后,服务器获得了多组顺路系数,具体的,服务器将全部顺路系数值进行大小比对,并确定出值最大的顺路系数。服务器可以将值最大的顺路系数所对应的第三乘客路线确定为目标乘客,值最大的顺路系数所对应的第三司机路线确定为目标司机。

进一步的,服务器可以将目标乘客发送至对应的司机客户端,司机客户端接收服务器发送的目标乘客信息,并将该目标乘客对应的信息展示给用户;将目标司机发送至对应的乘客客户端,乘客客户端接收服务器发送的目标司机信息,并将该目标司机对应的信息展示给用户。

综上所述,本发明实施例提供的一种路线确定方法及装置,包括:获取乘客起点坐标、乘客终点坐标、司机起点坐标和司机终点坐标;将从乘客起点坐标指向乘客终点坐标的有向线段确定为乘客路线,并将从司机起点坐标指向司机终点坐标的有向线段确定为司机路线;从乘客路线中选取第一乘客路线,并从司机路线中选取第一司机路线,第一乘客路线与第一司机路线之间的第四夹角余弦值大于或等于预设夹角余弦值;从第一乘客路线中选取第二乘客路线,并从第一司机路线中选取第二司机路线,当第二乘客路线与第二司机路线处于同一坐标系的情况下,第二乘客路线的横坐标投影与第二司机路线的横坐标投影之间至少部分重叠,和/或第二乘客路线的纵坐标投影与第二司机路线的纵坐标投影之间至少部分重叠;从第二乘客路线中选取第三乘客路线,并从第二司机路线中选取第三司机路线,第三乘客路线和第三司机路线之间的额外距离小于第三司机路线的长度;若存在多条第三乘客路线,和/或存在多条第三司机路线,计算第三乘客路线和第三司机路线之间的顺路系数;将值最大的顺路系数对应的第三乘客路线和第三司机路线,确定为目标乘客路线和目标司机路线。本发明中,通过将司机和乘客的行车路线简化为有向线段,分别对行车路线的夹角余弦值、坐标轴投影的重叠度、额外距离和顺路系数进行对比计算,快速选取出符合匹配条件的乘客路线和司机路线。

另外,由于每条步骤中,服务器仅针对两条有向线段进行计算,因此,计算量非常小,即使当服务器存在大量待计算的组合时,依然可以在短时间内完成所有的组合选取工作。从而简化了人车匹配过程的处理流程,并减小了计算量,同时由于计算量减小,服务器运算时间变短,进一步解决了网约车服务商为司机规划生成司机路径的时间与网约车服务商为乘客规划生成乘客路径的时间之间的差值较大的问题,提高了司机和乘客的匹配效率。

在上述实施例的基础上,本发明实施例还提供了一种网约车装置。

参照图6,示出了本发明实施例所述的一种路线确认装置30的结构框图,具体可以包括如下模块:

第一获取模块301:用于获取乘客起点坐标、乘客终点坐标、司机起点坐标和司机终点坐标;

第一确认模块302:用于将从所述乘客起点坐标指向所述乘客终点坐标的有向线段确定为乘客路线,并将从所述司机起点坐标指向所述司机终点坐标的有向线段确定为司机路线;

第一选取模块303:用于从所述乘客路线中选取第一乘客路线,并从所述司机路线中选取第一司机路线,所述第一乘客路线与所述第一司机路线之间的夹角值小于预设夹角值;

第二选取模块304:用于从所述第一乘客路线中选取第二乘客路线,并从所述第一司机路线中选取第二司机路线,所述第二乘客路线的投影与所述第二司机路线的投影之间至少部分重叠;

第三选取模块305:用于从所述第二乘客路线中选取第三乘客路线,并从所述第二司机路线中选取第三司机路线,所述第三乘客路线和所述第三司机路线之间的额外距离小于所述第三司机路线的长度。

可选的,本发明一种路线确认装置还包括:

第一计算模块306:用于若存在多条所述第三乘客路线,和/或存在多条所述第三司机路线,则根据所述第三乘客路线与所述第三司机路线之间的起点间距、所述第三乘客路线与所述第三司机路线之间的终点间距、所述第三司机路线、所述第三乘客路线与所述第三司机路线之间的第一夹角余弦值、所述起点间距与所述第三司机路线之间的第二夹角余弦值、以及所述终点间距与所述第三司机路线之间的第三夹角余弦值,计算所述第三乘客路线和所述第三司机路线之间的顺路系数;

第四选取模块307,用于将值最大的所述顺路系数对应的第三乘客路线和第三司机路线,确定为目标乘客路线和目标司机路线。

进一步的,所述第一乘客路线与所述第一司机路线之间的夹角值小于预设夹角值,包括:所述第一乘客路线与所述第一司机路线之间的第四夹角余弦值大于或等于预设夹角余弦值。

进一步的,所述第二乘客路线与所述第二司机路线之间至少部分重叠,包括:当所述第二乘客路线与所述第二司机路线处于同一坐标系的情况下,所述第二乘客路线的横坐标投影与所述第二司机路线的横坐标投影之间至少部分重叠,和/或所述第二乘客路线的纵坐标投影与所述第二司机路线的纵坐标投影之间至少部分重叠。

进一步的,所述第三乘客路线和所述第三司机路线之间的额外距离小于所述第三司机路线的长度,包括:根据所述第三乘客路线与所述第三司机路线之间的起点间距、所述第三乘客路线与所述第三司机路线之间的终点间距、所述起点间距与所述第三司机路线之间的第二夹角余弦值,以及所述终点间距与所述第三司机路线之间的第三夹角余弦值计算得到的所述额外距离,小于所述第三司机路线的长度。

综上所述,本发明实施例提供的一种路线确定方法及装置,包括:获取乘客起点坐标、乘客终点坐标、司机起点坐标和司机终点坐标;将从乘客起点坐标指向乘客终点坐标的有向线段确定为乘客路线,并将从司机起点坐标指向司机终点坐标的有向线段确定为司机路线;从乘客路线中选取第一乘客路线,并从司机路线中选取第一司机路线,第一乘客路线与第一司机路线之间的夹角值小于预设夹角值;从第一乘客路线中选取第二乘客路线,并从第一司机路线中选取第二司机路线,第二乘客路线的投影与第二司机路线之间的投影至少部分重叠;从第二乘客路线中选取第三乘客路线,并从第二司机路线中选取第三司机路线,第三乘客路线和第三司机路线之间的额外距离小于第三司机路线的长度。本发明中,通过将司机和乘客的行车路线简化为有向线段,分别对乘客路线和司机路线之间的夹角值、重叠度和额外距离进行对比计算,快速选取出符合匹配条件的乘客路线和司机路线。由于每条步骤中,服务器仅针对两条有向线段进行计算,因此,计算量非常小,即使当服务器存在大量待计算的组合时,依然可以在短时间内完成所有的组合选取工作。从而避免了由于采用分段计算的路径匹配方法,导致的网约车业务中整体流程繁琐、计算量大的问题,同时由于计算量减小,服务器运算时间变短,进一步解决了网约车服务商为司机规划生成司机路径的时间与网约车服务商为乘客规划生成乘客路径的时间之间的差值较大的问题,提高了司机和乘客的匹配效率。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的方法、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于A*算法和人工势场的无人车轨迹规划方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!