CN105628043A - 一种浮动车车载终端的最优路径搜索方法及系统 - Google Patents
一种浮动车车载终端的最优路径搜索方法及系统 Download PDFInfo
- Publication number
- CN105628043A CN105628043A CN201510999148.5A CN201510999148A CN105628043A CN 105628043 A CN105628043 A CN 105628043A CN 201510999148 A CN201510999148 A CN 201510999148A CN 105628043 A CN105628043 A CN 105628043A
- Authority
- CN
- China
- Prior art keywords
- node
- road
- starting point
- point
- temp
- 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
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
Abstract
本发明公开了一种浮动车车载终端的最优路径搜索方法及系统,属于智能交通车载定位技术领域。该方法包括:首先将浮动车的前后两个定位点分别匹配到所在的两条道路上,然后各选取两条道路的一个道路结点分别作为起始点和终止点,根据道路结点与起始点和终止点之间的最短路径长度建立用于起始点和终止点之间路径搜索的结点集合,然后根据结点集合和结点集合的邻接矩阵进行起始点和终止点之间的最优路径搜索。采用本发明所提供的方法及系统,能够实现了两个道路结点之间最优路径的搜索,减少了搜索空间,提高了搜索效率,为城市道路拥堵分析提供了数据基础。
Description
技术领域
本发明涉及智能交通车载定位技术领域,具体涉及一种用于城市道路交通分析的启发式浮动车车载终端的最优路径搜索方法及系统。
背景技术
基于浮动车卫星定位数据的城市道路交通拥堵分析技术被认为是实现先进的交通诱导的重要途径,基于浮动车卫星定位数据交通参数检测技术作为一种新的检测方式,如何提高其检测性能是目前的核心问题。城市道路拥堵分析主要包括浮动车卫星定位数据获取、地图匹配、路径搜索、路段交通状态及路网拥堵计算、交通决策等内容。
卫星定位系统包括美国的GPS全球定位系统、中国的北斗卫星定位系统,俄罗斯的格洛纳斯全球卫星导航系统(GLOBALNAVIGATIONSATELLITESYSTEM,简称:GLONASS)和欧洲的伽利略卫星定位系统。卫星定位系统能够提供实时、全天候和全球性的导航服务,可以提供车辆定位、行驶路线监控等功能,具有的全天候、高精度和自动测量的特点,已经融入了国民经济建设、国防建设和社会发展的各个应用领域。随着城市车辆保有量的急剧增加,城市道路拥挤不堪,交通事故频频发生,把卫星定位系统用于城市道路拥堵收费,将显著提高城市道路运营的效率和增加行车的安全性。
浮动车数据采集是以交通信息获取为目的,不同于车载端每秒采集一次GPS数据,由于考虑经济因素,以及后台计算机数据处理的实时性的考虑,GPS数据采集的周期一般都在20-60s,导致周期内车辆行驶距离较长,GPS定位点之间相差好几个路段,从而需要搜索GPS定位点所在道路之间可能存在的路径。本发明正是针对该问题而提出了一种启发式浮动车车载终端路径搜索方法及系统。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种能够得到车载终端的相邻两个定位点之间最优路径的一种浮动车车载终端的最优路径搜索方法及系统。
为实现上述目的,本发明采用的技术方案如下:
一种浮动车车载终端的最优路径搜索方法,包括以下步骤:
步骤一、建立用于路径搜索的道路结点集合nIndNodes;建立结点集合nIndNodes的方式包括:
(11)采集浮动车的卫星定位数据,选取相邻的两个定位点,并根据卫星定位数据将两个定位点匹配到相应的道路,前一个定位点所在道路记为第一道路,后一个定位点所在道路记为第二道路;
(12)获取第一道路和第二道路的道路结点信息,选取第一道路的任一道路结点为起始点s,选取第二道路的任一道路结点为终止点e,将与起始点s的最短路径长度和与终止点e的最短路径长度均小于预设的路径搜索长度nPathLenLmt的道路结点添加到结点集合nIndNodes中,并建立结点集合nIndNodes的邻接矩阵ADJ;
其中,结点集合nIndNodes的长度记为nLen;邻接矩阵ADJ中的第p行第q列的元素为第p个道路结点与第q个道路结点间的路径长度,不互为邻接点的两个道路结点之间的路径长度设置为预设值Mval;
步骤二、根据所述结点集合nIndNodes和其邻接矩阵ADJ进行起始点s和终止点e之间的最优路径搜索。
进一步,如上所述的一种浮动车车载终端的最优路径搜索方法,步骤二中,进行起始点s和终止点e之间的最优路径搜索的方式包括:
(21)设置结点集合nIndNodes中每个道路结点的结点标识,结点m的结点标识记为(dm,pm),dm为起始点s到结点m的最短路径长度,pm为结点m的紧前结点;所述紧前结点是指起始点s到结点m的最短路径中结点m的前一结点;
设置清零标记集合pb,清零标记集合pb中的元素与结点集合nIndNodes中的元素一一对应,当结点集合nIndNodes中某一道路结点为起始点时,清零标记集合pb对应的元素置为1,否则置为0,初始化时pb(s)=1;
设置标号结点顺序集合index,标号结点顺序集合index中的元素为按顺序存放的起始点;初始化时index[1]=s;
(22)设置一临时变量temp,令初始化的temp=s;
(23)判断是否满足temp≠e且sum(pb)<nLen,若是,则进入步骤(24),若否,则进入步骤(30);sum(pb)为集合pb中所有元素的和;
(24)将清零标记集合pb中为零的元素所对应的道路结点组成集合tb,根据所述邻接矩阵获取结点temp的邻接点并组成集合CollInNode,取集合tb与CollInNode的交集记为IA;
(25)判断IA是否为空集,若是,则进入步骤(27),若否,则进入步骤(26);
(26)选取IA中的道路结点j作为新的起始点,并进入步骤(28);选取方式为:
遍历IA中的所有道路结点,对于每个道路结点j计算min[dj,dtemp+ltempj],选取最小的min[dj,dtemp+ltempj]所对应的道路结点j为新的起始点;
其中,dtemp为起始点s到道路结点temp的最短路径长度,ltempj是道路结点temp到道路结点j的直线距离;
(27)选取集合tb中dtbT最小的道路结点j作为新的起始点;其中,dtbT=dtb1+dtb2,dtb1、dtb2分别表示集合tb中的道路结点与起始点s的最短路径长度以及与终止点e的直线距离;
(28)判断是否满足dj≠Mval,若是,进入步骤(29),若否,进入步骤(30);
(29)记录index=[s,j],pb(j)=1,令temp=j,并返回步骤(23);
(30)判断是否满足temp=e,若是,确定起始点s与终止点e之间的最优路径为集合index中的道路结点依次连接成的路径,若否,则起始点s与终止点e之间最优路径搜索失败。
进一步,如上所述的一种浮动车车载终端的最优路径搜索方法,步骤二中,在进行起始点s和终止点e之间的最优路径搜索之前,还包括:
根据第一道路和第二道路的经纬度信息判断两条道路是否直接相连,若是,则确定起始点s与终止点e之间的最优路径为起始点s和终止点e连接成的路径;若否,则进入步骤(21);两条道路直接相连是指两条道路为一条道路且起始点与终止点之间的路径不存在其它道路结点。
进一步,如上所述的一种浮动车车载终端的最优路径搜索方法,所述卫星定位数据包括浮动车的速度、经纬度和航向角。
进一步,如上所述的一种浮动车车载终端的最优路径搜索方法,所述预设的路径搜索长度nPathLenLmt根据浮动车时速和浮动车的定位时间间隔确定;预设的路径搜索长度=浮动车时速×定位时间间隔。
进一步,如上所述的一种浮动车车载终端的最优路径搜索方法,所述预设的路径搜索长度nPathLenLmt=2km。
进一步,如上所述的一种浮动车车载终端的最优路径搜索方法,所述预设值Mval=999999。
一种浮动车车载终端的最优路径搜索系统,包括:
道路结点集合建立模块,用于建立用于路径搜索的道路结点集合nIndNodes;该模块包括:
定位点道路匹配单元,用于采集浮动车的卫星定位数据,选取相邻的两个定位点,并根据卫星定位数据将两个定位点匹配到相应的道路,前一个定位点所在道路记为第一道路,后一个定位点所在道路记为第二道路;
结点集合与邻接矩阵建立单元,用于获取第一道路和第二道路的道路结点信息,选取第一道路的任一道路结点为起始点s,选取第二道路的任一道路结点为终止点e,将与起始点s的最短路径长度和与终止点e的最短路径长度均小于预设的路径搜索长度nPathLenLmt的道路结点添加到结点集合nIndNodes中,并建立结点集合nIndNodes的邻接矩阵ADJ;
其中,结点集合nIndNodes的长度记为nLen;邻接矩阵ADJ中的第p行第q列的元素为第p个道路结点与第q个道路结点间的路径长度,不互为邻接点的两个道路结点之间的路径长度设置为预设值Mval;
最优路径搜索模块,用于根据所述结点集合nIndNodes和其邻接矩阵ADJ,在结点集合nIndNodes所包含的道路结点中进行起始点s和终止点e之间的最优路径搜索。
进一步,如上所述的一种浮动车车载终端的最优路径搜索系统,所述最优路径搜索模块进行路径搜索的方式为:
(21)设置结点集合nIndNodes中每个道路结点的结点标识,结点m的结点标识记为(dm,pm),dm为起始点s到结点m的最短路径长度,pm为结点m的紧前结点;所述紧前结点是指起始点s到结点m的最短路径中结点m的前一结点;
设置清零标记集合pb,清零标记集合pb中的元素与结点集合nIndNodes中的元素一一对应,当结点集合nIndNodes中某一道路结点为起始点时,清零标记集合pb对应的元素置为1,否则置为0,初始化时pb(s)=1;
设置标号结点顺序集合index,标号结点顺序集合index中的元素为按顺序存放的起始点;初始化时index[1]=s;
(22)设置一临时变量temp,令初始化的temp=s;
(23)判断是否满足temp≠e且sum(pb)<nLen,若是,则进入步骤(24),若否,则进入步骤(30);sum(pb)为集合pb中所有元素的和;
(24)将清零标记集合pb中为零的元素所对应的道路结点组成集合tb,根据所述邻接矩阵获取结点temp的邻接点并组成集合CollInNode,取集合tb与CollInNode的交集记为IA;
(25)判断IA是否为空集,若是,则进入步骤(27),若否则进入步骤(26);
(26)选取IA中的道路结点j作为新的起始点,并进入步骤(28);选取方式为:
遍历IA中的所有道路结点,对于每个道路结点j计算min[dj,dtemp+ltempj],选取最小的min[dj,dtemp+ltempj]所对应的道路结点j为新的起始点;
其中,dtemp为起始点s到道路结点temp的最短路径长度,ltempj是道路结点temp到道路结点j的直线距离;
(27)选取集合tb中dtbT最小的道路结点j作为新的起始点;其中,dtbT=dtb1+dtb2,dtb1、dtb2分别表示集合tb中的道路结点与起始点s的最短路径长度以及与终止点e的直线距离;
(28)判断是否满足dj≠Mval,若是,进入步骤(29),若否,进入步骤(30);
(29)记录index=[s,j],pb(j)=1,令temp=j,并返回步骤(23);
(30)判断是否满足temp=e,若是,确定起始点s与终止点e之间的最优路径为集合index中的道路结点依次连接成的路径,若否,则起始点s与终止点e之间最优路径搜索失败。
进一步,如上所述的一种浮动车车载终端的最优路径搜索系统,该系统还包括:
起止点关系判断模块,用于在最优路径搜索模块进行起始点s和终止点e之间的最优路径搜索之前,根据第一道路和第二道路的经纬度信息判断两条道路是否直接相连,若是,则确定起始点s与终止点e之间的最优路径为起始点s和终止点e连接成的路径;若否,则进入最优路径搜索模块;两条道路直接相连是指两条道路为一条道路且起始点与终止点之间的路径不存在其它道路结点。
进一步,如上所述的一种浮动车车载终端的最优路径搜索系统,所述预设的路径搜索长度nPathLenLmt根据浮动车时速和浮动车的定位时间间隔确定;预设的路径搜索长度=浮动车时速×定位时间间隔。
本发明的有益效果在于:本实施方式所提供的路径搜索方法及系统,根据浮动车的实际运行情况,以浮动车前后两个定位点之间的距离作为约束条件,实现了相邻两个定位点之间最优路径的搜索,减少了搜索空间,提高了搜索效率,为城市道路拥堵分析提供了数据基础。且该方法可以离线进行,可以事先将任意两条道路道路结点的最优路径提前计算,而在车辆匹配到道路后直接使用,从而提高拥堵分析的计算效率。该方法及系统,能解决大间隔定位导致的定位路段不连续的问题,为城市道路拥堵收费提供全面的定位技术支持。
附图说明
图1为本发明具体实施方式中一种浮动车车载终端的最优路径搜索方法的流程图;
图2为本发明具体实施方式中一种浮动车车载终端的最优路径搜索系统的结构框图;
图3为本发明实施例中的结点集合中所包含的道路结点的示意图。
具体实施方式
下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。
为了更好的理解本发明,下面结合实施例和说明书附图对本发明所提供的方法进行进一步详细说明。
图1示出了本发明提供的一种浮动车车载终端的最优路径搜索方法的流程图,该方法主要包括以下两个大步骤:
步骤一、建立用于路径搜索的道路结点集合;
所述道路结点集合nIndNodes用于存储距离路径起点和路径终点的最短路径长度均不超过预设的路径搜索长度nPathLenLmt的道路结点。本实施方式中建立道路结点结合nIndNodes包括以下几个步骤:
步骤S11:采集浮动车的卫星定位数据,将浮动车的定位点匹配到相应的道路上;
通过浮动车的车载终端采集浮动车的卫星定位数据,提取定位点的速度、经纬度、航向角等信息,并根据卫星定位数据匹配定位点到相应的道路。根据定位点的卫星定位数据将定位点匹配到相应道路为现有技术,此处不再详细描述。
选取相邻的两个定位点,将其中前一个定位点所在道路记为第一道路,后一个定位点所在道路记为第二道路。
步骤S12:根据第一道路和第二道路的道路结点信息建立道路结点集合nIndNodes;
获取第一道路和第二道路的道路结点信息,选取第一道路的任一道路结点为起始点s,选取第二道路的任一道路结点为终止点e,将与起始点s的最短路径长度和与终止点e的最短路径长度均小于预设的路径搜索长度nPathLenLmt的道路结点添加到结点集合nIndNodes中,并建立结点集合nIndNodes的邻接矩阵ADJ。
将结点集合nIndNodes的长度记为nLen;邻接矩阵ADJ中的第p行第q列的元素为第p个道路结点与第q个道路结点间的路径长度,不互为邻接点的两个道路结点之间的路径长度设置为预设值Mval;两个道路节点不互为邻接点是指两个道路节点属于两条不同的道路。
本实施方式中,所述预设的路径搜索长度nPathLenLmt可以根据浮动车时速和浮动车的定位时间间隔确定,具体的,预设的路径搜索长度=浮动车时速×定位时间间隔。在实际应用中,浮动车的定位时间间隔一般不超过1分钟,且在城市道路时时速一般不超过120km/h,因此,浮动车前后两个定位点之间的距离一般不超过2km,因此,预设的路径搜索长度nPathLenLmt可以设置为2km。
预设值Mval为极大值,可以设置为不同的极大数,如Mval=999999,当然也可以直接将Mval设置为∞。
在实际应用中,所述道路节点除了一条道路的两个端点外,如果一条道路上存在大的拐弯处,该拐弯处也可以算是该道路的一个道路结点。
步骤二、根据所述结点集合nIndNodes和其邻接矩阵ADJ进行起始点s和终止点e之间的最优路径搜索;
本实施方式中,在进行起始点s和终止点e之间的最优路径搜索之前,首先根据第一道路和第二道路的经纬度信息判断两条道路是否直接相连,若是则确定起始点s与终止点e之间的最优路径为起始点s和终止点e连接成的路径;两条道路直接相连是指两条道路为一条道路且起始点与终止点之间的路径不存在其它道路结点。
当第一道路和第二道路不直接相连时,根据所述结点集合nIndNodes和其邻接矩阵ADJ开始进行起始点s和终止点e之间最优路径搜索。
本实施方式中,进行进行起始点s和终止点e之间最优路径搜索的方式如图1所示,包括以下几个步骤:
步骤S21:设置结点集合nIndNodes中每个道路结点的结点标识、设置用于记录起始点相关信息的清零标记集合pb和标号结点顺序集合index;
为了更方面的描述后续路径搜索的步骤,首先为每一个道路结点设置一个结点标识,本实施方式中,结点m的结点标识记为(dm,pm),其中,dm为起始点s到结点m的最短路径长度,pm为结点m的紧前结点;所述紧前结点是指起始点s到结点m的最短路径中结点m的前一结点;道路结点到其本身的最短路径为零路(没有弧的路),其长度等于0。
清零标记集合pb中的元素与结点集合nIndNodes中的元素一一对应,当结点集合nIndNodes中某一道路结点为起始点时,清零标记集合pb对应的元素置为1,否则置为0,初始化时p(s)=1,即道路结点s为起始道路结点。
标号结点顺序集合index中的元素为按顺序存放的起始点;初始化时index[1]=s,即第一个起始点为道路结点s。
步骤S22:设置一临时变量temp,令初始化的temp=s;
在实际路径搜索时,搜索一般要重复多次,通过设置临时变量temp以方便后续搜索时的描述。
步骤S23:判断是否满足temp≠e且sum(pb)<nLen,若是,则进入下一步,若否,则进入步骤30;
步骤S24:获取当前起始点的邻接点中没有作为过起始点的道路结点;
具体的,将清零标记集合pb中为零的元素所对应的道路结点组成集合tb,根据所述邻接矩阵获取结点temp的邻接点并组成集合CollInNode,取集合tb与CollInNode的交集记为IA,IA中的元素即为当前起始点的邻接点中没有作为过起始点的道路结点。对于第一次搜索时,当前节点为起始点s,IA中的元素为道路结点s的邻接点。
步骤S25:IA是否为空集,若是,则进入步骤S27,若否则进入步骤S26;
步骤S26:在当前起始点的邻接点中没有作为过起始点的道路结点中选取新的起始点,进入步骤S28;
本实施方式中,选取新的起始点的方式为:
遍历IA中的所有道路结点,对于每个道路结点j计算min[dj,dtemp+ltempj],选取最小的min[dj,dtemp+ltempj]所对应的道路结点j为新的起始点;
其中,dtemp为起始点s到道路结点temp的最短路径长度,ltempj是道路结点temp到道路结点j的直线距离。
步骤S27:在没有作为过起始点的道路结点中选取新的起始点;
具体的,选取集合tb中dtbT最小的道路结点j作为新的起始点;其中,dtbT=dtb1+dtb2,dtb1表示集合tb中的道路结点与起始点s的最短路径长度,dtb2表示集合tb中的道路结点与终止点e的直线距离。
步骤S28:判断是否满足dj≠Mval,若是,进入步骤29,若否,则进入步骤S30;
步骤S29:更新清零标记集合pb和标号结点顺序集合index,如果新的起始点不是终止点e,则以新的起始结点进行再次搜索;
完成一次搜索后,作为过起始点的起始点s和新的起始点j,因此,记录index=[s,j],集合pb中,pb(s)=1,pb(j)=1,令temp=j,并返回步骤23。
步骤S30:判断是否满足temp=e,若是,确定起始点s与终止点e之间的最优路径为集合index中的道路结点依次连接成的路径,若否,则起始点s与终止点e之间的最优路径搜索失败。
本实施方式所提供的最优路径搜索方法,根据浮动车的实际运行情况,以浮动车前后两个定位点之间的距离作为约束条件,实现了相邻两个定位点之间最优路径的搜索,减少了搜索空间,提高了搜索效率,为城市道路拥堵分析提供了数据基础。且该方法可以离线进行,可以事先将任意两条道路道路结点的最优路径提前计算,而在车辆匹配到道路后直接使用,从而提高拥堵分析的计算效率。该方法能解决大间隔定位导致的定位路段不连续的问题,为城市道路拥堵收费提供全面的定位技术支持。
基于图1中所示的最优路径搜索方法,本发明还提供了一种浮动车车载终端的最优路径搜索系统,如图2所示,该系统包括道路结点集合建立模块10、起止点关系判断模块20和最优路径搜索模块30。
道路结点集合建立模块10,用于建立用于路径搜索的道路结点集合nIndNodes;该模块包括:
定位点道路匹配单元11,用于采集浮动车的卫星定位数据,选取相邻的两个定位点,并根据卫星定位数据将两个定位点匹配到相应的道路,前一个定位点所在道路记为第一道路,后一个定位点所在道路记为第二道路;
结点集合与邻接矩阵建立单元12,用于获取第一道路和第二道路的道路结点信息,选取第一道路的任一道路结点为起始点s,选取第二道路的任一道路结点为终止点e,将与起始点s的最短路径长度和与终止点e的最短路径长度均小于预设的路径搜索长度nPathLenLmt的道路结点添加到结点集合nIndNodes中,并建立结点集合nIndNodes的邻接矩阵ADJ;
其中,结点集合nIndNodes的长度记为nLen;邻接矩阵ADJ中的第p行第q列的元素为第p个道路结点与第q个道路结点间的路径长度,不互为邻接点的两个道路结点之间的路径长度设置为预设值Mval;
本实施方式中,所述预设的路径搜索长度nPathLenLmt根据浮动车时速和浮动车的定位时间间隔确定;设定时间长度=浮动车时速×定位时间间隔。
起止点关系判断模块20,用于在最优路径搜索模块进行起始点s和终止点e之间的最优路径搜索之前,根据第一道路和第二道路的经纬度信息判断两条道路是否直接相连,若是,则确定起始点s与终止点e之间的最优路径为起始点s和终止点e连接成的路径;若否,则进入最优路径搜索模块;两条道路直接相连是指两条道路为一条道路且起始点与终止点之间的路径不存在其它道路结点。
最优路径搜索模块30,用于根据所述结点集合nIndNodes和其邻接矩阵ADJ进行起始点s和终止点e之间的最优路径搜索;最优路径搜索模块进行路径搜索的方式为:
(21)设置结点集合nIndNodes中每个道路结点的结点标识,结点m的结点标识记为(dm,pm),dm为起始点s到结点m的最短路径长度,pm为结点m的紧前结点;所述紧前结点是指起始点s到结点m的最短路径中结点m的前一结点;
设置清零标记集合pb,清零标记集合pb中的元素与结点集合nIndNodes中的元素一一对应,当结点集合nIndNodes中某一道路结点为起始点时,清零标记集合pb对应的元素置为1,否则置为0,初始化时pb(s)=1;
设置标号结点顺序集合index,标号结点顺序集合index中的元素为按顺序存放的起始点;初始化时index[1]=s;
(22)设置一临时变量temp,令初始化的temp=s;
(23)判断是否满足temp≠e且sum(pb)<nLen,若是,则进入步骤(24),若否,则进入步骤(30);sum(pb)为集合pb中所有元素的和;
(24)将清零标记集合pb中为零的元素所对应的道路结点组成集合tb,根据所述邻接矩阵获取结点temp的邻接点并组成集合CollInNode,取集合tb与CollInNode的交集记为IA;
(25)判断IA是否为空集,若是,则进入步骤(27),若否则进入步骤(26);
(26)选取IA中的道路结点j作为新的起始点,并进入步骤(28);选取方式为:
遍历IA中的所有道路结点,对于每个道路结点j计算min[dj,dtemp+ltempj],选取最小的min[dj,dtemp+ltempj]所对应的道路结点j为新的起始点;
其中,dtemp为起始点s到道路结点temp的最短路径长度,ltempj是道路结点temp到道路结点j的直线距离;
(27)选取集合tb中dtbT最小的道路结点j作为新的起始点;其中,dtbT=dtb1+dtb2,dtb1、dtb2分别表示集合tb中的道路结点与起始点s的最短路径长度以及与终止点e的直线距离;
(28)判断是否满足dj≠Mval,若是,进入步骤(29),若否,进入步骤30;
(29)记录index=[s,j],pb(j)=1,令temp=j,并返回步骤(23);
(30)判断是否满足temp=e,若是,确定起始点s与终止点e之间的最优路径为集合index中的道路结点依次连接成的路径,若否,则起始点s与终止点e之间最优路径搜索失败。
为了更好的理解本发明所述的方法,下面结合具体实施例对该方法进行进一步详细说明。
实施例
首先,获取第一道路的道路结点和第二道路的道路结点,选取第一道路的任一道路结点为起始点s,选取第二道路的任一道路结点为终止点e,本实施例中,起始点s为图3中所示的结点1,终止点e为图中所示的结点6。
下面建立用于结点1和结点6之间最优路径搜索的结点集合nIndNodes,本实施例中,同时满足与结点1的最短路径长度小于2km和与结点6的最短路径长度小于2km的道路结点,如图中所示的结点2、3、4、5、7,因此,本实施例中的结点集合nIndNodes=[1,2,3,4,5,6,7]。
本实施例中,结点1和结点2互为邻接点,结点1和结点3互为邻接点,结点2和结点7互为邻接点,结点3和结点4互为邻接点,结点5和结点6互为邻接点,结点6和结点7互为邻接点,如图3中所示。结点1和结点2之间的路径长度为146m,结点1和结点2之间的路径长度为146m,结点1和结点3之间的路径长度为563m,结点2和结点7之间的路径长度为963m,结点3和结点4之间的路径长度为28m,结点5和结点6之间的路径长度为642m,结点6和结点7之间的路径长度为50m。
因此,本实施例中结点集合nIndNodes的邻接矩阵ADJ如下:
完成结点集合nIndNodes的建立后,根据结点集合nIndNodes和邻接矩阵ADJ进行结点1和结点6之间的路径搜索:
本实施例中,第一次搜索开始时,各参数如下:
nIndNodes=[1,2,3,4,5,6,7],其长度nlen=7;
1-7各结点的结点标识分别为(0,null),(146,null),(563,null),(591,3),(1801,6),(1159,7),(1109,2);
集合Pb=[1,0,0,0,0,0,0];集合index=[1];
sum(pb)=1,nlen;
结点1,2,3,4,5,7到结点6的直线距离(单位:米)分别为:1084.1,941.91619.9,1648.1,642,50。
首先,对于起始点即结点1,满足结点1≠结点6且sum(pb)<nlen;
集合Pb中为0的元素对应的结点为结点2-7,因此,集合tb=[2,3,4,5,6,7];
结点1的邻接点为结点2和3,因此,集合CollInNode=[2,3];
集合tb与集合CollInNode的交集IA=[2,3];
对于IA中的结点2,d2=146,d1+ltemp2=146+941.9(此时的dtemp即为d1);
对于IA中的结点3,d3=563,d1+ltemp2=563+1619.9;
因此,下一个新的起始点为结点2,令d2=min[d2,d1+ltemp2]=146;
以结点2为新的起始点继续进行路径搜索:
此时,集合Pb=[1,1,0,0,0,0,0];集合index=[1,2];集合tb=[3,4,5,6,7];
由邻接矩阵可知结点2的邻接点为结点1和结点7,因此,集合CollInNode=[1,7];
集合tb与集合CollInNode的交集IA=[7];
对于IA中的结点7,d7=1109,d2+ltemp7=146+50(此时的dtemp即为d2);
因此,下一个新的起始点为结点7;
以结点7为新的起始点继续进行路径搜索:
此时,集合Pb=[1,1,0,0,0,0,1];集合index=[1,2,7];集合tb=[3,4,5,6];
由邻接矩阵可知结点7的邻接点为结点2和结点6,因此,集合CollInNode=[2,6];
集合tb与集合CollInNode的交集IA=[6];
此时,以结点6作为下一个新的起始点;
此时,集合Pb=[1,1,0,0,0,1,1];集合index=[1,2,7,6];
由于满足结点6=终止点即结点6,因此,完成路径搜索,结点1和结点6之间的路径为1-2-7-6。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种浮动车车载终端的最优路径搜索方法,包括以下步骤:
步骤一、建立用于路径搜索的道路结点集合nIndNodes;建立结点集合nIndNodes的方式包括:
(11)采集浮动车的卫星定位数据,选取相邻的两个定位点,并根据卫星定位数据将两个定位点匹配到相应的道路,前一个定位点所在道路记为第一道路,后一个定位点所在道路记为第二道路;
(12)获取第一道路和第二道路的道路结点信息,选取第一道路的任一道路结点为起始点s,选取第二道路的任一道路结点为终止点e,将与起始点s的最短路径长度和与终止点e的最短路径长度均小于预设的路径搜索长度nPathLenLmt的道路结点添加到结点集合nIndNodes中,并建立结点集合nIndNodes的邻接矩阵ADJ;
其中,结点集合nIndNodes的长度记为nLen;邻接矩阵ADJ中的第p行第q列的元素为第p个道路结点与第q个道路结点间的路径长度,不互为邻接点的两个道路结点之间的路径长度设置为预设值Mval;
步骤二、根据所述结点集合nIndNodes和其邻接矩阵ADJ进行起始点s和终止点e之间的最优路径搜索。
2.根据权利要求1所述的一种浮动车车载终端的最优路径搜索方法,其特征在于:步骤二中,进行起始点s和终止点e之间的最优路径搜索的方式包括:
(21)设置结点集合nIndNodes中每个道路结点的结点标识,结点m的结点标识记为(dm,pm),dm为起始点s到结点m的最短路径长度,pm为结点m的紧前结点;所述紧前结点是指起始点s到结点m的最短路径中结点m的前一结点;
设置清零标记集合pb,清零标记集合pb中的元素与结点集合nIndNodes中的元素一一对应,当结点集合nIndNodes中某一道路结点为起始点时,清零标记集合pb对应的元素置为1,否则置为0,初始化时pb(s)=1;
设置标号结点顺序集合index,标号结点顺序集合index中的元素为按顺序存放的起始点;初始化时index[1]=s;
(22)设置一临时变量temp,令初始化的temp=s;
(23)判断是否满足temp≠e且sum(pb)<nLen,若是,则进入步骤(24),若否,则进入步骤(30);sum(pb)为集合pb中所有元素的和;
(24)将清零标记集合pb中为零的元素所对应的道路结点组成集合tb,根据所述邻接矩阵获取结点temp的邻接点并组成集合CollInNode,取集合tb与CollInNode的交集记为IA;
(25)判断IA是否为空集,若是,则进入步骤(27),若否,则进入步骤(26);
(26)选取IA中的道路结点j作为新的起始点,并进入步骤(28);选取方式为:
遍历IA中的所有道路结点,对于每个道路结点j计算min[dj,dtemp+ltempj],选取最小的min[dj,dtemp+ltempj]所对应的道路结点j为新的起始点;
其中,dtemp为起始点s到道路结点temp的最短路径长度,ltempj是道路结点temp到道路结点j的直线距离;
(27)选取集合tb中dtbT最小的道路结点j作为新的起始点;其中,dtbT=dtb1+dtb2,dtb1、dtb2分别表示集合tb中的道路结点与起始点s的最短路径长度以及与终止点e的直线距离;
(28)判断是否满足dj≠Mval,若是,进入步骤(29),若否,进入步骤(30);
(29)记录index=[s,j],pb(j)=1,令temp=j,并返回步骤(23);
(30)判断是否满足temp=e,若是,则确定起始点s与终止点e之间的最优路径为集合index中的道路结点依次连接成的路径,若否,则起始点s与终止点e之间最优路径搜索失败。
3.根据权利要求1或2所述的一种浮动车车载终端的最优路径搜索方法,其特征在于:步骤二中,在进行起始点s和终止点e之间的最优路径搜索之前,还包括:
根据第一道路和第二道路的经纬度信息判断两条道路是否直接相连,若是,则确定起始点s与终止点e之间的最优路径为起始点s和终止点e连接成的路径;若否,则进入步骤(21);两条道路直接相连是指两条道路为一条道路且起始点与终止点之间的路径不存在其它道路结点。
4.根据权利要求1或2所述的一种浮动车车载终端的最优路径搜索方法,其特征在于:所述卫星定位数据包括浮动车的速度、经纬度和航向角。
5.根据权利要求1或2所述的一种浮动车车载终端的最优路径搜索方法,其特征在于:所述预设的路径搜索长度nPathLenLmt根据浮动车时速和浮动车的定位时间间隔确定;预设的路径搜索长度=浮动车时速×定位时间间隔。
6.根据权利要求1或2所述的一种浮动车车载终端的最优路径搜索方法,其特征在于:所述预设的路径搜索长度nPathLenLmt=2km。
7.一种浮动车车载终端的最优路径搜索系统,包括:
道路结点集合建立模块,用于建立用于路径搜索的道路结点集合nIndNodes;该模块包括:
定位点道路匹配单元,用于采集浮动车的卫星定位数据,选取相邻的两个定位点,并根据卫星定位数据将两个定位点匹配到相应的道路,前一个定位点所在道路记为第一道路,后一个定位点所在道路记为第二道路;
结点集合与邻接矩阵建立单元,用于获取第一道路和第二道路的道路结点信息,选取第一道路的任一道路结点为起始点s,选取第二道路的任一道路结点为终止点e,将与起始点s的最短路径长度和与终止点e的最短路径长度均小于预设的路径搜索长度nPathLenLmt的道路结点添加到结点集合nIndNodes中,并建立结点集合nIndNodes的邻接矩阵ADJ;
其中,结点集合nIndNodes的长度记为nLen;邻接矩阵ADJ中的第p行第q列的元素为第p个道路结点与第q个道路结点间的路径长度,不互为邻接点的两个道路结点之间的路径长度设置为预设值Mval;
最优路径搜索模块,用于根据所述结点集合nIndNodes和其邻接矩阵ADJ进行起始点s和终止点e之间的最优路径搜索。
8.根据权利要求7所述的一种浮动车车载终端的最优路径搜索系统,其特征在于:所述最优路径搜索模块进行路径搜索的方式为:
(21)设置结点集合nIndNodes中每个道路结点的结点标识,结点m的结点标识记为(dm,pm),dm为起始点s到结点m的最短路径长度,pm为结点m的紧前结点;所述紧前结点是指起始点s到结点m的最短路径中结点m的前一结点;
设置清零标记集合pb,清零标记集合pb中的元素与结点集合nIndNodes中的元素一一对应,当结点集合nIndNodes中某一道路结点为起始点时,清零标记集合pb对应的元素置为1,否则置为0,初始化时pb(s)=1;
设置标号结点顺序集合index,标号结点顺序集合index中的元素为按顺序存放的起始点;初始化时index[1]=s;
(22)设置一临时变量temp,令初始化的temp=s;
(23)判断是否满足temp≠e且sum(pb)<nLen,若是,则进入步骤(24),若否,则进入步骤(30);sum(pb)为集合pb中所有元素的和;
(24)将清零标记集合pb中为零的元素所对应的道路结点组成集合tb,根据所述邻接矩阵获取结点temp的邻接点并组成集合CollInNode,取集合tb与CollInNode的交集记为IA;
(25)判断IA是否为空集,若是,则进入步骤(27),若否则进入步骤(26);
(26)选取IA中的道路结点j作为新的起始点,并进入步骤(28);选取方式为:
遍历IA中的所有道路结点,对于每个道路结点j计算min[dj,dtemp+ltempj],选取最小的min[dj,dtemp+ltempj]所对应的道路结点j为新的起始点;
其中,dtemp为起始点s到道路结点temp的最短路径长度,ltempj是道路结点temp到道路结点j的直线距离;
(27)选取集合tb中dtbT最小的道路结点j作为新的起始点;其中,dtbT=dtb1+dtb2,dtb1、dtb2分别表示集合tb中的道路结点与起始点s的最短路径长度以及与终止点e的直线距离;
(28)判断是否满足dj≠Mval,若是,进入步骤(29),若否,进入步骤30;
(29)记录index=[s,j],pb(j)=1,令temp=j,并返回步骤(23);
(30)判断是否满足temp=e,若是,确定起始点s与终止点e之间的最优路径为集合index中的道路结点依次连接成的路径,若否,则起始点s与终止点e之间最优路径搜索失败。
9.根据权利要求7或8所述的一种浮动车车载终端的最优路径搜索系统,其特征在于:该系统还包括:
起止点关系判断模块,用于在最优路径搜索模块进行起始点s和终止点e之间的最优路径搜索之前,根据第一道路和第二道路的经纬度信息判断两条道路是否直接相连,若是,则确定起始点s与终止点e之间的最优路径为起始点s和终止点e连接成的路径;若否,则进入最优路径搜索模块;两条道路直接相连是指两条道路为一条道路且起始点与终止点之间的路径不存在其它道路结点。
10.根据权利要求7或8所述的一种浮动车车载终端的最优路径搜索系统,其特征在于:所述预设的路径搜索长度nPathLenLmt根据浮动车时速和浮动车的定位时间间隔确定;预设的路径搜索长度=浮动车时速×定位时间间隔。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510999148.5A CN105628043B (zh) | 2015-12-28 | 2015-12-28 | 一种浮动车车载终端的最优路径搜索方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510999148.5A CN105628043B (zh) | 2015-12-28 | 2015-12-28 | 一种浮动车车载终端的最优路径搜索方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105628043A true CN105628043A (zh) | 2016-06-01 |
CN105628043B CN105628043B (zh) | 2018-09-04 |
Family
ID=56043192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510999148.5A Expired - Fee Related CN105628043B (zh) | 2015-12-28 | 2015-12-28 | 一种浮动车车载终端的最优路径搜索方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105628043B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106767826A (zh) * | 2016-12-23 | 2017-05-31 | 上海雅丰信息科技有限公司 | 一种室内跨楼层路径导航的方法 |
CN111145576A (zh) * | 2019-12-09 | 2020-05-12 | 上海博泰悦臻电子设备制造有限公司 | 寻车方法及相关设备 |
CN111325502A (zh) * | 2020-02-07 | 2020-06-23 | 北京三快在线科技有限公司 | 线路计算方法、装置、电子设备及可读存储介质 |
CN111735639A (zh) * | 2020-05-26 | 2020-10-02 | 清华大学苏州汽车研究院(相城) | 一种面向智能网联汽车示范区的自动驾驶场景最小集生成方法 |
CN112559881A (zh) * | 2020-12-24 | 2021-03-26 | 北京百度网讯科技有限公司 | 步行路线确定方法、装置、电子设备及存储介质 |
CN112799416A (zh) * | 2019-10-24 | 2021-05-14 | 广州极飞科技股份有限公司 | 航线生成方法、设备和系统、无人作业系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104457775A (zh) * | 2014-12-12 | 2015-03-25 | 北京航天宏图信息技术有限责任公司 | 路径确定方法、装置和导航仪 |
CN104574967A (zh) * | 2015-01-14 | 2015-04-29 | 合肥革绿信息科技有限公司 | 一种基于北斗的城市大面积路网交通感知方法 |
CN104634352A (zh) * | 2015-03-02 | 2015-05-20 | 吉林大学 | 一种基于浮动车移动轨迹与电子地图融合的道路匹配方法 |
-
2015
- 2015-12-28 CN CN201510999148.5A patent/CN105628043B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104457775A (zh) * | 2014-12-12 | 2015-03-25 | 北京航天宏图信息技术有限责任公司 | 路径确定方法、装置和导航仪 |
CN104574967A (zh) * | 2015-01-14 | 2015-04-29 | 合肥革绿信息科技有限公司 | 一种基于北斗的城市大面积路网交通感知方法 |
CN104634352A (zh) * | 2015-03-02 | 2015-05-20 | 吉林大学 | 一种基于浮动车移动轨迹与电子地图融合的道路匹配方法 |
Non-Patent Citations (1)
Title |
---|
王美玲: ""浮动车地图匹配算法研究"", 《测绘学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106767826A (zh) * | 2016-12-23 | 2017-05-31 | 上海雅丰信息科技有限公司 | 一种室内跨楼层路径导航的方法 |
CN112799416A (zh) * | 2019-10-24 | 2021-05-14 | 广州极飞科技股份有限公司 | 航线生成方法、设备和系统、无人作业系统及存储介质 |
CN112799416B (zh) * | 2019-10-24 | 2024-04-12 | 广州极飞科技股份有限公司 | 航线生成方法、设备和系统、无人作业系统及存储介质 |
CN111145576A (zh) * | 2019-12-09 | 2020-05-12 | 上海博泰悦臻电子设备制造有限公司 | 寻车方法及相关设备 |
CN111325502A (zh) * | 2020-02-07 | 2020-06-23 | 北京三快在线科技有限公司 | 线路计算方法、装置、电子设备及可读存储介质 |
CN111735639A (zh) * | 2020-05-26 | 2020-10-02 | 清华大学苏州汽车研究院(相城) | 一种面向智能网联汽车示范区的自动驾驶场景最小集生成方法 |
CN111735639B (zh) * | 2020-05-26 | 2022-03-22 | 清华大学苏州汽车研究院(相城) | 一种面向智能网联汽车示范区的自动驾驶场景最小集生成方法 |
CN112559881A (zh) * | 2020-12-24 | 2021-03-26 | 北京百度网讯科技有限公司 | 步行路线确定方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105628043B (zh) | 2018-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105628043A (zh) | 一种浮动车车载终端的最优路径搜索方法及系统 | |
US10408636B2 (en) | Apparatus and method for vehicle economy improvement | |
US9459114B2 (en) | Vehicle information providing device | |
US20160054135A1 (en) | Measuring Quality in Optimal Navigation Routes by Navigation Systems | |
US20130131980A1 (en) | Resolving gps ambiguity in electronic maps | |
CN101676689A (zh) | 驾驶评价系统以及驾驶评价方法 | |
CN105489008A (zh) | 基于浮动车卫星定位数据的城市道路拥堵计算方法及系统 | |
CN106382939A (zh) | 一种基于历史数据的导航路径行驶时间预测系统及方法 | |
JP5919186B2 (ja) | 地図作成支援システム | |
US11287267B2 (en) | Maplets for maintaining and updating a self-healing high definition map | |
JP2009103726A (ja) | 経路案内システムのセンタ装置 | |
US11402220B2 (en) | Maplets for maintaining and updating a self-healing high definition map | |
CN104374396A (zh) | 导航方法及导航装置 | |
CN103727946A (zh) | 一种浮动车地图匹配数据预处理方法及系统 | |
CN108417069A (zh) | 一种车辆速度及路径规划系统及方法 | |
CN110807915B (zh) | 路况信息计算方法、装置、存储介质和计算机设备 | |
CN102956105B (zh) | 一种浮动车样本点数据插值的方法 | |
CN103456045A (zh) | 一种根据gps定位收费的方法与系统 | |
US20200292326A1 (en) | Maplets for maintaining and updating a self-healing high definition map | |
CN103090880B (zh) | 一种车载导航系统和方法及其装置 | |
CN103245350B (zh) | 一种判断兴趣点可到达性的方法及装置 | |
CN105547316A (zh) | 一种浮动车车载终端的路径搜索方法及系统 | |
US11287266B2 (en) | Maplets for maintaining and updating a self-healing high definition map | |
CN105427592A (zh) | 基于浮动车的导航电子地图转向代价计算方法 | |
CN103134507A (zh) | 车载设备和新导航路径获得方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180904 Termination date: 20211228 |
|
CF01 | Termination of patent right due to non-payment of annual fee |