导航数据生产工具中对岔路口的禁止转向属性的标识方法
技术领域
本发明属于导航数据生产领域,具体地说是导航数据生产工具中对岔路口的禁止转向属性的标识方法。
背景技术
目前,公知的导航数据生产中,我们把传统上有由一条或多条双向绘制的道路形成的“岔路口”称作“聚合节点路口”,聚合节点路口实际是一个区域(如图1所示),该区域可以实现车辆按某种规则来完成转向的动作,但在导航数据生产中,我们为了保持路口数据的形状不变形,同时为了保证导航数据中道路拓扑数据的连通性,会在该聚合节点路口上虚拟一些“通路”出来,记作“Link”,这些Link在聚合节点路口区域内的部分,记作“SubLink”,在聚合节点路口和道路的交汇处会形成一些节点,这些节点为该聚合节点的“子节点”,记作“SubNode”,SubNode中的某个点会做为该聚合节点路口的“主点”来记录该路口点的禁止转向数据,该主点叫“MainNode”。聚合节点路口禁止转向数据是记录在转向聚合节点路口的主节点,即“MainNode”上。聚合节点的主节点属性表中,不仅要记录该主节点包含的SubNode的SubNodeID,还要记录该聚合节点内包含SubLink的SubLinkID。禁止转向数据文档的描述字段中记录聚合节点主节点的MainNodeID、进向边InLink的序列号InLinkID、出向边OutLink的序列号OutLinkID,表示在该聚合节点路口,不能从进向边转向到出向边。由此可见,该聚合路口禁止转向规则的记录方法不仅和进边出边的LinkID密切关联、而且和该聚合节点的MainNodeID、SubNodeID、SubLinkID密切关联。MainNodeID决定该聚合节点路口的禁止转向数据应记录在哪个节点上,SubNodeID表示该聚合节点的子点从属于那个MainNodeID,由SubLinkID组成的道路拓扑网络,确定聚合节点内部从某一SubNode到另一SubNode的通行路径。MainNode和聚合节点的外边(就是和聚合节点相连的Link,但不包含聚合节点内部的SubLink)参与导航软件的路径规划,在路径规划结束后,路径涉及到的聚合节点,系统会根据该聚合节点进入和退出该聚合节点的SubNodeID,查找一个聚合节点内部的虚拟通行路径,将该路径加入整体的规划结果中,完成整体路径规划。这就要求在一个区域的导航数据中,必须事先为每个Link段分配唯一的ID,为每个路口节点分配唯一的NodeID,确定每个聚合点主点MainNodeID、子点SubNodeID及主点和子点的从属关系,同时要确定该聚合节点包含哪些SubLink,并且每个Link段的LinkID,每个聚合节点的MainNodeID、SubNodeID、SubLinkID在以后的编辑过程中要始终保持不变。由于在导航数据生产过程中,我们并不能事先确定在一个区域的导航数据中存在多少条Link,更无法确定随着该区域道路建设的进展,会增加或删除多少个Link。当增加一条Link时,那么在原来的Link上会增加一个路口点,原来的Link一分为二,新增的Link段将需要重新分配ID或者被一分为二的两个Link段的都需要重新分配ID;当删除一条Link时,会造成两条Link将被聚合,聚合后的LinkID只能继承两LinkID中的其中一个ID或者重新为聚合后的Link分配一个ID;无论何种情况下,当涉及到图1中记录的聚合节点路口禁止转向数据的InLink、OutLink的LinkID发生变化时,或者聚合节点路口的MainNodeID、SubNodID及SubLinkID发生变化时,都需要对该聚合节点路口记录的转向数据或者对该聚合节点路口的数据重新进行编辑修改。而这种现象在导航数据生产过程中会普遍存在,频繁的修改禁止转向数据记录和聚合节点路口数据不但容易出错,而且增加了数据编辑的工作量,从而影响到数据生产的质量和效率。
发明内容
本发明为了克服现有聚合节点路口记录禁止转向信息的方法不仅和进边、出边的LinkID密切关联、而且和该聚合节点的MainNodeID、SubNodeID、SubLinkID密切关联所带来的缺点,设计了导航数据生产工具中对岔路口的禁止转向属性的标识方法,将导航数据生产过程中,岔路口的禁止转向数据的记录与LinkID和该岔路口的MainNodeID、SubNodeID、SubLinkID无关,从而大大提高了数据生产的质量和效率。
本发明采用的技术方案是:导航数据生产工具中对岔路口的禁止转向属性的标识方法,是在带有道路通行方向信息的电子矢量地图的支持下,借助于电脑键盘和鼠标实现的,关键在于:所述的导航数据生产工具中增设中间存储器及编码电路,所述的标识方法步骤中包括:
A、根据电子矢量地图中各道路相对于岔路口的进向、出向标记,选定一条进向的道路,对与该岔路口相交的出向道路按照逆时针旋转的次序进行1-N流水编号;
B、设置一个N位二进制数为上述已选定的进向道路的转向限制码,该二进制数的位数对应于从该进向道路禁止转向到出向道路的流水编号1-N,限转向时该二进制数中与出向道路流水编号对应的码位的数值为1、不限转入时该码位的数值为0;
C、人为借助于电脑键盘和鼠标将以上的N位二进制数值作为转向规则属性代码输入,导航数据生产工具中的CPU将该转向规则属性代码存储至中间存储器中;
D、编码电路对中间存储器中的内容进行二进制与十进制的数值转换,并将转化后的数据作为禁拐属性值存储于更新至中间存储器中,CPU将该禁拐属性值赋予距离该进向道路进入岔路口区域的最近的一个形状点。
本发明的有益效果是:将导航数据生产过程中,岔路口的禁止转向数据的记录与LinkID和该岔路口的MainNodeID、SubNodeID、SubLinkID无关,从而大大提高了数据生产的质量和效率。
附图说明
图1是现有技术中岔路口的禁止转向数据的标识方法示意图。
图2是本发明方法对岔路口的禁止转向的标识方法示意图。
附图中,P代表岔路口,箭头代表道路的进出向,1、2、3、4代表流水编号,同心圆代表MainNode,空心圆代表SubNode。
具体实施方式
导航数据生产工具中对岔路口的禁止转向属性的标识方法,是在带有道路通行方向信息的电子矢量地图的支持下,借助于电脑键盘和鼠标实现的,重要的是:所述的导航数据生产工具中增设中间存储器及编码电路,所述的标识方法步骤中包括:
A、根据电子矢量地图中各道路相对于岔路口P的进向InLink、出向OutLink标记,选定一条进向InLink的道路,对与该岔路口P相交的出向OutLink道路按照逆时针旋转的次序进行1-N流水编号;
B、设置一个N位二进制数为上述已选定的进向InLink道路的转向限制码,该二进制数的位数对应于从该进向InLink道路禁止转向到出向OutLink道路的流水编号1-N,限转向时该二进制数中与出向道路流水编号对应的码位的数值为1、不限转入时该码位的数值为0;
C、人为借助于电脑键盘和鼠标将以上的N位二进制数值作为转向规则属性代码输入,导航数据生产工具中的CPU将该转向规则属性代码存储至中间存储器中;
D、编码电路对中间存储器中的内容进行二进制与十进制的数值转换,并将转化后的数据作为禁拐属性值存储于更新至中间存储器中,CPU将该禁拐属性值赋予距离该进向InLink道路进入岔路口P区域的最近的一个形状点。
所述的N位二进制数是16位的二进制数。当道路采用双线道路表示时,两条双线道路相交时的聚合节点就会产生八个外边,每增加一条道路就会增加四个外边,这样当每个外边都需要用16进制的一个位来表示InLink到该边有无规则时,当聚合节点的外边超过16条时,一个二进制的16位数就无法表示该InLink经由聚合节点到其它边的所有禁入状态,而该聚合节点的进边相对于其它进边来说,由于单行规则的限制,本身就隐含有禁入规则,而且在导航软件路径搜索时,优先判断道路的通行方向,最后才检查路口的转向限制,当通行方向受限时,就不会有违反通行方向搜索出的可行线路,所以记录从一个进边不能到另一个进边只会产生较多的冗余数据,事实上,我最后的导航数据转行中,这样的限制规则既是存在也会被导航数据转换工具过滤掉,所以在聚合节点中,为了将聚合节点外边的流水编号控制在16以内,我们在从InLink起对外边进行编号时只对出边进行编号,而会忽略进边,这样则很容易将规则计数的外边个数控制在16条内,实践证明,到目前为止我们尚未在数据生产中发现有超过16条出边的聚合节点路口。
在具体实施时,从InLink边起沿岔路口逆时针旋转对和该岔路口相连的各个OutLink的道路进行流水编号,利用InLink上距离岔路口区域最近的一个形状点的禁止转向数据信息记录从该道路禁止转向的道路的流水编号,该点的禁止转向数据信息由一个二进制的十六位数来表示,每一位可以置0或者1,0表示不存在禁止转向,1表示存在禁止转向。如图2,当要表示禁止从InLink边转向到流水编号为4的OutLink边时,可以把InLink边上距离岔路口最近的一个形状点的禁止转向数据信息设置为禁拐4,禁转信息的二进制数“0000000000001000”,二进制数转换为十进制为8,CPU将该禁拐属性值赋予距离该InLink道路进入岔路口P区域的最近的一个形状点。表示从InLink进边不能到流水号为4的出边。当要表示禁止从InLink边转向到流水编号为2和流水号为4的OutLink边时,可以把InLink边上距离路口点最近的一个形状点的禁止转向数据信息设置为禁拐2和禁拐4,表示从InLink进边既不能到流水编号为4的出边,也不能到流水编号为2的出边,该禁转信息用二进制表示为“0000000000001010”,二进制数转换为十进制为10,CPU将该禁拐属性值赋予距离该InLink道路进入岔路口P区域的最近的一个形状点。当要表示禁止从InLink边转向到流水编号为2、流水号为4、流水号为3的OutLink边时,可以把InLink边上距离岔路口最近的一个形状点的禁止转向数据信息设置为禁拐2、禁拐4和禁拐3,表示从InLink进边既不能到流水号为4的出边,也不能到流水号为2的出边,也不能到流水号为3的出边,该禁转信息用二进制表示为“0000000000001110”,二进制数转换为十进制为14,CPU将该禁拐属性值赋予距离该InLink道路进入岔路口P区域的最近的一个形状点。