具体实施方式
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
如图1所示,为本发明实施例提出的导航数据更新方法流程示意图,其具体处理流程如下:
步骤11,按照导航图幅,将采集到的用户轨迹划分成轨迹路段。
导航设备中存储有多个区域的导航数据,为了便于查找导航数据,一般将导航设备中的导航数据按照导航图幅进行存储,每个导航图幅分别对应不同的区域,导航图幅中的导航数据为该导航图幅对应的区域的导航数据。例如,北京市海淀区对应一个导航图幅,该导航图幅中的导航数据为北京市海淀区的导航数据,北京市西城区对应一个导航图幅,该导航图幅中的导航数据为北京市西城区的导航数据。
由上可见,导航设备中的导航数据是按照导航图幅存储的,导航设备采集到的用户轨迹可能位于其中某些导航图幅对应的区域内,因此如果要将采集到的用户轨迹融入到导航设备的导航数据中,则只需要对包含该用户轨迹的各导航图幅的导航数据进行更新即可,不包含用户轨迹的导航图幅的导航数据没有发生变化,因此本发明实施例中,若要将导航设备采集到的用户轨迹融入到导航设备的导航数据中,则需要先按照导航图幅,将采集到的用户轨迹划分成轨迹路段。
例如,导航设备采集到的用户轨迹的起始点位于北京市海淀区,结束点位于北京市朝阳区,其中途径北京市西城区,也就是说该用户轨迹横跨了三个导航图幅,分别为北京市海淀区对应的导航图幅、北京市朝阳区对应的导航图幅和北京市西城区对应的导航图幅,那么在需要将该用户轨迹融入到导航设备的导航数据中时,可以先按照导航图幅,将采集到的用户轨迹划分成三个轨迹路段,第一个轨迹路段位于北京市海淀区对应的导航图幅内,第二个轨迹路段位于北京市西城区对应的导航图幅内,第三个轨迹路段位于北京市朝阳区对应的导航图幅内。
本发明实施例中,导航设备进行导航数据更新时,可以只将采集到的一个用户轨迹融入到导航数据中,此时导航设备将该用户轨迹进行轨迹路段的划分;导航设备也可以同时将采集到的多个用户轨迹融入到导航数据中,此时导航设备针对采集到的每个用户轨迹,分别进行轨迹路段的划分。
步骤12,在每个轨迹路段所属导航图幅中,确定轨迹路段关联的路段。
步骤13,根据每个轨迹路段和其关联的路段之间的拓扑关系,对每个轨迹路段所属导航图幅的导航数据进行更新。
若包含轨迹路段的导航图幅有多个,则导航设备可以按照图幅标号的先后顺序,依次针对各导航图幅执行导航数据更新操作,例如,包含轨迹路段的导航图幅有导航图幅1、导航图幅2和导航图幅3,图幅标号的先后顺序为:导航图幅1→导航图幅2→导航图幅3,那么导航设备可以先针对导航图幅1执行导航数据更新操作,再针对导航图幅2执行导航数据更新操作,然后针对导航图幅3执行导航数据更新操作。
针对每个导航图幅执行导航数据更新操作时,需要先将该导航图幅的导航数据以及该导航图幅包含的轨迹路段的坐标数据加载到导航设备的内存中。本发明实施例中,路段包含轨迹路段和导航路段,轨迹路段是指用户采集的、需要融入导航数据中的路段,导航路段是指导航设备中已经存储的路段,每个路段(导航路段或轨迹路段)包含多个坐标点,每个坐标点对应一个经纬度坐标数据,其中位于路段起始处的坐标点可以称为起始节点,位于路段末尾处的坐标点可以称为末尾节点,起始节点和末尾节点统称为路段的节点。
轨迹路段的坐标数据是指轨迹路段中各坐标点的经纬度坐标数据;导航图幅的导航数据包含该导航图幅中各导航路段的路段标识和节点索引标识、各导航路段的坐标数据等,其中,每个导航路段分别对应唯一的路段标识,每个导航路段的起始节点和末尾节点分别对应唯一的节点索引标识,导航路段的坐标数据是指导航路段中各坐标点的经纬度坐标数据。
若导航设备将采集到的一个用户轨迹融入到导航数据中,则步骤11将该用户轨迹划分成若干个轨迹路段,各轨迹路段位于不同的导航图幅内,包含轨迹路段的每个导航图幅中只存在一个轨迹路段,例如,导航设备需要将采集到的某个用户轨迹融入到导航数据中,步骤11将该用户轨迹划分成3个轨迹路段,轨迹路段1位于导航图幅1中,轨迹路段2位于导航图幅2中,轨迹路段3位于导航图幅3中,此时针对导航图幅执行导航数据更新操作时,只需要针对该导航图幅中包含的轨迹路段执行导航数据更新操作即可。
若导航设备同时将采集到的多个用户轨迹融入到导航数据中,则步骤11将每个用户轨迹分别划分成若干个轨迹路段,包含轨迹路段的每个导航图幅中可能存在多个轨迹路段,例如,导航设备需要将采集到的用户轨迹a和用户轨迹b融入到导航数据中,步骤11将用户轨迹a划分成2个轨迹路段,轨迹路段a1位于导航图幅1中,轨迹路段a2位于导航图幅2中,步骤11将用户轨迹b划分成2个轨迹路段,轨迹路段b1位于导航图幅1中,轨迹路段b2位于导航图幅2中,也就是说导航图幅1中包含两个轨迹路段(轨迹路段a1和轨迹路段b1),导航图幅2中包含两个轨迹路段(轨迹路段a2和轨迹路段b2)。此时针对导航图幅执行导航数据更新操作时,需要依次针对该导航图幅中包含的各轨迹路段分别执行导航数据更新操作。
下面介绍针对导航图幅中的每个轨迹路段执行导航数据更新操作的具体流程。
导航设备针对某个轨迹路段执行导航数据更新操作时,首先在该轨迹路段所属导航图幅中确定该轨迹路段关联的路段,本发明实施例提出,可以但不限于采用RTree空间索引的方法来确定轨迹路段关联的路段,具体的:先在轨迹路段所属导航图幅中,获得该轨迹路段对应的轨迹面,然后在轨迹路段所属导航图幅包含的各路段中(导航图幅中可能只包含导航路段,或者只包含轨迹路段,也可能既包含导航路段也包含轨迹路段),获取与获得的所述轨迹面相交的路段和/或位于获得的所述轨迹面内的路段,获取出的路段即为轨迹面对应的轨迹路段关联的路段。其中,可以只获取与轨迹面相交的路段,也可以只获取位于轨迹面内的路段,还可以既获取与轨迹面相交的路段,也获取位于轨迹面内的路段。
轨迹路段关联的路段中,可能只包含导航路段,或者只包含轨迹路段,也可能既包含导航路段也包含轨迹路段。
本发明实施例中,轨迹路段的轨迹面可以但不限于为轨迹路段的外接图形,例如外接矩形、外接圆形等,外接图形的具体形状这里不作具体限定。
较佳地,在确定出轨迹路段关联的路段后,若关联的路段中包括导航路段,则还可以进行排重处理,即排除掉轨迹路段中与关联的导航路段重合的部分,具体的:首先判断轨迹路段与其关联的导航路段是否有重合的部分,若有,则从轨迹路段中剪切掉与其关联的导航路段重合的部分,得到新的轨迹路段,然后转至确定轨迹路段关联的路段的步骤,得到新的轨迹路段关联的路段。例如,轨迹路段如图2所示,该轨迹路段包括三个部分,分别为轨迹1、轨迹2和轨迹3,其中,轨迹2与关联的导航路段重合,则导航设备将轨迹2剪切掉,那么就得到了两个新的轨迹路段,即轨迹1对应的轨迹路段和轨迹3对应的轨迹路段,然后导航设备确定轨迹1对应的轨迹路段的关联的路段以及轨迹3对应的轨迹路段的关联的路段。其中,若轨迹路段全部与关联的导航路段重合,则直接放弃对该轨迹路段的操作即可。
本发明实施例中,可以但不限于采用下述方法判断轨迹路段与其关联的导航路段是否有重合的部分:
首先针对该轨迹路段中的每个坐标点,分别确定该坐标点与该轨迹路段关联的导航路段之间的距离,若确定出的距离小于预设的阈值,则确认该坐标点是轨迹路段与其关联的导航路段的重合点,将轨迹路段上连续的重合点之间的轨迹确认为轨迹路段与其关联的导航路段重合的部分。
其中,上述阈值是预先设置的,例如可以设置为233米。
在完成排重处理后,导航设备根据轨迹路段和其关联的路段之间的拓扑关系,对该轨迹路段所属导航图幅的导航数据进行更新。虽然导航设备中已存储有轨迹路段的坐标数据(即轨迹路段的各坐标点的经纬度坐标数据),但是并未为轨迹路段分配路段标识和节点索引标识,因此在对轨迹路段所属导航图幅的导航数据进行更新时,首先为轨迹路段分配唯一的路段标识,然后再根据该轨迹路段和其关联的路段之间的拓扑关系,为该轨迹路段分配节点索引标识。
其中,轨迹路段和其关联的路段之间的拓扑关系可以但不限于包含下述三种情况:
第一种情况,轨迹路段的节点和其关联的路段的节点重合,可以是轨迹路段的起始节点和其关联的路段的起始节点重合,或者轨迹路段的起始节点和其关联的路段的起始节点重合,或者轨迹路段的末尾节点和其关联的路段的起始节点重合,或者轨迹路段的末尾节点和其关联的路段的末尾节点重合;
第二种情况,轨迹路段的节点位于其关联的路段中,也就是说轨迹路段截断了其关联的路段,可以是轨迹路段的起始节点位于其关联的路段中,也可以是轨迹路段的末尾节点位于其关联的路段中,若轨迹路段的节点均不位于各关联的路段中,则该轨迹路段均未截断其关联的任何路段;
第三种情况,轨迹路段关联的路段的节点位于轨迹路段中,也就是说关联的路段截断了该轨迹路段,可以是关联的路段的起始节点位于该轨迹路段中,也可以是关联的路段的末尾节点位于该轨迹路段中。
其中,上述三种情况中,轨迹路段关联的路段可以只包含导航路段,可以只包含轨迹路段,也可以既包含导航路段也包含轨迹路段。
当轨迹路段关联的路段只包含导航路段时,本发明实施例中,根据轨迹路段和其关联的路段之间的拓扑关系,为该轨迹路段分配节点索引标识的过程可以但不限于为下述:
步骤一,导航设备首先针对轨迹路段的每个关联的导航路段,分别判断该轨迹路段的节点与该关联的导航路段的节点是否重合,即判断轨迹路段与其关联的导航路段之间的拓扑关系是否满足第一种情况,若判断出该轨迹路段的节点与该关联的导航路段的节点重合,则为重合的节点分配节点索引标识。
具体的:导航设备在判断出轨迹路段的节点与其关联的导航路段的节点重合时,将该关联的导航路段中与该轨迹路段重合的节点的节点索引标识分配给该轨迹路段中与该关联的导航路段重合的节点。
例如,轨迹路段和其关联的导航路段之间的拓扑关系如图3所示,轨迹路段的路段标识为140,其关联的导航路段的路段标识为70,且轨迹路段140的末尾节点和导航路段70的起始节点重合,因此导航设备将导航路段70的起始节点的节点索引标识91分配给该轨迹路段的末尾节点,即轨迹路段240的末尾节点的节点索引标识为91。
步骤二,导航设备针对轨迹路段的每个关联的导航路段,分别判断该轨迹路段的节点是否位于该关联的导航路段中,即判断轨迹路段与其关联的导航路段之间的拓扑关系是否满足第二种情况,若判断出该轨迹路段的节点位于其关联的导航路段中,则以轨迹路段位于其关联的导航路段上的节点为分割点,将该关联的导航路段划分为两个导航路段,为划分出的两个导航路段分配路段标识,并为划分出的两个导航路段相互重合的节点分配节点索引标识。
具体的:若判断出轨迹路段的节点位于其关联的导航路段中,即轨迹路段截断了其关联的导航路段,则将该关联的导航路段划分为两个导航路段,其中一个导航路段沿用该关联的导航路段划分前的路段标识,为另一个导航路段重新分配路段标识,此外,若已为该轨迹路段中位于该关联的导航路段中的节点分配了节点索引标识,则可以直接将该节点索引标识分配给划分出的两个导航路段相互重合的节点,若未为该轨迹路段中位于该关联的导航路段中的节点分配节点索引标识,则可以先为该节点分配节点索引标识,然后将分配的节点索引标识分配给划分出的两个导航路段相互重合的节点。
例如,轨迹路段和其关联的导航路段之间的拓扑关系如图4所示,轨迹路段的路段标识为140,其关联的导航路段的路段标识为70,导航路段70的起始节点的节点索引标识为121,末尾节点的节点索引标识为122,轨迹路段140的末尾节点位于导航路段70中,则导航设备将导航路段70划分为两个导航路段,第一个导航路段的路段标识沿用70,起始节点的节点索引标识为121,为第二个导航路段分配路段标识141,末尾节点的节点索引标识为122,若已为轨迹路段140的末尾节点分配节点索引标识185,则直接将该节点索引标识185分配给导航路段70的末尾节点和导航路段141的起始节点,若未为轨迹路段140的末尾节点分配节点索引标识,则先为轨迹路段140的末尾节点分配节点索引标识185,然后将该节点索引标识185分配给导航路段70的末尾节点和导航路段141的起始节点。
步骤三,若判断出该轨迹路段的节点未位于各关联的导航路段中,则为该轨迹路段中未分配节点索引标识的节点分配节点索引标识。
具体的:若判断出该轨迹路段的节点未位于各关联的导航路段中,则判断是否已为该轨迹路段的起始节点和末尾节点分配节点索引标识,若未分配,则直接分配节点索引标识即可。
步骤四,针对轨迹路段的每个关联的导航路段,分别判断该关联的导航路段的节点是否位于该轨迹路段中,若判断出该关联的导航路段的节点位于该轨迹路段中,则以导航路段位于其关联的轨迹路段上的节点为分割点,将该轨迹路段划分为两个轨迹路段,为划分出的两个轨迹路段分配路段标识,并为划分出的两个轨迹路段相互重合的节点分配节点索引标识。
具体的:若判断出关联的导航路段的节点位于该轨迹路段中,即该关联的导航路段截断了该轨迹路段,则将该轨迹路段划分为两个轨迹路段,其中一个轨迹路段沿用该轨迹路段划分前的路段标识,为另一个轨迹路段重新分配路段标识,此外,直接将该关联的导航路段中位于该轨迹路段中的节点的节点索引标识分配给划分出的两个轨迹路段相互重合的节点。
当轨迹路段关联的路段只包含轨迹路段时,本发明实施例中,根据轨迹路段和其关联的路段之间的拓扑关系,为该轨迹路段分配节点索引标识的过程可以但不限于为下述:
步骤一,导航设备针对轨迹路段的每个关联的轨迹路段,分别判断该轨迹路段的节点与该关联的轨迹路段的节点是否重合,即判断轨迹路段与其关联的轨迹路段之间的拓扑关系是否满足第一种情况,若判断出该轨迹路段的节点与该关联的轨迹路段的节点重合,则为重合的节点分配节点索引标识。
具体的:导航设备在判断出轨迹路段的节点与其关联的轨迹路段的节点重合时,先判断该轨迹路段和其关联的轨迹路段重合的节点是否已分配节点索引标识,若一个轨迹路段的节点已分配节点索引标识,则将所述节点索引标识分配给另一个轨迹路段中与所述节点重合的节点,若该轨迹路段和其关联的轨迹路段重合的节点均未分配节点索引标识,则为该轨迹路段和其关联的轨迹路段重合的节点分配一个新的节点索引标识。
例如,轨迹路段和其关联的轨迹路段之间的拓扑关系如图5所示,轨迹路段的路段标识为140,其关联的轨迹路段的路段标识为135,且轨迹路段140的末尾节点和轨迹路段135的起始节点重合,若导航设备并未为轨迹路段140的末尾节点分配节点索引标识,且并未为轨迹路段135的起始节点分配节点索引标识,则导航设备为轨迹路段140的末尾节点和轨迹路段135的起始节点分配同一个节点索引标识91,若导航设备并未为轨迹路段140的末尾节点分配节点索引标识,且已为轨迹路段135的起始节点分配节点索引标识,则导航设备将轨迹路段135的起始节点的节点索引标识91分配给轨迹路段140的末尾节点,若导航设备已为轨迹路段140的末尾节点分配节点索引标识,且并未为轨迹路段135的起始节点分配节点索引标识,则导航设备将轨迹路段140的末尾节点的节点索引标识91分配给轨迹路段135的起始节点。
步骤二,导航设备针对轨迹路段的每个关联的轨迹路段,分别判断该轨迹路段的节点是否位于该关联的轨迹路段中,即判断轨迹路段与其关联的轨迹路段之间的拓扑关系是否满足第二种情况,若判断出该轨迹路段的节点位于其关联的轨迹路段中,则以轨迹路段位于其关联的轨迹路段上的节点为分割点,将该关联的轨迹路段划分为两个轨迹路段,为划分出的两个轨迹路段分配路段标识,并为划分出的两个轨迹路段相互重合的节点分配节点索引标识。
具体的:若判断出轨迹路段的节点位于其关联的轨迹路段中,即轨迹路段截断了其关联的轨迹路段,则将该关联的轨迹路段划分为两个轨迹路段,其中一个轨迹路段沿用该关联的轨迹路段划分前的路段标识,为另一个轨迹路段重新分配路段标识,此外,若已为该轨迹路段中位于该关联的轨迹路段中的节点分配了节点索引标识,则可以直接将该节点索引标识分配给划分出的两个轨迹路段相互重合的节点,若未为该轨迹路段中位于该关联的轨迹路段中的节点分配节点索引标识,则可以先为该节点分配节点索引标识,然后将分配的节点索引标识分配给划分出的两个轨迹路段相互重合的节点。
步骤三,若判断出该轨迹路段的节点未位于各关联的轨迹路段中,则为该轨迹路段中未分配节点索引标识的节点分配节点索引标识。
具体的:若判断出该轨迹路段的节点未位于各关联的轨迹路段中,则判断是否已为该轨迹路段的起始节点和末尾节点分配节点索引标识,若未分配,则直接分配节点索引标识即可。
步骤四,针对轨迹路段的每个关联的轨迹路段,分别判断该关联的轨迹路段的节点是否位于该轨迹路段中,若判断出该关联的轨迹路段的节点位于该轨迹路段中,则以该关联的轨迹路段位于该轨迹路段上的节点为分割点,将该轨迹路段划分为两个轨迹路段,为划分出的两个轨迹路段分配路段标识,并为划分出的两个轨迹路段相互重合的节点分配节点索引标识。
具体的:若判断出关联的轨迹路段的节点位于该轨迹路段中,即该关联的轨迹路段截断了该轨迹路段,则将该轨迹路段划分为两个轨迹路段,其中一个轨迹路段沿用该轨迹路段划分前的路段标识,为另一个轨迹路段重新分配路段标识,此外,若该关联的轨迹路段位于该轨迹路段中的节点已经存在节点索引标识,则可以直接将该节点索引标识分配给划分出的两个轨迹路段相互重合的节点,若该关联的轨迹路段中位于该轨迹路段中的节点不存在节点索引标识,则可以先为该节点分配节点索引标识,然后将分配的节点索引标识分配给划分出的两个轨迹路段相互重合的节点。
当轨迹路段关联的路段既包含导航路段也包含轨迹路段时,本发明实施例中,根据轨迹路段和其关联的路段之间的拓扑关系,为该轨迹路段分配节点索引标识的过程可以但不限于为下述:
步骤一,导航设备首先针对轨迹路段的每个关联的导航路段,分别判断该轨迹路段的节点与该关联的导航路段的节点是否重合,即判断轨迹路段与其关联的导航路段之间的拓扑关系是否满足第一种情况,若判断出该轨迹路段的节点与该关联的导航路段的节点重合,则为重合的节点分配节点索引标识。
具体的:导航设备在判断出轨迹路段的节点与其关联的导航路段的节点重合时,将该关联的导航路段中与该轨迹路段重合的节点的节点索引标识分配给该轨迹路段中与该关联的导航路段重合的节点。
步骤二,导航设备针对轨迹路段的每个关联的轨迹路段,分别判断该轨迹路段的节点与该关联的轨迹路段的节点是否重合,即判断轨迹路段与其关联的轨迹路段之间的拓扑关系是否满足第一种情况,若判断出该轨迹路段的节点与该关联的轨迹路段的节点重合,则为重合的节点分配节点索引标识。
具体的:导航设备在判断出轨迹路段的节点与其关联的轨迹路段的节点重合时,先判断该轨迹路段和其关联的轨迹路段重合的节点是否已分配节点索引标识,若一个轨迹路段的节点已分配节点索引标识,则将所述节点索引标识分配给另一个轨迹路段中与所述节点重合的节点,若该轨迹路段和其关联的轨迹路段重合的节点均未分配节点索引标识,则为该轨迹路段和其关联的轨迹路段重合的节点分配一个新的节点索引标识。
步骤三,导航设备针对轨迹路段的每个关联的导航路段,分别判断该轨迹路段的节点是否位于该关联的导航路段中,即判断轨迹路段与其关联的导航路段之间的拓扑关系是否满足第二种情况,若判断出该轨迹路段的节点位于其关联的导航路段中,则以轨迹路段位于其关联的导航路段上的节点为分割点,将该关联的导航路段划分为两个导航路段,为划分出的两个导航路段分配路段标识,并为划分出的两个导航路段相互重合的节点分配节点索引标识。
具体的:若判断出轨迹路段的节点位于其关联的导航路段中,即轨迹路段截断了其关联的导航路段,则将该关联的导航路段划分为两个导航路段,其中一个导航路段沿用该关联的导航路段划分前的路段标识,为另一个导航路段重新分配路段标识,此外,若已为该轨迹路段中位于该关联的导航路段中的节点分配了节点索引标识,则可以直接将该节点索引标识分配给划分出的两个导航路段相互重合的节点,若未为该轨迹路段中位于该关联的导航路段中的节点分配节点索引标识,则可以先为该节点分配节点索引标识,然后将分配的节点索引标识分配给划分出的两个导航路段相互重合的节点。
步骤四,步骤二,导航设备针对轨迹路段的每个关联的轨迹路段,分别判断该轨迹路段的节点是否位于该关联的轨迹路段中,即判断轨迹路段与其关联的轨迹路段之间的拓扑关系是否满足第二种情况,若判断出该轨迹路段的节点位于其关联的轨迹路段中,则以轨迹路段位于其关联的轨迹路段上的节点为分割点,将该关联的轨迹路段划分为两个轨迹路段,为划分出的两个轨迹路段分配路段标识,并为划分出的两个轨迹路段相互重合的节点分配节点索引标识。
具体的:若判断出轨迹路段的节点位于其关联的轨迹路段中,即轨迹路段截断了其关联的轨迹路段,则将该关联的轨迹路段划分为两个轨迹路段,其中一个轨迹路段沿用该关联的轨迹路段划分前的路段标识,为另一个轨迹路段重新分配路段标识,此外,若已为该轨迹路段中位于该关联的轨迹路段中的节点分配了节点索引标识,则可以直接将该节点索引标识分配给划分出的两个轨迹路段相互重合的节点,若未为该轨迹路段中位于该关联的轨迹路段中的节点分配节点索引标识,则可以先为该节点分配节点索引标识,然后将分配的节点索引标识分配给划分出的两个轨迹路段相互重合的节点。
本发明实施例中,可以先执行步骤三,再执行步骤四,或者先执行步骤四,再执行步骤三,或者同时执行步骤三和步骤四,本发明实施例对执行步骤三和步骤四的先后顺序不作具体限定。
步骤五,若判断出该轨迹路段的节点未位于各关联的导航路段和各关联的轨迹路段中,则为该轨迹路段中未分配节点索引标识的节点分配节点索引标识;
具体的:若判断出该轨迹路段的节点未位于各关联的导航路段和各关联的轨迹路段中,则判断是否已为该轨迹路段的起始节点和末尾节点分配节点索引标识,若未分配,则直接分配节点索引标识即可。
步骤六,步骤四,针对轨迹路段的每个关联的导航路段,分别判断该关联的导航路段的节点是否位于该轨迹路段中,若判断出该关联的导航路段的节点位于该轨迹路段中,则以导航路段位于其关联的轨迹路段上的节点为分割点,将该轨迹路段划分为两个轨迹路段,为划分出的两个轨迹路段分配路段标识,并为划分出的两个轨迹路段相互重合的节点分配节点索引标识。
具体的:若判断出关联的导航路段的节点位于该轨迹路段中,即该关联的导航路段截断了该轨迹路段,则将该轨迹路段划分为两个轨迹路段,其中一个轨迹路段沿用该轨迹路段划分前的路段标识,为另一个轨迹路段重新分配路段标识,此外,直接将该关联的导航路段中位于该轨迹路段中的节点的节点索引标识分配给划分出的两个轨迹路段相互重合的节点。
步骤七,针对轨迹路段的每个关联的轨迹路段,分别判断该关联的轨迹路段的节点是否位于该轨迹路段中,若判断出该关联的轨迹路段的节点位于该轨迹路段中,则以该关联的轨迹路段位于该轨迹路段上的节点为分割点,将该轨迹路段划分为两个轨迹路段,为划分出的两个轨迹路段分配路段标识,并为划分出的两个轨迹路段相互重合的节点分配节点索引标识。
具体的:若判断出关联的轨迹路段的节点位于该轨迹路段中,即该关联的轨迹路段截断了该轨迹路段,则将该轨迹路段划分为两个轨迹路段,其中一个轨迹路段沿用该轨迹路段划分前的路段标识,为另一个轨迹路段重新分配路段标识,此外,若该关联的轨迹路段位于该轨迹路段中的节点已经存在节点索引标识,则可以直接将该节点索引标识分配给划分出的两个轨迹路段相互重合的节点,若该关联的轨迹路段中位于该轨迹路段中的节点不存在节点索引标识,则可以先为该节点分配节点索引标识,然后将分配的节点索引标识分配给划分出的两个轨迹路段相互重合的节点。
本发明实施例中,可以先执行步骤六,再执行步骤七,或者先执行步骤七,再执行步骤六,或者同时执行步骤六和步骤七,本发明实施例对执行步骤六和步骤七的先后顺序不作具体限定。
由上述处理过程可知,本发明实施例技术方案中,首先按照导航图幅,将采集到的用户轨迹划分成轨迹路段,然后在每个轨迹路段所属导航图幅中,确定轨迹路段关联的路段,根据每个轨迹路段和其关联的路段之间的拓扑关系,对每个轨迹路段所属导航图幅的导航数据进行更新。由上可见,本发明实施例提出了一种导航设备将用户轨迹融入到导航数据中,以实现自动更新导航数据的具体实现方案,那么导航设备就可以通过更新后的导航数据为用户提供更加准确的导航路径,有效地提高了导航设备的导航准确性。
与上述导航数据更新方法对应,本发明实施例提出一种导航数据更新装置,其结构如图6所示,包括:
轨迹路段划分单元61,用于按照导航图幅,将采集到的用户轨迹划分成轨迹路段;
路段确定单元62,用于在每个轨迹路段所属导航图幅中,确定轨迹路段关联的路段;
导航数据更新单元63,用于根据每个轨迹路段和其关联的路段之间的拓扑关系,对每个轨迹路段所属导航图幅的导航数据进行更新。
较佳地,路段确定单元62具体包括:
轨迹面获得子单元,用于从每个轨迹路段所属导航图幅中,获得轨迹路段对应的轨迹面;
路段获取子单元,用于从轨迹面获得子单元获得的每个轨迹面所属导航图幅中,获取与轨迹面相交的路段和/或位于轨迹面内的路段,所述获取出的路段为与轨迹面对应的轨迹路段关联的路段。
较佳地,轨迹路段关联的路段包括:导航路段;
所述装置还包括:
路段重合判断单元,用于在导航数据更新单元63对每个轨迹路段所属导航图幅的导航数据进行更新之前,判断轨迹路段与其关联的导航路段是否有重合的部分;
重合剪切单元,用于在路段重合判断单元的判断结果为是时,从轨迹路段中剪切掉与其关联导航路段重合的部分,得到新的轨迹路段;
路段确定单元62,具体用于在重合剪切单元从轨迹路段中剪切掉与其关联导航路段重合的部分之后,在每个轨迹路段所属导航图幅中,确定轨迹路段关联的路段,得到新的轨迹路段关联的路段。
更佳地,路段重合判断单元具体包括:
坐标点重合确认子单元,用于确定轨迹路段中每个坐标点与该轨迹路段关联的导航路段之间的距离,若确定出的距离小于预设的阈值,则确认该坐标点是轨迹路段与其关联的导航路段的重合点;
路段重合确认子单元,用于将轨迹路段上连续的重合点之间的轨迹确认为轨迹路段与其关联的导航路段重合的部分。
较佳地,轨迹路段关联的路段包括:导航路段;
导航数据更新单元63具体包括:
第一路段标识分配子单元,用于为每个轨迹路段分配路段标识;
第一导航数据更新子单元,用于针对轨迹路段的每个关联的导航路段,分别判断该轨迹路段的节点与该关联的导航路段的节点是否重合,若判断出该轨迹路段的节点与该关联的导航路段的节点重合,则为重合的节点分配节点索引标识;
第二导航数据更新子单元,用于针对轨迹路段的每个关联的导航路段,分别判断该轨迹路段的节点是否位于该关联的导航路段中,若判断出该轨迹路段的节点位于该关联的导航路段中,则以轨迹路段位于其关联的导航路段上的节点为分割点,将该关联的导航路段划分为两个导航路段,为划分出的两个导航路段分配路段标识,并为划分出的两个导航路段相互重合的节点分配节点索引标识;
第三导航数据更新子单元,用于针对轨迹路段的每个关联的导航路段,分别在判断出该轨迹路段的节点未位于各关联的导航路段中时,为该轨迹路段中未分配节点索引标识的节点分配节点索引标识;
第四导航数据更新子单元,用于针对轨迹路段的每个关联的导航路段,分别判断该关联的导航路段的节点是否位于该轨迹路段中,若判断出该关联的导航路段的节点位于该轨迹路段中,则以导航路段位于其关联的轨迹路段上的节点为分割点,将该轨迹路段划分为两个轨迹路段,为划分出的两个轨迹路段分配路段标识,并为划分出的两个轨迹路段相互重合的节点分配节点索引标识。
更佳地,第一导航数据更新子单元,具体用于在判断出该轨迹路段的节点与该关联的导航路段的节点重合时,将该关联的导航路段中与该轨迹路段重合的节点的节点索引标识分配给该轨迹路段中与该关联的导航路段重合的节点。
更佳地,轨迹路段关联的路段进一步包括:轨迹路段;
所述装置还包括:
第五导航数据更新子单元,用于在第二导航数据更新子单元针对轨迹路段的每个关联的导航路段,分别判断该轨迹路段的节点是否位于该关联的导航路段中之前,针对轨迹路段的每个关联的轨迹路段,分别判断该轨迹路段的节点与该关联的轨迹路段的节点是否重合,若判断出该轨迹路段的节点与该关联的轨迹路段的节点重合,则为重合的节点分配节点索引标识;
第六导航数据更新子单元,用于在第三导航数据更新子单元为该轨迹路段中未分配节点索引标识的节点分配节点索引标识之前,针对轨迹路段的每个关联的轨迹路段,分别判断该轨迹路段的节点是否位于该关联的轨迹路段中,若判断出该轨迹路段的节点位于该关联的轨迹路段中,则以轨迹路段位于其关联的轨迹路段上的节点为分割点,将该关联的轨迹路段划分为两个轨迹路段,为划分出的两个轨迹路段分配路段标识,并为划分出的两个轨迹路段相互重合的节点分配节点索引标识;
第七导航数据更新子单元,用于在第六导航数据更新子单元针对轨迹路段的每个关联的导航路段,分别判断该轨迹路段的节点是否位于该关联的导航路段中之后,针对轨迹路段的每个关联的轨迹路段,分别判断该关联的轨迹路段的节点是否位于该轨迹路段中,若判断出该关联的轨迹路段的节点位于该轨迹路段中,则以该关联的轨迹路段位于该轨迹路段上的节点为分割点,将该轨迹路段划分为两个轨迹路段,为划分出的两个轨迹路段分配路段标识,并为划分出的两个轨迹路段相互重合的节点分配节点索引标识;
第三导航数据更新子单元,具体用于针对轨迹路段的每个关联的导航路段,分别在判断出该轨迹路段的节点未位于各关联的导航路段和各关联的轨迹路段中时,为该轨迹路段中未分配节点索引标识的节点分配节点索引标识。
更佳地,第五导航数据更新子单元,具体用于在判断出该轨迹路段的节点与该关联的轨迹路段的节点重合时,判断该轨迹路段和其关联的轨迹路段重合的节点是否已分配节点索引标识,若判断出一个轨迹路段的节点已分配节点索引标识,则将所述节点索引标识分配给另一个轨迹路段中与所述节点重合的节点,若判断出该轨迹路段和其关联的轨迹路段重合的节点均未分配节点索引标识,则为该轨迹路段和其关联的轨迹路段重合的节点分配一个新的节点索引标识。
本发明实施例还提供一种导航设备,至少包括上述导航数据更新装置。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。