CN114330807A - 路线的确定方法、装置和电子设备 - Google Patents

路线的确定方法、装置和电子设备 Download PDF

Info

Publication number
CN114330807A
CN114330807A CN202111020400.5A CN202111020400A CN114330807A CN 114330807 A CN114330807 A CN 114330807A CN 202111020400 A CN202111020400 A CN 202111020400A CN 114330807 A CN114330807 A CN 114330807A
Authority
CN
China
Prior art keywords
target
route
station
road
determining
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.)
Pending
Application number
CN202111020400.5A
Other languages
English (en)
Inventor
吴柏斌
刘勇
李伟
黎利华
刘福蓉
朱晓鸣
贺健
吴金霖
孔庆森
江春生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hengyang Branch Of Hunan Tobacco Co
Hunan Co Of China National Tobacco Corp
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Hengyang Branch Of Hunan Tobacco Co
Hunan Co Of China National Tobacco Corp
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hengyang Branch Of Hunan Tobacco Co, Hunan Co Of China National Tobacco Corp, Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Hengyang Branch Of Hunan Tobacco Co
Priority to CN202111020400.5A priority Critical patent/CN114330807A/zh
Publication of CN114330807A publication Critical patent/CN114330807A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Navigation (AREA)

Abstract

本公开提供了一种路线的确定方法、装置和电子设备,涉及地图技术领域中的导航技术。具体方案:在确定目标路线时,先对多个站点进行聚类处理,得到对应的多个目标聚类;并根据预设点和各目标聚类中与预设点距离最近的目标站点确定初始路线;再分别将各目标聚类中除目标站点之外的其它站点插入至初始路线中,得到目标路线。这样通过对多个站点进行聚类处理,将多个站点控制在一定范围内做路线计算,解决了因站点坐标精度差异出现大范围绕路的问题;且在初始路线的基础上,采用局部站点的方法将其他站点分别插入初始路线中,能够保证局部站点的顺序性,这样最终得到的目标路线中不会存在折返、绕路等问题,从而提高了确定出的目标路线的准确度。

Description

路线的确定方法、装置和电子设备
技术领域
本公开涉及数据处理技术领域,尤其涉及一种路线的确定方法、装置和电子设备,具体涉及地图技术领域中的导航技术。
背景技术
在物流配送场景中,有效确定配送距离最短的最优路线,对提高配送效率而言是至关重要的。
现有技术中,在确定配送距离最短的最优路线时,鉴于待配送站点的坐标精度较差,导致确定出的最优路线中存在折返、绕路等问题,因此,确定出的最优路线的准确度较低。
发明内容
本公开提供了一种路线的确定方法、装置和电子设备。
根据本公开的第一方面,提供了一种路线的确定方法,该路线的确定方法可以包括:
接收用于确定路线的请求消息;其中,所述请求消息中包括一个预设点和对应的多个站点。
对所述多个站点进行聚类处理,得到对应的多个目标聚类,并根据所述预设点和各目标聚类中与所述预设点距离最近的目标站点确定初始路线。
分别将所述各目标聚类中除所述目标站点之外的其它站点插入至所述初始路线中,得到所述目标路线;其中,所述目标路线中的起始点和终止点均为所述预设点。
根据本公开的第二方面,提供了一种路线的确定装置,该路线的确定装置可以包括:
接收单元,用于接收用于确定路线的请求消息;其中,所述请求消息中包括一个预设点和对应的多个站点。
处理单元,用于对所述多个站点进行聚类处理,得到对应的多个目标聚类,并根据所述预设点和各目标聚类中与所述预设点距离最近的目标站点确定初始路线。
插入单元,用于分别将所述各目标聚类中除所述目标站点之外的其它站点插入至所述初始路线中,得到所述目标路线;其中,所述目标路线中的起始点和终止点均为所述预设点。
根据本公开的第三方面,提供了一种电子设备,该电子设备可以包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面所述的路线的确定方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述第一方面所述的路线的确定方法。
根据本公开的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的路线的确定方法。
根据本公开的技术方案,可以解决采用现有技术确定的最优路线中存在折返、绕路等问题,从而提高了确定出的目标路线的准确度。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例提供的路线的确定方法的流程示意图;
图2是本公开实施例提供的一种多个站点的分布示意图;
图3是本公开实施例提供的一种对站点进行聚类处理后得到的目标聚类的示意图;
图4是本公开实施例提供的一种初始路线的示意图;
图5是本公开实施例提供的一种目标路线的示意图;
图6是根据本公开第二实施例提供的路线的确定方法的流程示意图
图7是根据本公开第三实施例提供的路线的确定方法的流程示意图;
图8是本公开实施例提供的一种对地图路网的道路数据进行切分后的示意图;
图9是根据本公开第四实施例提供的路线的确定方法的流程示意图;
图10是根据本公开第五实施例提供的路线的确定装置的结构示意图;
图11是本公开实施例提供的一种电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的访问关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。在本公开的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。此外,在本公开实施例中,“第一”、“第二”、“第三”、“第四”、“第五”以及“第六”只是为了区分不同对象的内容而已,并无其它特殊含义。
本公开实施例提供的技术方案可以应用于地图导航场景中。以基于地图导航实现物流配送为例,在物流配送场景下,通常情况下,有很多待配送站点需要配送,在执行配送操作时,通常以配送仓库为起始点,再遍历每一个待配送站点进行配送,最终再回到配送仓库,若能有效确定配送距离最短的最优路线,则有助于提高配送效率。因此,如何有效地找到一条配送距离最短的最优路线,且该最优路线可以覆盖到每一个待配送站点,对提高配送效率是至关重要的。
相关技术中,在确定配送距离最短的最优路线时,通常是基于待配送站点的坐标确定待配送站点之间的距离,再基于待配送站点之间的距离计算最优路线。但是鉴于现有的待配送站点的坐标精度较差,导致基于待配送站点之间的距离确定最优路线中存在折返、绕路等问题,因此,确定出的最优路线的准确度较低。
为了解决最优路线中存在折返、绕路等问题,从而提高确定出的最优路线的准确度较低,可以考虑在确定最优路线时,先对待配送站点进行聚类处理,这样可以将待配送站点控制在一定范围内做路线计算,避免因为地图中待配送站点的坐标精度差异而出现大范围绕路的问题,此外,针对聚类中的待配送站点,采用局部站点插入的方法,能够保证局部站点的顺序性,这样计算得到的最优路线中不会存在折返、绕路等问题,从而提高了确定出的最优路线的准确度。
基于上述技术构思,本公开实施例提供一种路线的确定方法,下面,将通过具体的实施例对本公开提供的路线的确定方法进行详细地说明。可以理解的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
实施例一
图1是根据本公开第一实施例提供的路线的确定方法的流程示意图,该路线的确定方法可以由软件和/或硬件装置执行,例如,该硬件装置可以为终端或者服务器。示例的,请参见图1所示,该路线的确定方法可以包括:
S101、接收用于确定路线的请求消息;其中,请求消息中包括一个预设点和对应的多个站点。
示例的,以物流配送场景为例,预设点可以理解为作为起始点和终止点的配送仓库,多个站点可以理解为需要配送的多个待配送站点。以旅游场景为例,预设点可以理解为作为起始点和终止点的居住地,多个站点可以理解为需要旅游参观的多个旅游地,具体可以根据实际需要进行设置。在此,本公开实施例只是以这两种场景为例进行说明,但并不代表本公开实施例仅局限于此。
示例的,在接收用于确定路线的请求消息时,可以通过硬件装置的接收器接收用于确定路线的请求消息,也可以通过硬件装置的屏幕接收用户输入的用于确定路线的请求消息,具体可以根据实际需要进行设置。在此,本公开实施例只是以这两种接收方式为例进行说明,但并不代表本公开实施例仅局限于此。
在接收到用于确定路线的请求消息后,为了避免因为地图中待配送站点的坐标精度差异而出现大范围绕路的问题,可以对多个站点进行聚类处理,即执行下述S102,这样可以将多个站点控制在一定范围内做路线计算,从而确定出最优路线。
S102、对多个站点进行聚类处理,得到对应的多个目标聚类,并根据预设点和各目标聚类中与预设点距离最近的目标站点确定初始路线。
示例的,在对多个站点进行聚类处理时,可以采用DBSCAN聚类算法对多个站点进行聚类处理,也可以采用其它聚类算法对多个站点进行聚类处理,例如,K-Means聚类算法,或者均值漂移聚类算法,具体可以根据实际需要进行设置,在此,本公开实施例不做具体限制。
示例的,假设多个站点分别包括站点a、站点b、站点c、站点d,站点e、站点f、站点g、站点h以及站点i,其分布示意图可参见图2所示,图2是本公开实施例提供的一种多个站点的分布示意图,采用聚类算法对站点a、站点b、站点c、站点d,站点e、站点f、站点g、站点h以及站点i进行聚类处理,可以将站点a和站点d划分至一个目标聚类中,将站点b、站点e、站点g以及站点f划分至一个目标聚类中,将站点c、站点h以及站点i划分至一个目标聚类中,得到对应的3个目标聚类,可参见图3所示,图3是本公开实施例提供的一种对站点进行聚类处理后得到的目标聚类的示意图,图3所示的示意图中包括作为起始点和终止点的预设点,和对站点a、站点b、站点c、站点d,站点e、站点f、站点g、站点h以及站点i进行聚类处理得到的3个目标聚类。
在确定出多个目标聚类后,针对每一个目标聚类,可以先从该目标聚类中,确定与预设点距离最近的站点,本公开实施例中可记为目标站点,这样可以从多个目标聚类中确定出对应的多个目标站点。可以理解的是,本公开实施例中,存在多少个目标聚类,对应的就可以确定出多少个目标站点,即目标聚类的数量与目标站点的数量相同。在确定出多个目标站点后,就可以进一步根据预设点和该多个目标站点确定初始路线。其中,初始路线中的起始点和终止点均为预设点。
示例的,结合图3所示,继续以对站点a、站点b、站点c、站点d,站点e、站点f、站点g、站点h以及站点i进行聚类处理,得到的3个目标聚类为例,可以看出,包括站点a和站点d中的目标聚类中,与预设点距离最近的目标站点为站点a,包括站点b、站点e、站点g以及站点f的目标聚类中,与预设点距离最近的目标站点为站点b,包括站点c、站点h以及站点i的目标聚类中,与预设点距离最近的目标站点为站点c,从而分别在3个目标聚类中确定出与预设点距离最近的3个目标站点,即目标站点a、目标站点b以及目标站点c。
示例的,在根据预设点和多个目标站点确定初始路线时,可以采用蚁群算法,确定包括预设点和多个目标站点的初始路线,也可以采用其它算法,例如遗传算法确定包括预设点和多个目标站点的初始路线,具体可以根据实际需要进行设置,在此,本公开实施例将以采用蚁群算法,确定包括预设点和多个目标站点的初始路线为例进行说明,但并不代表本公开实施例仅局限于此。
示例的,在采用蚁群算法,确定包括预设点和多个目标站点的初始路线时,可以将预设点、以及确定出的多个目标站点放入蚁群算法中求解,计算出一条最优路线,蚁群算法的设定如下:
蚂蚁数量设定为:目标站点的数量*5,设定初始信息素p=1,挥发率r=0.5,蚂蚁选择下一点的权重公式为:(1/p)*(1/s)^m,其中,m是蚂蚁当前位置到下一个点的距离,m默认为2。
对应的,蚁群算法计算流程如下:
(1)初始化信息素矩阵P;(2)生成N个蚂蚁,蚂蚁的初始位置都是预设点;(3)循环每个蚂蚁,蚂蚁按照上述权重公式计算当前位置到剩余点的权重,并按照轮盘赌选法,选择下一个站点;循环上述操作,直至所有网点选择完毕。
(4)计算所有蚂蚁走的路线的总距离,选出总距离最短的,例如10条路线;(5)更新信息素矩阵;根据挥发率计算剩余信息素的值p*(1-r),遍历总距离最短的10条路线,设当前路线的总距离为d,依次遍历每个站点,更新信息素矩阵p[i][i+1]=p[i][i+1]+1/d;(6)记录全局最优解,即总距离最短的路线,再跳转第(3)步继续循环迭代,。
蚁群算法的终止条件为:迭代不超过1W次,或者,全局最优解没有变化的迭代次数不超过100次。
采用蚁群算法计算完成后,获得包括预设点和多个目标站点的路线,本公开实施例中,可记为初始路线。
结合上述图3所示,假设3个目标站点为站点a、站点b以及站点c,则采用上述蚁群算法,就可以得到包括预设点、和站点a、站点b以及站点c之间的初始路线,示例的,请参见图4所示,图4是本公开实施例提供的一种初始路线的示意图,可以看出,初始路线的走向,可以由预设点出发、先经过目标站点a、再经过目标站点b、目标站点c,最终回到预设点。
在根据预设点和各目标聚类中的目标站点确定初始路线后,还需要将各目标聚类中除目标站点之外的其它站点插入至初始路线中,才能得到包括预设点和多个站点的目标路线,即执行下述S103:
S103、分别将各目标聚类中除目标站点之外的其它站点插入至初始路线中,得到目标路线;其中,目标路线中的起始点和终止点均为预设点。
示例的,结合图4所示,在初始路线上,可以将3个目标聚类中除3个目标站点,目标站点a、目标站点b以及目标站点c之外的其它站点,包括站点d,站点e、站点f、站点g、站点h以及站点i分别插入值初始路线中,可参见图5所示,图5是本公开实施例提供的一种目标路线的示意图,该目标路线从预设点出发,依次经过站点a,站点d、站点b、站点g、站点h以及站点i。
可以看出,本公开实施例,在确定目标路线时,先对多个站点进行聚类处理,得到对应的多个目标聚类;并根据预设点和各目标聚类中与预设点距离最近的目标站点确定初始路线;再分别将各目标聚类中除目标站点之外的其它站点插入至初始路线中,得到目标路线。这样通过对多个站点进行聚类处理,将多个站点控制在一定范围内做路线计算,解决了因站点坐标精度差异出现大范围绕路的问题;且在初始路线的基础上,采用局部站点的方法将其他站点分别插入初始路线中,能够保证局部站点的顺序性,这样最终得到的目标路线中不会存在折返、绕路等问题,从而提高了确定出的目标路线的准确度。
基于上述图1所示的实施例,为了便于理解在上述S102中,如何对多个站点进行聚类处理,得到对应的多个目标聚类,下面,将通过下述图6所示的实施例二进行详细描述。
实施例二
图6是根据本公开第二实施例提供的路线的确定方法的流程示意图,该路线的确定方法可以由软件和/或硬件装置执行,例如,该硬件装置可以为终端或者服务器。示例的,请参见图6所示,该路线的确定方法可以包括:
S601、对多个站点进行聚类处理,得到多个初始聚类。
示例的,在对多个站点进行聚类处理时,可以采用DBSCAN聚类算法对多个站点进行聚类处理,也可以采用其它聚类算法对多个站点进行聚类处理,例如,K-Means聚类算法,或者均值漂移聚类算法,具体可以根据实际需要进行设置,在此,本公开实施例不做具体限制。
以采用K-Means聚类算法为例,对多个站点进行聚类处理,可以得到多个聚类,该聚类可以记为初始聚类,从而得到多个初始聚类。在本公开实施例中,可以采用DBSCAN聚类算法对多个站点进行聚类处理。示例的,采用DBSCAN聚类算法对多个站点进行聚类处理时,可以先分别计算多个站点中,任意两个站点之间的距离,并计算得到的多个距离的平均值,可以记为平均距离;再根据平均距离确定DBSCAN聚类算法所需的距离阈值;此外,还需要设置DBSCAN聚类算法所需的站点数量阈值;再采用设定好距离阈值和站点数量阈值的DBSCAN聚类算法,对上述多个站点进行聚类,得到多个初始聚类,以及未聚类成功的站点。
需要说明的是,采用DBSCAN聚类算法与上述采用K-Means聚类算法不同的是,采用K-Means聚类算法进行聚类后,会得到多个初始聚类,而采用DBSCAN聚类算法进行聚类后,除了得到多个初始聚类之外,还会得到未聚类成功的站点。并且,采用DBSCAN聚类算法进行聚类处理时,不仅无需指定得到的初始聚类的数量,可以自适应的完成初始聚类的计算,而且对各种类型的站点分布均有较好的聚类效果。
对多个站点进行聚类处理,得到对应的多个初始聚类后,就可以进一步基于多个初始聚类确定后续的目标路线。示例的,在基于初始聚类确定后续的目标路线时,在一种可能的方式中,可以直接将聚类处理后的多个初始聚类确定为最终的多个目标聚类,用于确定后续的目标路线;但考虑到后续便于进行路线确定,在另一种可能的方式中,可以先判断该多个初始聚类中是否存在包括站点数量大于第一阈值的初始聚类,若不存在包括站点数量大于第一阈值的初始聚类,说明该多个初始聚类中每一个初始聚类的规格均比较小,则可以直接将该多个初始聚类,确定为最终的多个目标聚类,用于确定后续的目标路线。相反的,若包括站点数量大于第一阈值的目标初始聚类,说明该目标初始聚类的规模较大,为了便于确定后续的目标路线,则可以对该规模较大的目标初始聚类进行拆分处理,以可以得到规格较小的多个第一聚类,和未成功聚类的站点,即执行下述S602。
S602、若多个初始聚类中存在包括站点数量大于第一阈值的目标初始聚类,则根据目标初始聚类中各站点的道路标识,对目标初始聚类进行拆分处理,得到多个第一聚类和与第一聚类中第一站点的道路标识不同的多个第二站点;其中,第一聚类中包括的第一站点数量小于第一阈值。
示例的,在根据目标初始聚类中各站点的道路标识,对目标初始聚类进行拆分处理时,可以将道路标识相同的站点划分至一个聚类中,将不同道路标识的站点单个割裂出来,作为未成功聚类的站点,在本公开实施例中,得到的聚类可以记为第一聚类,未成功聚类的站点可以记为第二站点。其中,第一聚类中包括的站点,即第一站点的道路标识均相同,且第一聚类中包括的第一站点数量小于第一阈值。
结合上述图2所示,假设某一目标初始聚类中包括站点a、站点b、站点c、站点d,站点e、站点f以及站点g,其包括的站点数量大于第一阈值,则需要对该目标初始聚类进行拆分处理。在拆分处理时,假设站点b、站点e、站点f以及站点g的道路标识均相同,可记为第一道路标识;站点a和站点d的道路标识相同,可记为第二道路标识,站点c的道路标识为第三道路标识,则可以将道路标识的站点b、站点e、站点f以及站点g作为一个第一聚类,将道路标识的站点a和站点d作为一个第一聚类,将站点c作为未成功聚类的站点,可以记为第二站点。
需要说明的是,当上述初始聚类是采用DBSCAN聚类算法对多个站点进行聚类处理得到的,则还可以将上述S601中,采用DBSCAN聚类算法聚类处理得到的未聚类成功的站点,确定为第二站点,与S602中经过拆分处理,得到的未成功聚类的多个第二站点一并确定为第二站点,用于确定多个目标聚类。
在得到多个第一聚类和未成功聚类的多个第二站点后,就可以根据该多个第一聚类和未成功聚类的多个第二站点进一步确定用于后续确定目标路线的目标聚类,即执行下述S603。
S603、基于多个第一聚类和多个第二站点,确定多个目标聚类。
示例的,在基于多个第一聚类和多个第二站点,确定多个目标聚类时,可以依次遍历多个第二站点,以确定每一个第二站点所属的目标聚类,即将每一个第二站点合并至一个聚类中。在依次遍历多个第二站点时,针对当前遍历的第二站点,分别确定该遍历的第二站点与多个第一聚类和其它第二站点之间的距离,并根据确定的距离,从多个第一聚类和其它第二站点中,确定与当前遍历的第二站点距离最近的预设数量个对象;再根据当前遍历的第二站点的道路标识,与预设数量个对象各自的道路标识,确定当前遍历的第二站点所属的目标聚类。
其中,距离最近的预设数量个对象,可以理解为:按照距离从小到大的顺序,前预设数量个距离对应的对象。此外,本公开实施例中,该预设数量个对象中的对象也可以为第一聚类,也可以为其它第二站点。示例的,预设数量可以根据实际需要进行设置,在此,对于预设数量的取值,本公开实施例不做进一步地限制。
示例的,在依次遍历多个第二站点时,可以按照预设点和多个第二站点中,各第二站点之间的距离依次遍历多个第二站点,其过程可以包括:先分别确定预设点与多个第二站点中各第二站点之间的距离;并根据距离由小到大的顺序,依次遍历多个第二站点;还可以按照任意顺序,依次遍历多个第二站点,具体可以根据实际需要进行设置,在此,本公开实施例只是以离由小到大的顺序,依次遍历多个第二站点为例进行说明,但并不代表本公开实施例仅局限于此。
示例的,在根据当前遍历的第二站点的道路标识,与预设数量个对象各自的道路标识,确定当前遍历的第二站点所属的目标聚类时,可以将当前遍历的第二站点的道路标识,与预设数量个对象各自的道路标识进行比较,若预设数量个对象中存在目标对象的道路标识,与当前遍历的第二站点的道路标识相同,则说明该目标对象和当前遍历的第二站点的空间距离比较接近,因此,可以将当前遍历的第二站点与目标对象确定为一个目标聚类;相反的,若预设数量个对象中不存在与当前遍历的第二站点的道路标识相同的对象,则无法根据各对象的道路标识和当前遍历的第二站点的道路标识,确定当前遍历的第二站点所属的目标聚类,因此,可以进一步确定预设数量个对象中,各对象与当前遍历的第二站点之间的距离,并根据距离,从预设数量个对象中,确定与当前遍历的第二站点距离最近的一个对象,再将距离最近的一个对象,和当前遍历的第二站点划分至当前遍历的第二站点所属的目标聚类。
可以理解的是,当预设数量个对象中,与当前遍历的第二站点距离最近的一个对象为第一聚类时,可以将该当前遍历的第二站点划分至第一聚类中,得到的聚类即为当前遍历的第二站点所属的目标聚类;当预设数量个对象中,与当前遍历的第二站点距离最近的一个对象为其它第二站点时,可以将该当前遍历的第二站点和该其它第二站点合并为一个新的聚类,该新的聚类即为当前遍历的第二站点所属的目标聚类。需要说明的是,在将该当前遍历的第二站点和该其它第二站点合并为一个新的聚类后,可以无需再对该其它第二站点进行遍历,这样可以降低数据的处理量,从而提高了目标路线的确定效率。
可以看出,本公开实施例中,在确定多个站点对应的多个目标聚类时,可以先对多个站点进行聚类处理,得到多个初始聚类;若多个初始聚类中存在包括站点数量大于第一阈值的目标初始聚类,则根据目标初始聚类中各站点的道路标识,对目标初始聚类进行拆分处理,得到多个第一聚类和多个第二站点;再基于多个第一聚类和多个第二站点确定多个目标聚类,这样通过对多个站点进行聚类处理,可以将多个站点控制在一定范围内做路线计算,可以有效地解决因站点坐标精度差异出现大范围绕路的问题,后续更有利于确定最终的目标路线。
基于上述图6所示的实施例,可以看出,在基于多个初始聚类确定多个目标聚类时,需要结合站点的道路标识进行确定。下面,将通过下述图7所示的实施例三,详细描述在本公开实施例中,如何确定站点的道路标识。
实施例三
图7是根据本公开第三实施例提供的路线的确定方法的流程示意图,该路线的确定方法可以由软件和/或硬件装置执行,例如,该硬件装置可以为终端或者服务器。示例的,请参见图7所示,该路线的确定方法可以包括:
S701、根据预设长宽,对地图路网的道路数据进行切分,得到对应的多个网格;其中,每一个网格中包括多条道路数据。
考虑到现有地图中站点的坐标精度差异,因此,可以将站点绑定在道路标识上,以通过道路标识对站点进行描述。示例的,在将站点绑定在道路标识上时,可以先将多个站点在地图中的经纬度坐标转换为墨卡托坐标,并将地图路网中的道路数构建网格索引,再按照预设长度,作为步长对地图路网的道路数据进行划分,得到多个网格,示例的,请参见图8所示,图8是本公开实施例提供的一种对地图路网的道路数据进行切分后的示意图,可以看出,划分得到的多个网格中,每一个网格中包括多条道路数据。需要说明的是,本公开实施例中的道路数据可以理解为道路link数据。
在对地图路网的道路数据进行切分,得到对应的多个网格后,就可以根据多个站点中各站点的墨卡托坐标,分别确定各站点在多个网格中所属的目标网格,即执行下述S702:
S702、根据各站点的墨卡托坐标,分别确定各站点在多个网格中所属的目标网格。
S703、针对各站点,根据站点与站点所属的目标网格中各条道路数据之间的距离,确定站点的道路标识。
可以理解的是,鉴于在确定多个站点中各站点的道路标识时,每一个站点的道路标识的确定方法类似,因此,为了避免赘述,本公开实施例中,将以确定任一个站点的道路标识为例,对如何确定多个站点中各站点的道路标识进行详细描述。
示例的,本公开实施例中,在根据站点与站点所属的目标网格中各条道路数据之间的距离,确定站点的道路标识时,可以先计算站点与其所属的目标网格中各条道路数据之间的距离,并根据站点与其所属的目标网格中各条道路数据之间的距离,从多条道路数据中确定与站点距离最近的第一道路数据,及与站点距离次近的第二道路数据;再根据第一道路数据的道路标识和第二道路数据的道路标识,确定站点的道路标识。其中,与站点距离最近的第一道路数据,可以理解为计算出的多个距离中,与站点距离最短的道路数据;与站点距离次近的第二道路数据,可以理解为计算出的多个距离中,与站点距离此短的道路数据。
示例的,在根据第一道路数据的道路标识和第二道路数据的道路标识,确定站点的道路标识时,若第一道路数据的道路标识和第二道路数据的道路标识相同,则可以直接将相同的道路标识确定为站点的道路标识,即可以将第一道路数据的道路标识确定为站点的道路标识,也可以将第二道路数据的道路标识确定为站点的道路标识。相反的,若第一道路数据的道路标识和第二道路数据的道路标识不同,则可以分别确定第一道路数据对应的第一距离和第二道路数据对应的第二距离,再根据第一道路数据对应的第一距离和第二道路数据对应的第二距离,确定站点的道路标识。
示例的,在根据第一道路数据对应的第一距离和第二道路数据对应的第二距离,确定站点的道路标识时,可以先确定第一距离和第二距离的比值;再根据比值确定站点的道路标识,若比值小于第二阈值,则将第一道路数据的道路标识,确定为站点的道路标识;相反的,若比值大于或等于第二阈值,则将第一道路数据的道路标识和第二道路数据的道路标识均确定为站点的道路标识。其中,第二阈值的取值可以根据实际需要进行设置,在此,对于第二阈值的取值,本公开实施例不做具体限制。
可以看出,本公开实施例中,在确定站点的道路标识时,可以先根据预设长宽,对地图路网的道路数据进行切分,得到对应的多个网格;并根据各站点的墨卡托坐标,分别确定各站点在多个网格中所属的目标网格;针对各站点,再根据站点与站点所属的目标网格中各条道路数据之间的距离,确定站点的道路标识,这样后续可以基于各站点的道路标识,对多个站点进行聚类处理,可以将多个站点控制在一定范围内做路线计算,可以有效地解决因站点坐标精度差异出现大范围绕路的问题,后续更有利于确定最终的目标路线。
基于上述任一实施例,在对多个站点进行聚类处理,得到对应的多个目标聚类后,就可以根据预设点和各目标聚类中与预设点距离最近的目标站点确定初始路线,鉴于该初始路线中仅包括预设点和各目标聚类中与预设点距离最近的目标站点,并不包括各目标聚类中除目标站点之外的其它站点,因此,可以在确定出的初始路线的基础上,分别将各目标聚类中除目标站点之外的其它站点插入至初始路线中,以得到最终的目标路线。
示例的,在分别将各目标聚类中除目标站点之外的其他站点插入至初始路线中时,可以按照初始路线的走向,依次遍历各目标聚类,将各目标聚类中除目标站点之外的其它站点插入至初始路线中;也可以按照任意顺序,依次遍历各目标聚类,将各目标聚类中除目标站点之外的其他站点插入至初始路线中,具体可以根据实际需要进行设置。
本公开实施例中,将以按照初始路线的走向,依次遍历各目标聚类,将各目标聚类中除目标站点之外的其它站点插入至初始路线中为例,对如何将各目标聚类中除目标站点之外的其它站点插入至初始路线中进行描述。为了便于理解在本公开实施例中,如何按照初始路线的走向,依次遍历各目标聚类,将各目标聚类中除目标站点之外的其它站点插入至初始路线,以得到最终的目标路线,下面,将通过下述图9所示的实施例四进行详细描述。
实施例四
图9是根据本公开第四实施例提供的路线的确定方法的流程示意图,该路线的确定方法可以由软件和/或硬件装置执行,例如,该硬件装置可以为终端或者服务器。示例的,请参见图9所示,该路线的确定方法可以包括:
S901、按照初始路线的走向,从第一个目标聚类开始遍历,将第一个目标聚类中的其它站点,插入至初始路线中预设点与第一个目标聚类的第一目标站点之间,得到第一插入路线。
可以理解的是,在将第一个目标聚类中的其它站点插入至预设点与第一个目标聚类的第一目标站点之间时,会存在多个不同的插入位置,将其它站点插入值不同的插入位置后,对应得到的第一插入路线的距离也会不同。
鉴于本公开实施例中,为了得到距离最短的最优路线,示例的,可以从预设点与第一目标站点之间存在的多个不同的插入位置中确定,使得第一插入路线距离最短的插入位置,这样得到的第一插入路线为预设点与第一目标站点距离最短的路线,从而得到第一插入路线。
此外,在将第一个目标聚类中的其它站点插入至初始路线中时,考虑到贪心算法计算更简单,且对导航距离问题的适应性较好,对距离异常有一定的容错能力,优化的贪心算法方案,能够保证局部网点的顺序性,因此,还可以将其它站点,插入至初始路线中第一目标站点与下一个目标聚类的目标站点之间,即执行下述S902,以分区域插入其它站点。
S902、将第一个目标聚类中的其它站点,插入至初始路线中第一目标站点与下一个目标聚类的目标站点之间,得到第二插入路线。
同样可以理解的是,在将第一个目标聚类中的其它站点插入至第一目标站点与下一个目标聚类的目标站点之间时,会存在多个不同的插入位置,将其它站点插入值不同的插入位置后,对应的得到的第二插入路线的距离也会不同。
鉴于本公开实施例中,为了得到距离最短的最优路线,示例的,可以从第一目标站点与下一个目标聚类的目标站点之间存在的多个不同的插入位置中确定,使得第二插入路线距离最短的插入位置,这样得到的第二插入路线为第一目标站点与下一个目标聚类的目标站点距离最短的路线,从而得到第二插入路线。
结合上述S901和S902分别得到第一插入路线和第二插入路线后,就可以进一步根据该第一插入路线和第二插入路线,确定第一个目标聚类中的其它站点的最终插入,得到该其它站点插入后的初始路线,可记为第一初始路线,之后,再在该第一初始路线的基础上,继续对后续其它目标聚类中的其它站点进行插入,直至最终的目标路线,即执行下述S903:
S903、根据第一插入路线和第二插入路线,确定第一个目标聚类中的其它站点的插入位置,得到第一初始路线,并将第一初始路线作为新的初始路线,将下一个目标聚类的目标站点的前一个站点作为新的预设点,以遍历第二个目标聚类,直至遍历至最后一个目标聚类,并确定最后一个目标聚类中的其它站点的插入位置,得到目标线路。
示例的,在根据第一插入路线和第二插入路线,确定第一个目标聚类中的其它站点的插入位置,得到第一初始路线时,可以先确定第一插入路线中预设点与第一目标站点之间的距离,和第一个目标聚类中的其它站点插入之前,初始路线中预设点与第一目标站点之间的距离之间的第一增量;并确定第二插入路线中第一目标站点与下一个目标聚类的目标站点之间的距离,和第一个目标聚类中的其它站点插入之前,初始路线中第一目标站点与下一个目标聚类的目标站点之间的距离之间的第二增量;再根据第一增量和第二增量确定第一个目标聚类中的其它站点的插入位置,得到第一初始路线。
示例的,若第一增量小于第二增量,则将第一插入路线中的插入位置,确定为第一个目标聚类中的其它站点的插入位置进行插入,得到第一初始路线,即将第一插入路线确定为第一初始路线;若第一增量大于第二增量,则将第二插入路线中的插入位置,确定为第一个目标聚类中的其它站点的插入位置进行插入,得到第一初始路线,即将第二插入路线确定为第一初始路线;若第一增量等于第二增量,则将第一插入路线中的插入位置,或者,第二插入路线中的插入位置,确定为第一个目标聚类中的其它站点的插入位置进行插入,得到第一初始路线。
在得到第一初始路线后,就可以在该第一初始路线的基础上,继续对后续其它目标聚类中的其它站点进行插入,即将该第一初始路线作为新的初始路线,并将下一个目标聚类的目标站点的前一个站点作为新的预设点,以遍历第二个目标聚类,直至遍历至最后一个目标聚类,并确定最后一个目标聚类中的其它站点的插入位置,得到目标线路。
示例的,结合上述图4所示,假设对多个站点,站点a、站点b、站点c、站点d,站点e、站点f、站点g、站点h以及站点i进行聚类处理后,得到3个目标聚类,并根据预设点和3个目标聚类中目标站点得到初始路线,且初始路线的走向为:由预设点出发、先经过目标站点a、再经过目标站点b、目标站点c,最终回到预设点;以按照初始路线的走向为例,可以将3个目标聚类中的其它站点分别插入初始路线中,其过程可以包括:
(1)按照初始路线的走向,先遍历第一个聚类,即目标站点为站点a的聚类,在将该第一个聚类中的其它站点d插入至初始路线中时,可以先将该目标站点a记为Li,将其前一个站点,即预设点记为Li-1,第二个聚类中的目标聚类b记为Li+1,然后,再尝试将其它站点d插入至Li-1和Li中,得到插入后Li-1与Li距离最短的第一插入路线;并尝试将其它站点d插入至Li和Li+1中,得到插入后Li与Li+1距离最短的第二插入路线;再分别计算第一插入路线相比于,其它站点d插入前初始路线中Li-1与Li距离的增量,可记为第一增量,及计算第二插入路线相比于,其它站点d插入前初始路线中Li与Li+1距离的增量,可记为第二增量,假设第一增量大于第二增量,则将第二插入路线中的插入位置确定为该其它站点d的最终插入位置,并将第二插入路线确定为其它站点d插入至初始路线后,得到的路线,可记为第一初始路线。
(2)再遍历第二目标聚类,即目标站点b所属的聚类,在将该第二个聚类中的其它站点,包括站点e、站点f以及站点g,插入至第一初始路线中时,即将该第一初始路线作为新的初始路线,可以依次将站点e、站点f以及站点g,插入至第一初始路线中。可以理解的是,在将站点e、站点f以及站点g,插入至第一初始路线中,其插入方法类似,下面,将以将站点e插入至第一初始路线中为例进行说明,在将站点e插入至第一初始路线中时,可以先将该目标站点b记为Li,将第一初始路线中目标站点b的前一个站点,即站点d记为Li-1,第三个聚类中的目标聚类c记为Li+1,然后,再尝试将站点e插入至Li-1和Li中,得到插入后Li-1与Li距离最短的第一插入路线;并尝试将站点e插入至Li和Li+1中,得到插入后Li与Li+1距离最短的第二插入路线;再分别计算第一插入路线相比于,站点e插入前第一初始路线中Li-1与Li距离的增量,可记为第一增量,及计算第二插入路线相比于,站点e插入前第一初始路线中Li与Li+1距离的增量,可记为第二增量,假设第一增量大于第二增量,则将第二插入路线中的插入位置确定为该站点e的最终插入位置;类似的,再执行站点f和站点g的插入操作时,与上述站点e对应的插入操作类似,仍然将该目标站点b记为Li,将第一初始路线中目标站点b的前一个站点,即站点d记为Li-1,第三个聚类中的目标聚类c记为Li+1进行插入,在此,本公开实施例不再进行赘述,同样假设站点f和站点g各自对应的第一增量均大于第二增量,则将第二插入路线中的插入位置确定为该站点f和站点g的最终插入位置,并将站点e、站点f以及站点g插入后的第二插入路线确定新的第一初始路线。
(3)再遍历第三目标聚类,即目标站点c所属的聚类,在将该第三个聚类中的其它站点,包括站点h和站点i,插入至上述(2)得到的第一初始路线中时,即将上述(2)得到的第一初始路线作为新的初始路线,可以依次将站点h和站点i,插入至该第一初始路线中。可以理解的是,在将站点h和站点i插入至第一初始路线中,其插入方法类似,下面,将以将站点h插入至第一初始路线中为例进行说明,在将站点h插入至第一初始路线中时,可以先将该目标站点c记为Li,将第一初始路线中目标站点c的前一个站点,即站点g记为Li-1,预设点记为Li+1,然后,再尝试将站点h插入至Li-1和Li中,得到插入后Li-1与Li距离最短的第一插入路线;并尝试将站点h插入至Li和Li+1中,得到插入后Li与Li+1距离最短的第二插入路线;再分别计算第一插入路线相比于,站点h插入前第一初始路线中Li-1与Li距离的增量,可记为第一增量,及计算第二插入路线相比于,站点h插入前第一初始路线中Li与Li+1距离的增量,可记为第二增量,假设第一增量小于第二增量,则将第一插入路线中的插入位置确定为该站点h的最终插入位置;类似的,再执行站点i的插入操作时,与上述站点h对应的插入操作类似,仍然将该目标站点c记为Li,将第一初始路线中目标站点c的前一个站点,即站点g记为Li-1,预设点记为Li+1进行插入,在此,本公开实施例不再进行赘述,同样假设第一增量小于第二增量,则将第一插入路线中的插入位置确定为该站点i的最终插入位置,则将第二插入路线中的插入位置确定为该站点i的最终插入位置,并将站点h和站点i插入后的第一插入路线确定最终的目标路线,可结合上述图5所示,这样可以通过采用优化的贪心算法方案,在对其它站点进行插入时,能够保证局部网点的顺序性,因此,使得最终确定的目标路线中不会存在折返、绕路等问题,从而提高了确定出的最优路线的准确度。
可以看出,本公开实施例中,在将各目标聚类中除目标站点之外的其它站点插入至初始路线时,可以先按照初始路线的走向,从第一个目标聚类开始遍历,将目标聚类中的其它站点分区域进行插入,直至遍历至最后一个目标聚类,得到目标线路,这样能够保证局部网点的顺序性,因此,使得最终确定的目标路线中不会存在折返、绕路等问题,从而提高了确定出的最优路线的准确度。
实施例五
图10是根据本公开第五实施例提供的路线的确定装置110的结构示意图,示例的,请参见图10所示,该路线的确定装置110可以包括:
接收单元1001,用于接收用于确定路线的请求消息;其中,请求消息中包括一个预设点和对应的多个站点。
处理单元1002,用于对多个站点进行聚类处理,得到对应的多个目标聚类,并根据预设点和各目标聚类中与预设点距离最近的目标站点确定初始路线。
插入单元1003,用于分别将各目标聚类中除目标站点之外的其它站点插入至初始路线中,得到目标路线;其中,目标路线中的起始点和终止点均为预设点。
可选的,插入单元1003包括第一插入模块。
第一插入模块,用于按照初始路线的走向,依次遍历各目标聚类,将各目标聚类中除目标站点之外的其它站点插入至初始路线中,得到目标路线。
可选的,第一插入模块包括第一插入子模块、第二插入子模块以及第三插入子模块。
第一插入子模块,用于按照初始路线的走向,从第一个目标聚类开始遍历,将第一个目标聚类中的其它站点,插入至初始路线中预设点与第一个目标聚类的第一目标站点之间,得到第一插入路线。
第二插入子模块,用于将第一个目标聚类中的其它站点,插入至初始路线中第一目标站点与下一个目标聚类的目标站点之间,得到第二插入路线。
第三插入子模块,用于根据第一插入路线和第二插入路线,确定第一个目标聚类中的其它站点的插入位置,得到第一初始路线,并将第一初始路线作为新的初始路线,将下一个目标聚类的目标站点的前一个站点作为新的预设点,以遍历第二个目标聚类,直至遍历至最后一个目标聚类,并确定最后一个目标聚类中的其它站点的插入位置,得到目标线路。
可选的,第一插入路线为预设点与第一目标站点距离最短的路线,第二插入路线为第一目标站点与下一个目标聚类的目标站点距离最短的路线。
其中,第三插入子模块,具体用于确定第一插入路线中预设点与第一目标站点之间的距离,和初始路线中预设点与第一目标站点之间的距离之间的第一增量;并确定第二插入路线中第一目标站点与下一个目标聚类的目标站点之间的距离,和初始路线中第一目标站点与下一个目标聚类的目标站点之间的距离之间的第二增量;再根据第一增量和第二增量确定第一个目标聚类中的其它站点的插入位置,得到第一初始路线。
可选的,第三插入子模块,具体用于若第一增量小于第二增量,则将第一插入路线中的插入位置,确定为第一个目标聚类中的其它站点的插入位置进行插入,得到第一初始路线;若第一增量大于第二增量,则将第二插入路线中的插入位置,确定为第一个目标聚类中的其它站点的插入位置进行插入,得到第一初始路线;若第一增量等于第二增量,则将第一插入路线中的插入位置,或者,第二插入路线中的插入位置,确定为第一个目标聚类中的其它站点的插入位置进行插入,得到第一初始路线。
可选的,处理单元1002包括第一处理模块、第二处理模块以及第三处理模块。
第一处理模块,用于对多个站点进行聚类处理,得到多个初始聚类。
第二处理模块,用于若多个初始聚类中存在包括站点数量大于第一阈值的目标初始聚类,则根据目标初始聚类中各站点的道路标识,对目标初始聚类进行拆分处理,得到多个第一聚类和与第一聚类中第一站点的道路标识不同的多个第二站点;其中,第一聚类中包括的第一站点数量小于第一阈值。
第三处理模块,用于基于多个第一聚类和多个第二站点,确定多个目标聚类。
可选的,第三处理模块包括第一处理子模块和第二处理子模块。
第一处理子模块,用于依次遍历多个第二站点,针对当前遍历的第二站点,分别确定当前遍历的第二站点与多个第一聚类和其它第二站点之间的距离,并从多个第一聚类和其它第二站点中,确定与当前遍历的第二站点距离最近的预设数量个对象。
第二处理子模块,用于根据当前遍历的第二站点的道路标识,与预设数量个对象各自的道路标识,确定当前遍历的第二站点所属的目标聚类。
可选的,第二处理子模块,具体用于若预设数量个对象中存在目标对象的道路标识,与当前遍历的第二站点的道路标识相同,则将当前遍历的第二站点与目标对象确定为目标聚类;若预设数量个对象中不存在与当前遍历的第二站点的道路标识相同的对象,则将预设数量个对象中与当前遍历的第二站点距离最近的一个对象,和当前遍历的第二站点划分至当前遍历的第二站点所属的目标聚类。
可选的,第一处理子模块,具体用于分别确定预设点与多个第二站点中各第二站点之间的距离;并根据距离由小到大的顺序,依次遍历多个第二站点。
可选的,该路线的确定装置110还包括:切分单元、第一确定单元以及第二确定单元。
切分单元,用于根据预设长宽,对地图路网的道路数据进行切分,得到对应的多个网格;其中,每一个网格中包括多条道路数据。
第一确定单元,用于根据各站点的墨卡托坐标,确定各站点在多个网格中所属的目标网格。
第二确定单元,用于针对各站点,根据站点与站点所属的目标网格中各条道路数据之间的距离,确定站点的道路标识。
可选的,第二确定单元包括第一确定模块和第二确定模块。
第一确定模块,用于根据站点与站点所属的目标网格中各条道路数据之间的距离,从多条道路数据中确定与站点距离最近的第一道路数据,及与站点距离次近的第二道路数据。
第二确定模块,用于根据第一道路数据的道路标识和第二道路数据的道路标识,确定站点的道路标识。
可选的,第二确定模块包括第一确定子模块和第二确定子模块。
第一确定子模块,用于若第一道路数据的道路标识和第二道路数据的道路标识相同,则将相同的道路标识确定为站点的道路标识。
第二确定子模块,用于若第一道路数据的道路标识和第二道路数据的道路标识不同,则根据第一道路数据对应的第一距离和第二道路数据对应的第二距离,确定站点的道路标识。
可选的,第二确定子模块,具体用于确定第一距离和第二距离的比值;若比值小于第二阈值,则将第一道路数据的道路标识,确定为站点的道路标识;若比值大于或等于第二阈值,则将第一道路数据的道路标识和第二道路数据的道路标识均确定为站点的道路标识。
本公开实施例提供的路线的确定装置110,可以执行上述任一实施例所示的路线的确定方法的技术方案,其实现原理以及有益效果与路线的确定方法的实现原理及有益效果类似,可参见路线的确定方法的实现原理及有益效果,此处不再进行赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的路线的确定方法的技术方案。
图11是本公开实施例提供的一种电子设备110的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图11所示,设备110包括计算单元1101,其可以根据存储在只读存储器(ROM)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(RAM)1103中的计算机程序,来执行各种适当的动作和处理。在RAM1103中,还可存储设备110操作所需的各种程序和数据。计算单元1101、ROM1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
设备110中的多个部件连接至I/O接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备110通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如路线的确定方法。例如,在一些实施例中,路线的确定方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1102和/或通信单元1109而被载入和/或安装到设备110上。当计算机程序加载到RAM 1103并由计算单元1101执行时,可以执行上文描述的路线的确定方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行路线的确定方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (29)

1.一种路线的确定方法,包括:
接收用于确定路线的请求消息;其中,所述请求消息中包括一个预设点和对应的多个站点;
对所述多个站点进行聚类处理,得到对应的多个目标聚类,并根据所述预设点和各目标聚类中与所述预设点距离最近的目标站点确定初始路线;
分别将所述各目标聚类中除所述目标站点之外的其它站点插入至所述初始路线中,得到所述目标路线;其中,所述目标路线中的起始点和终止点均为所述预设点。
2.根据权利要求1所述的方法,其中,所述分别将所述各目标聚类中除所述目标站点之外的其它站点插入至所述初始路线中,得到所述目标路线,包括:
按照所述初始路线的走向,依次遍历所述各目标聚类,将所述各目标聚类中除所述目标站点之外的其它站点插入至所述初始路线中,得到所述目标路线。
3.根据权利要求2所述的方法,其中,所述按照所述初始路线的走向,依次遍历所述各目标聚类,将所述各目标聚类中除所述目标站点之外的其它站点插入至所述初始路线中,得到所述目标路线,包括:
按照所述初始路线的走向,从第一个目标聚类开始遍历,将所述第一个目标聚类中的其它站点,插入至所述初始路线中所述预设点与所述第一个目标聚类的第一目标站点之间,得到第一插入路线;
将所述第一个目标聚类中的其它站点,插入至所述初始路线中所述第一目标站点与下一个目标聚类的目标站点之间,得到第二插入路线;
根据所述第一插入路线和所述第二插入路线,确定所述第一个目标聚类中的其它站点的插入位置,得到第一初始路线,并将所述第一初始路线作为新的初始路线,将所述下一个目标聚类的目标站点的前一个站点作为新的预设点,以遍历第二个目标聚类,直至遍历至最后一个目标聚类,并确定所述最后一个目标聚类中的其它站点的插入位置,得到所述目标线路。
4.根据权利要求3所述的方法,其中,所述第一插入路线为所述预设点与所述第一目标站点距离最短的路线,所述第二插入路线为所述第一目标站点与所述下一个目标聚类的目标站点距离最短的路线;
其中,所述根据所述第一插入路线和所述第二插入路线,确定所述第一个目标聚类中的其它站点的插入位置,得到第一初始路线,包括:
确定所述第一插入路线中所述预设点与所述第一目标站点之间的距离,和所述初始路线中所述预设点与所述第一目标站点之间的距离之间的第一增量;
确定所述第二插入路线中所述第一目标站点与所述下一个目标聚类的目标站点之间的距离,和所述初始路线中所述第一目标站点与所述下一个目标聚类的目标站点之间的距离之间的第二增量;
根据所述第一增量和所述第二增量确定所述第一个目标聚类中的其它站点的插入位置,得到所述第一初始路线。
5.根据权利要求4所述的方法,其中,所述根据所述第一增量和所述第二增量确定所述第一个目标聚类中的其它站点的插入位置,得到所述第一初始路线,包括:
若所述第一增量小于所述第二增量,则将所述第一插入路线中的插入位置,确定为所述第一个目标聚类中的其它站点的插入位置进行插入,得到所述第一初始路线;
若所述第一增量大于所述第二增量,则将所述第二插入路线中的插入位置,确定为所述第一个目标聚类中的其它站点的插入位置进行插入,得到所述第一初始路线;
若所述第一增量等于所述第二增量,则将所述第一插入路线中的插入位置,或者,所述第二插入路线中的插入位置,确定为所述第一个目标聚类中的其它站点的插入位置进行插入,得到所述第一初始路线。
6.根据权利要求1-5任一项所述的方法,其中,所述对所述多个站点进行聚类处理,得到对应的多个目标聚类,包括:
对所述多个站点进行聚类处理,得到多个初始聚类;
若所述多个初始聚类中存在包括站点数量大于第一阈值的目标初始聚类,则根据所述目标初始聚类中各站点的道路标识,对所述目标初始聚类进行拆分处理,得到多个第一聚类和与所述第一聚类中第一站点的道路标识不同的多个第二站点;其中,所述第一聚类中包括的第一站点数量小于所述第一阈值;
基于所述多个第一聚类和所述多个第二站点,确定所述多个目标聚类。
7.根据权利要求6所述的方法,其中,所述基于所述多个第一聚类和所述多个第二站点,确定所述多个目标聚类,包括:
依次遍历所述多个第二站点,针对当前遍历的第二站点,分别确定所述当前遍历的第二站点与所述多个第一聚类和其它第二站点之间的距离,并从所述多个第一聚类和其它第二站点中,确定与所述当前遍历的第二站点距离最近的预设数量个对象;
根据所述当前遍历的第二站点的道路标识,与所述预设数量个对象各自的道路标识,确定所述当前遍历的第二站点所属的目标聚类。
8.根据权利要求7所述的方法,其中,所述根据所述当前遍历的第二站点的道路标识,与所述预设数量个对象各自的道路标识,确定所述当前遍历的第二站点所属的目标聚类,包括:
若所述预设数量个对象中存在目标对象的道路标识,与所述当前遍历的第二站点的道路标识相同,则将所述当前遍历的第二站点与所述目标对象确定为所述目标聚类;
若所述预设数量个对象中不存在与所述当前遍历的第二站点的道路标识相同的对象,则将所述预设数量个对象中与所述当前遍历的第二站点距离最近的一个对象,和所述当前遍历的第二站点划分至所述当前遍历的第二站点所属的目标聚类。
9.根据权利要求7或8所述的方法,其中,所述依次遍历所述多个第二站点,包括:
分别确定所述预设点与所述多个第二站点中各第二站点之间的距离;
根据距离由小到大的顺序,依次遍历所述多个第二站点。
10.根据权利要求6-9任一项所述的方法,所述方法还包括:
根据预设长宽,对地图路网的道路数据进行切分,得到对应的多个网格;其中,每一个网格中包括多条道路数据;
根据所述各站点的墨卡托坐标,确定所述各站点在所述多个网格中所属的目标网格;
针对所述各站点,根据所述站点与所述站点所属的目标网格中各条道路数据之间的距离,确定所述站点的道路标识。
11.根据权利要求10所述的方法,其中,所述根据所述站点与所述站点所属的目标网格中各条道路数据之间的距离,确定所述站点的道路标识,包括:
根据所述站点与所述站点所属的目标网格中各条道路数据之间的距离,从所述多条道路数据中确定与所述站点距离最近的第一道路数据,及与所述站点距离次近的第二道路数据;
根据所述第一道路数据的道路标识和所述第二道路数据的道路标识,确定所述站点的道路标识。
12.根据权利要求11所述的方法,其中,所述根据所述第一道路数据的道路标识和所述第二道路数据的道路标识,确定所述站点的道路标识,包括:
若所述第一道路数据的道路标识和所述第二道路数据的道路标识相同,则将相同的道路标识确定为所述站点的道路标识;
若所述第一道路数据的道路标识和所述第二道路数据的道路标识不同,则根据所述第一道路数据对应的第一距离和所述第二道路数据对应的第二距离,确定所述站点的道路标识。
13.根据权利要求12所述的方法,其中,所述根据所述第一道路数据对应的第一距离和所述第二道路数据对应的第二距离,确定所述站点的道路标识,包括:
确定所述第一距离和所述第二距离的比值;
若所述比值小于第二阈值,则将所述第一道路数据的道路标识,确定为所述站点的道路标识;
若所述比值大于或等于第二阈值,则将所述第一道路数据的道路标识和所述第二道路数据的道路标识均确定为所述站点的道路标识。
14.一种路线的确定装置,包括:
接收单元,用于接收用于确定路线的请求消息;其中,所述请求消息中包括一个预设点和对应的多个站点;
处理单元,用于对所述多个站点进行聚类处理,得到对应的多个目标聚类,并根据所述预设点和各目标聚类中与所述预设点距离最近的目标站点确定初始路线;
插入单元,用于分别将所述各目标聚类中除所述目标站点之外的其它站点插入至所述初始路线中,得到所述目标路线;其中,所述目标路线中的起始点和终止点均为所述预设点。
15.根据权利要求14所述的装置,其中,所述插入单元包括第一插入模块;
所述第一插入模块,用于按照所述初始路线的走向,依次遍历所述各目标聚类,将所述各目标聚类中除所述目标站点之外的其它站点插入至所述初始路线中,得到所述目标路线。
16.根据权利要求15所述的装置,其中,所述第一插入模块包括第一插入子模块、第二插入子模块以及第三插入子模块;
所述第一插入子模块,用于按照所述初始路线的走向,从第一个目标聚类开始遍历,将所述第一个目标聚类中的其它站点,插入至所述初始路线中所述预设点与所述第一个目标聚类的第一目标站点之间,得到第一插入路线;
所述第二插入子模块,用于将所述第一个目标聚类中的其它站点,插入至所述初始路线中所述第一目标站点与下一个目标聚类的目标站点之间,得到第二插入路线;
所述第三插入子模块,用于根据所述第一插入路线和所述第二插入路线,确定所述第一个目标聚类中的其它站点的插入位置,得到第一初始路线,并将所述第一初始路线作为新的初始路线,将所述下一个目标聚类的目标站点的前一个站点作为新的预设点,以遍历第二个目标聚类,直至遍历至最后一个目标聚类,并确定所述最后一个目标聚类中的其它站点的插入位置,得到所述目标线路。
17.根据权利要求16所述的装置,其中,所述第一插入路线为所述预设点与所述第一目标站点距离最短的路线,所述第二插入路线为所述第一目标站点与所述下一个目标聚类的目标站点距离最短的路线;
其中,所述第三插入子模块,具体用于确定所述第一插入路线中所述预设点与所述第一目标站点之间的距离,和所述初始路线中所述预设点与所述第一目标站点之间的距离之间的第一增量;并确定所述第二插入路线中所述第一目标站点与所述下一个目标聚类的目标站点之间的距离,和所述初始路线中所述第一目标站点与所述下一个目标聚类的目标站点之间的距离之间的第二增量;再根据所述第一增量和所述第二增量确定所述第一个目标聚类中的其它站点的插入位置,得到所述第一初始路线。
18.根据权利要求17所述的装置,其中,
所述第三插入子模块,具体用于若所述第一增量小于所述第二增量,则将所述第一插入路线中的插入位置,确定为所述第一个目标聚类中的其它站点的插入位置进行插入,得到所述第一初始路线;若所述第一增量大于所述第二增量,则将所述第二插入路线中的插入位置,确定为所述第一个目标聚类中的其它站点的插入位置进行插入,得到所述第一初始路线;若所述第一增量等于所述第二增量,则将所述第一插入路线中的插入位置,或者,所述第二插入路线中的插入位置,确定为所述第一个目标聚类中的其它站点的插入位置进行插入,得到所述第一初始路线。
19.根据权利要求14-18任一项所述的装置,其中,所述处理单元包括第一处理模块、第二处理模块以及第三处理模块;
所述第一处理模块,用于对所述多个站点进行聚类处理,得到多个初始聚类;
所述第二处理模块,用于若所述多个初始聚类中存在包括站点数量大于第一阈值的目标初始聚类,则根据所述目标初始聚类中各站点的道路标识,对所述目标初始聚类进行拆分处理,得到多个第一聚类和与所述第一聚类中第一站点的道路标识不同的多个第二站点;其中,所述第一聚类中包括的第一站点数量小于所述第一阈值;
所述第三处理模块,用于基于所述多个第一聚类和所述多个第二站点,确定所述多个目标聚类。
20.根据权利要求19所述的装置,其中,所述第三处理模块包括第一处理子模块和第二处理子模块;
所述第一处理子模块,用于依次遍历所述多个第二站点,针对当前遍历的第二站点,分别确定所述当前遍历的第二站点与所述多个第一聚类和其它第二站点之间的距离,并从所述多个第一聚类和其它第二站点中,确定与所述当前遍历的第二站点距离最近的预设数量个对象;
所述第二处理子模块,用于根据所述当前遍历的第二站点的道路标识,与所述预设数量个对象各自的道路标识,确定所述当前遍历的第二站点所属的目标聚类。
21.根据权利要求20所述的装置,其中,
所述第二处理子模块,具体用于若所述预设数量个对象中存在目标对象的道路标识,与所述当前遍历的第二站点的道路标识相同,则将所述当前遍历的第二站点与所述目标对象确定为所述目标聚类;若所述预设数量个对象中不存在与所述当前遍历的第二站点的道路标识相同的对象,则将所述预设数量个对象中与所述当前遍历的第二站点距离最近的一个对象,和所述当前遍历的第二站点划分至所述当前遍历的第二站点所属的目标聚类。
22.根据权利要求20或21所述的装置,其中,
所述第一处理子模块,具体用于分别确定所述预设点与所述多个第二站点中各第二站点之间的距离;并根据距离由小到大的顺序,依次遍历所述多个第二站点。
23.根据权利要求19-22任一项所述的装置,所述装置还包括:切分单元、第一确定单元以及第二确定单元;
所述切分单元,用于根据预设长宽,对地图路网的道路数据进行切分,得到对应的多个网格;其中,每一个网格中包括多条道路数据;
所述第一确定单元,用于根据所述各站点的墨卡托坐标,确定所述各站点在所述多个网格中所属的目标网格;
所述第二确定单元,用于针对所述各站点,根据所述站点与所述站点所属的目标网格中各条道路数据之间的距离,确定所述站点的道路标识。
24.根据权利要求23所述的装置,其中,所述第二确定单元包括第一确定模块和第二确定模块;
所述第一确定模块,用于根据所述站点与所述站点所属的目标网格中各条道路数据之间的距离,从所述多条道路数据中确定与所述站点距离最近的第一道路数据,及与所述站点距离次近的第二道路数据;
所述第二确定模块,用于根据所述第一道路数据的道路标识和所述第二道路数据的道路标识,确定所述站点的道路标识。
25.根据权利要求24所述的装置,其中,所述第二确定模块包括第一确定子模块和第二确定子模块;
所述第一确定子模块,用于若所述第一道路数据的道路标识和所述第二道路数据的道路标识相同,则将相同的道路标识确定为所述站点的道路标识;
所述第二确定子模块,用于若所述第一道路数据的道路标识和所述第二道路数据的道路标识不同,则根据所述第一道路数据对应的第一距离和所述第二道路数据对应的第二距离,确定所述站点的道路标识。
26.根据权利要求25所述的装置,其中,
所述第二确定子模块,具体用于确定所述第一距离和所述第二距离的比值;若所述比值小于第二阈值,则将所述第一道路数据的道路标识,确定为所述站点的道路标识;若所述比值大于或等于第二阈值,则将所述第一道路数据的道路标识和所述第二道路数据的道路标识均确定为所述站点的道路标识。
27.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的路线的确定方法。
28.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-13中任一项所述的路线的确定方法。
29.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-13中任一项所述的路线的确定方法的步骤。
CN202111020400.5A 2021-09-01 2021-09-01 路线的确定方法、装置和电子设备 Pending CN114330807A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111020400.5A CN114330807A (zh) 2021-09-01 2021-09-01 路线的确定方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111020400.5A CN114330807A (zh) 2021-09-01 2021-09-01 路线的确定方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN114330807A true CN114330807A (zh) 2022-04-12

Family

ID=81045693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111020400.5A Pending CN114330807A (zh) 2021-09-01 2021-09-01 路线的确定方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN114330807A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116545519A (zh) * 2023-05-09 2023-08-04 中国人民解放军61905部队 一种机动散射通信站点的规划方法、系统及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116545519A (zh) * 2023-05-09 2023-08-04 中国人民解放军61905部队 一种机动散射通信站点的规划方法、系统及电子设备
CN116545519B (zh) * 2023-05-09 2023-10-20 中国人民解放军61905部队 一种机动散射通信站点的规划方法、系统及电子设备

Similar Documents

Publication Publication Date Title
CN113240175B (zh) 配送路线的生成方法、设备、存储介质和程序产品
CN111044062B (zh) 路径规划、推荐方法和装置
EP4119896A2 (en) Method and apparatus for processing high-definition map data, electronic device, medium and product
CN113223113A (zh) 车道线处理方法、装置、电子设备和云控平台
CN114003613A (zh) 高精地图车道线更新方法、装置、电子设备以及存储介质
CN112559631A (zh) 分布式图数据库的数据处理方法、装置以及电子设备
CN114330807A (zh) 路线的确定方法、装置和电子设备
CN113190766A (zh) 路径规划方法、装置、电子设备及存储介质
CN112539761A (zh) 数据处理方法、装置、设备、存储介质及计算机程序产品
WO2023173831A1 (zh) 引导点的关联信息的更新方法和装置
CN115905322A (zh) 业务处理方法、装置、电子设备及存储介质
CN113139258A (zh) 道路数据处理方法、装置、设备及存储介质
CN112988932B (zh) 高精地图标注方法、装置、设备、可读存储介质及产品
CN114964295A (zh) 导航方法、装置、系统及电子设备
CN113723405A (zh) 区域轮廓的确定方法、装置和电子设备
CN112948517A (zh) 区域位置标定方法、装置及电子设备
CN113868532B (zh) 一种地点推荐方法、装置、电子设备及存储介质
CN114626169B (zh) 交通路网优化方法、装置、设备、可读存储介质及产品
CN113095537B (zh) 路径规划的方法和装置
CN113656425B (zh) 电子地图的更新方法、装置、电子设备、存储介质及产品
CN114323060A (zh) 距离确定方法及装置
CN113029178A (zh) 一种导航路径的确定方法、装置、设备以及存储介质
CN116150296A (zh) 一种路网骨架生成方法、装置、电子设备及存储介质
CN115730681A (zh) 模型训练方法、装置、设备以及存储介质
CN112861024A (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