1、基于道路数据增量更新的导航电子地图动态拓扑重建系统方法权利要求 translate this text1.一种基于道路数据增量更新的导航电子地图动态拓扑重建系统方法,其特征在于:它由中心端服务器、通信网络和车载导航终端构成,中心端服务器包括支持增量更新的拓扑结构数据存储模块、道路数据增量更新模块与增量更新数据包在线生成模块;通信网络采取 GPRS 无线通信方式,实现中心端服务器与车载导航终端之间的数据传输;车载导航终端包括增量更新数据包解析转化模块,将增量更新数据合并到本地导航数据文件中。2.根据权利要求 1 所述的基于道路数据增量更新的导航电子地图动态拓扑重建系统方法,其特征在于:所述的支持
2、增量更新的拓扑结构数据存储模块是将路网拓扑结构数据采用邻接表的形式存储,该模块流程为:a、从原始路网数据库中,提取路段编号、起始节点标识、终止节点标识、长度信息,同时提取对应于该路段编号的行程时间信息,生成弧段拓扑数据表;b、从原始路网数据库中,提取节点标识,并检查有无重复,如有重复则去掉重复端点信息,提取对应节点标识的经纬度数据,生成节点拓扑数据表。3.根据权利要求 1 所述的基于道路数据增量更新的导航电子地图动态拓扑重建系统方法,其特征在于:所述道路数据增量更新模块具体包括路段添加、路段删除和路段更改操作,其中,道路的新建对应路段添加操作;道路的废弃对应路段删除操作;道路的拓宽和若干道路的
3、合并实际上只是路段属性发生变化,对应路段更改操作。4.根据权利要求 1 所述的基于道路数据增量更新的导航电子地图动态拓扑重建系统方法,其特征在于:所述的增量更新数据包在线生成模块采用 XML 可扩展标记语言的形式制作增量更新数据包,并实时根据用户需求下发给车载导航终端。5.根据权利要求 1 所述的基于道路数据增量更新的导航电子地图动态拓扑重建系统方法,其特征在于:所述的增量更新数据包解析转化模块在车载导航终端对接收到的增量更新数据包进行解析转化,把增量更新数据合并到本地导航数据文件中,完成基于道路数据增量更新的导航电子地图动态拓扑重建。说明 translate this text基于道路数据增
4、量更新的导航电子地图动态拓扑重建系统方法 【技术领域】本发明涉及导航电子地图的在线增量式更新方法,更具体涉及基于道路数据增量更新的导航电子地图动态拓扑重建系统。【背景技术】现阶段,导航电子地图的更新主要采取离线版本式更新方法。离线版本式更新方法是以一定时间段为一个周期,对道路数据进行全面的修测和补测,甚至是重测,根据采集的全部更新数据制作出具有新的版本编号的导航电子地图,并用其替换用户原有的导航电子地图。该方法工作量大,成本高,需要很长的更新周期(一般为 6-12 个月),新建道路、交通管制等常见道路变化无法在导航电子地图上实时反映,经常造成诱导路线错误显示,无法满足交通诱导系统对导航电子地图
5、高现势性的要求。【发明内容】本发明提出一种基于道路数据增量更新的导航电子地图动态拓扑重建系统,实现了导航电子地图的实时在线更新。中心端服务器存储管理更新数据源,根据客户端需求生成增量数据包,通过无线网络发送到车载导航终端,车载导航终端对接收到的增量数据包进行解析转化,把增量数据合并到本地导航数据文件中,从而完成整个导航电子地图路网拓扑结构的实时更新。本发明的技术方案是采用中心端服务器、通信网络和车载导航终端构成基于道路数据增量更新的导航电子地图动态拓扑重建系统。中心端服务器主要包括支持增量更新的拓扑结构数据存储模块、道路数据增量更新模块与增量更新数据包在线生成模块,支持增量更新的拓扑结构数据存
6、储模块通过邻接表对道路数据进行存储和管理;当接收道路增量数据时,道路数据增量更新模块能够对更新的道路数据拓扑结构进行快速重新构建;增量更新数据包在线生成模块能够根据客户端需求,通过 XML 可扩展标记语言的形式生成增量更新数据包。通信网络采取 GPRS 无线通信方式,可实现中心端与车载导航终端之间的数据传输。车载导航终端包括增量更新数据包解析转化模块,能够将增量更新数据合并到本地导航数据文件中。通过采用上述方案,解决了传统离线版本式更新方法更新成本高、更新周期长、导航电子地图无法二次利用等弊端,实现了导航电子地图的实时在线更新,使交通诱导系统为出行者提供的出行路径更加准确、可用。【附图说明】图
7、 1 为本发明方框图;图 2 为路网拓扑结构的邻接表结构示意图;图 3 为道路数据增量更新模块路段添加操作流程图;- 1 - 图 4 为道路数据增量更新模块路段删除操作流程图;图 5 为道路数据增量更新模块路段更改操作流程图;图 6 为增量更新数据包解析转化流程图。【具体实施方式】以 KIWI、GDF、SDAL 格式的导航电子地图为基础,将导航电子地图数据库中的道路网络拓扑结构数据采用邻接表的形式存储,以更好地支持增量更新与动态拓扑重建;道路增量数据经过道路数据增量更新模块处理,完成相应的路段添加、路段删除、路段更改操作;通过 XML 可扩展标记语言的形式完成增量更新数据包的在线生成;根据客户
8、需求通过通信模块将增量更新数据包发送到车载导航终端,车载导航终端对接收到的增量更新数据包进行解析转化,把增量更新数据合并到本地导航数据文件中,从而完成基于道路数据增量更新的导航电子地图动态拓扑重建。具体流程如附图 1 所示。1.支持增量更新的拓扑结构数据存储模块把导航电子地图路网中的路段定义为节点和弧段的组合,采用邻接表的结构表示道路网络拓扑结构,如附图 2 所示。邻接表是采用链表实现的,链表对于元素的增删操作相当方便,有利于大型交通网络的动态调整。首先对路网中每个道路节点进行编号,然后对每一道路节点建立一个单链表,每个单链表都由表结点和表头结点构成,单链表中的 个表结点表示以表头结点所代表的
9、道路节点为起点的 条弧段,表结点的数据结构中记录了该条弧段的终点、权值等属性信息,链表的表点结点以顺序结构形式存储,以便随机访问路网中任一道路节点的弧段链表。1)将路网中的所有道路节点编号作为图的表头结点表头结点的数据结构定义如下:struct HeaderNodeTypelong nodeID ;/节点标识符( 路段起点标识符)double longitude;/节点经纬度double latitude;ArcNodeType*firstArc;/指向以此节点为起点的路段链表2)表头结点中包含一链表指针,指向以该表头结点为起点的所有弧段构成链表弧段链表的元数据结构定义如下:struct Ar
10、cNodeTypelong arcID;/弧段标识符,不同于路段地理数据库中的路段标识符,一条长的道路需在道路节点处断开,此时可能会把一条道路分成若干条弧段long roadID;/路段标识符,在导航地理数据库中的道路编号,照此可以直接去道路属性数组中取得道路属性long nodeID ;/路段终点标识符( 与某一节点标识符对应)double longitude;/终点经纬度double latitude;double weight;/道路权重- 2 - ArcNodeType*next;/指向下一弧段2.道路数据增量更新模块导航电子地图中,道路数据的增量更新主要表现为道路的新建、道路的拓宽、
11、若干道路的合并以及道路的废弃等具体情况。道路的新建对应路段添加操作;道路的废弃对应路段删除操作;道路的拓宽和若干道路的合并实际上只是路段属性发生变化,对应路段更改操作。1)路段添加操作路段添加的操作流程见附图 3。当添加路段不与导航电子地图中原有路段相交时,首先判断添加路段的首节点是否与节点数组中的某个节点重合。若重合,在该节点邻接路段中添加该路段的标志,同时在弧段数组里增加新路段 ID 和首尾节点 ID;若节点数组中没有已存在的节点与添加路段的首节点重合,则在新弧段的首节点地理位置建立新节点,并把新弧段的标志添加到该节点的邻接路段中,同时弧段数组里增加新路段 ID 和首尾节点 ID。当添加路
12、段与导航电子地图中原有路段相交时,需要计算交点,在交点处拆分与之相交的路段,建立新的路段,删除旧路段,然后直接参照添加路段不与导航电子地图中原有路段相交的方法进行更新操作。(1)路段相交的判断方法使用 MapX 中的 Intersection 函数进行路段相交判断和交点获取。(2)节点重合的判断方法Step1:根据添加路段的节点信息建立一条新的路段;Step2:分别以新建路段的前后节点为圆心, 5m 为半径,搜索是否有相交对象,如果未搜索到对象存在,转为路段相交判断;Step3:如果搜索到的对象个数 n1,且该路段节点与搜索结果中任意对象路段的前后节点距离其中有一个5m,则将新建道路的节点变更
13、为该对象路段的节点,并记录该对象路段的节点标识;Step4:如果搜索对象个数 n1,且该路段节点与对象路段的前后节点的距离5m ,则延长新建路段与对象路段相交,求取交点坐标,将新建道路的节点变更为该交点。2)路段删除操作路段删除的操作流程见附图 4。从地图数据库的道路路段表中删除被删路段的相关记录,同时删除该路段 ID 所对应的拓扑结构数据,并从被删路段首结点的邻接路段中删除该路段的信息。若图幅中不允许存在假结点,还要判断删去路段后,被删路段的首、尾结点的出入度是否全为 1。若是,则删除假结点,将两条路段合并。路段合并的方法如下:Step1:在节点数据表中,删去中间节点 ID 的所有数据信息;
14、Step2:根据所连接的两条路段的数据建立新路段,更新新路段上两个节点的路段信息;Step3:删除与被连接的两条路段相关的信息。- 3 - 3)路段更改操作路段更改的操作流程见附图 5。路段更改操作相对简单,主要是根据道路增量数据更改 FeatureID,同时更改与之对应的属性列 ID 和内容。3.增量更新数据包在线生成模块增量更新数据包是在道路数据增量更新模块完成增量更新操作以后,根据客户需求生成的下发给车载导航终端的增量更新地图数据。增量更新数据包通过 XML 可扩展标记语言的形式来完成。1)增量更新数据包的整体设计结构-List-List-doublestringintdoubledou
15、ble2)XML 语句解析(1)UpdateOperation 为操作类别项,参数 Operation 定义为 string,内容可选为“Add” 、“Modify”、 “Delete”,分别代表对数据库中写入、修改和删除的内容。参数 Category 定义为 String,内容可选为 “Link”、 “Node”,分别对应了路段和结点属性的更新。(2)UpdateOperation 项中包含 LinkFeature 和 PointFeature 两项,代表数据库中更新的路段和结点信息,分别对应写入相应的路段和结点数据表中。(3)Update 项为更新的内容,由 List 项表示;List 项
16、为多变项,共由、 、 、等子项构成。为新的 ID 编号,当更新类型为 Modify 时,子项可用;为新的路段 ID 编号,当更新类型为 Modify 和 Add 时,子项可用;为与新加结点相邻的路段名称,当更新类型为 Modify 和 Add,且项为 PointFeature 项时可用;为新加路段的道路等级,当更新类型为 Modify 和 Add,且项为 LinkFeature 项时可用;- 4 - 为新加路段的前、后结点的 ID 号,当更新类型为 Modify 和 Add,且项为 LinkFeature 项时可用;为新加路段的所有组成结点的经纬度,当更新类型为 Add,且项为 LinkFeature 项时可用。4.增量更新数据包解析转化模块车载导航终端对接收到的增量更新数据包进行解析转化,把增量更新数据合并到本地导航数据文件中,完成基于道路数据增量更新的导航电子地图动态拓扑重建。将增量更新数据包解压缩之后,首先根据 operation 参数对增量数据的类型进行判断,然后依据不同类型应用添加、删除、修改三种方式对本地导航数据文件进行更新,当操作类型为添加时,还要通过 category 参数的判别结果分别对弧段和节点的更新数据进行具体操作。增量更新数据增量更新数据包解析转化流程见附图 6。