CN101924647B - 一种用于导航路网增量更新的局域拓扑重建方法 - Google Patents
一种用于导航路网增量更新的局域拓扑重建方法 Download PDFInfo
- Publication number
- CN101924647B CN101924647B CN2010102342838A CN201010234283A CN101924647B CN 101924647 B CN101924647 B CN 101924647B CN 2010102342838 A CN2010102342838 A CN 2010102342838A CN 201010234283 A CN201010234283 A CN 201010234283A CN 101924647 B CN101924647 B CN 101924647B
- Authority
- CN
- China
- Prior art keywords
- highway section
- node
- highway
- topology
- sections
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Traffic Control Systems (AREA)
Abstract
一种用于导航路网增量更新的局域拓扑重建方法,涉及一种局域拓扑重建方法,解决了现有的导航路网全局拓扑构建技术效率低、耗时长的问题, 所述方法具体过程如下:一、根据原有的路网数据,提取全局路网拓扑信息,形成拓扑信息文件;二、在原有的路网数据基础上,增加路网增量数据,所述路网增量数据包括新增路段数据和销毁路段数据;三、根据路网增量数据确定路网变化的类型,并根据路网变化的类型确定局域拓扑重建方案;四、根据步骤三获得的路网变化的类型和相应的局域拓扑重建方案,修改步骤一中的拓扑信息文件,使得路网更新后,全局路网拓扑关系随之更新。本发明适用于导航路网数据局域更新的拓扑维护。
Description
技术领域
本发明涉及一种局域拓扑重建方法。
背景技术
近些年来,关于GIS空间数据库的增量更新研究成果主要集中在框架思想设计、空间匹配技术,增量数据获取方法等方面;在专题数据库更新方面,国内关于地籍数据库的增量更新也有许多研究成果。尽管增量更新是时空数据库数据更新的必然发展趋势,但目前还处于初步研究阶段;路网信息较其他专题数据(例如地地籍数据)更要求现势性,并且路网数据增量更新设计到的因素较多,可供参考研究成果较少。
早在80年代,空间关系理论问题就已提出,拓扑信息对空间数据分析和处理具有重要意义,根据拓扑关系可以确定地理实体间的空间位置关系、便于空间要素查询、有利于地图图形的重构,特别是在网络分析方面更显优势。
经过二十多年的研究,形成了大量的空间拓扑理论和方法:基于点集拓扑理论提出了四交模型对拓扑模型的发展具有重大推动作用,之后4交模型扩充为9交模型;理论的研究推动技术的革新,拓扑关系的重建研究一直是GIS的研究课题之一。在早期的地理信息系统中,拓扑关系的建立通常采用手工赋值的方式进行,但由于空间数据的复杂性,手工方式需要大量的人力、物力,而且容易造成拓扑关系的错误表达。随着左转算法(右转算法)、QI算法的提出,使得自动搜索多边形成为可能,于是自动构建拓扑关系一度成为GIS中研究的热门。为了提高拓扑重建效率,新方法新思路不断得以提出,例如:通过分区思想减少了空间数据的自动求交、结点匹配等计算工作量;基于方位角定义的多边形自动构建方案;通过邻接表法存储路网数据;将全局的矢量拓扑分析转化为单个格网范围内足够少的矢量线段求交过程,等等。
综上所述,拓扑构建由手工化发展到自动化,但实现效率(主要是指时间效率)一直是拓扑重建所要解决的主要问题之一;借用数据结构理论方法可以提高实现效率,但是对大数据量而言,仍需较多时间。局域拓扑重建是指在局域范围内进行空间实体的拓扑关系构造,并且与其他未变化区域保持拓扑一致性;路网局域拓扑重建大大减少了空间数据的计算量,从而提高重建效率,但目前关于这方面的研究较少,而且没有涉及关于局域拓扑的相关模型。
发明内容
本发明为了解决现有的导航路网全局拓扑构建技术效率低、耗时长的问题,提出一种用于导航路网增量更新的局域拓扑重建方法。
一种用于导航路网增量更新的局域拓扑重建方法,具体过程如下:
步骤一、根据原有的路网数据,提取全局路网拓扑信息,形成拓扑信息文件;
步骤二、在原有的路网数据基础上,增加路网增量数据,所述路网增量数据包括增加路段数据和销毁路段数据;
步骤三、根据路网增量数据确定路网变化的类型,并根据路网变化的类型确定局域拓扑重建方案;
步骤四、根据步骤三获得的路网变化的类型和相应的局域拓扑重建方案,修改步骤一中的拓扑信息文件,实现局域拓扑重建,进而使得全局路网拓扑关系随之更新。
本发明利用路网增量数据,通过增量更新方式更新路网信息,并利用维护局域拓扑的手段保持路网更新后的拓扑关系一致性,效率高、同步性好,有利于路网的及时、快速更新。适用于导航路网数据局域更新的拓扑维护。
附图说明
图1是本发明的一种用于导航路网增量更新的局域拓扑重建方法的流程图。图2至图7是路网变化方式的示意图;图2为类型a路段的示意图,图3为类型b路段的示意图,图4为类型c路段的示意图,图5为类型d路段的示意图,图6为类型e路段的示意图,图7为类型f路段的示意图。
具体实施方式
具体实施方式一:结合图1说明本实施方式,一种用于导航路网增量更新的局域拓扑重建方法,具体过程如下:
步骤一、根据原有的路网数据,提取全局路网拓扑信息,形成拓扑信息文件;
步骤二、在原有的路网数据基础上,增加路网增量数据,所述路网增量数据包括增加路段数据和销毁路段数据;
步骤三、根据路网增量数据确定路网变化的类型,并根据路网变化的类型确定局域拓扑重建方案;
步骤四、根据步骤三获得的路网变化的类型和相应的局域拓扑重建方案,修改步骤一中的拓扑信息文件,实现局域拓扑重建,进而使得全局路网拓扑关系随之更新。
具体实施方式二、本实施方式是对具体实施方式一的进一步说明,具体实施方式一步骤一中所述的原有的路网数据包括路段集和结点集,结点集中的结点为对应路段集中路段的端点;所述拓扑信息文件包括结点-路段拓扑信息文件和路段-结点拓扑信息文件;所述的结点-路段拓扑信息文件记录结点连接的路段信息,包含字段有结点的ID标识号码和结点的连接路段LINKLIST属性信息,其中结点的连接路段LINKLIST属性信息为与所述结点连接的路段的ID标识号码;所述路段-结点拓扑信息文件记录路段与结点的对应关系,包含字段有路段的ID标识号码、FNODE起始点信息和TNODE终止点信息;所述FNODE起始点信息表示路段起始端点对应结点的ID标识号码,所述TNODE终止点信息表示路段终止端点对应结点的ID标识号码。
具体实施方式三、本实施方式是对具体实施方式一或二中步骤一的进一步说明,步骤一中提取全局路网拓扑信息的具体过程如下:
步骤一一、顺序提取已知路段集中第一条路段,然后在结点集中搜索与该路段起始端点和终止端点分别重合的结点;将所述第一条路段的拓扑信息记录于路段-结点拓扑文件中,所述第一条路段的拓扑信息为该路段的ID标识号码、FNODE起始点信息和TNODE终止点信息;
步骤一二、按照路段存储顺序提取已知路段集中第i条路段的拓扑信息,i≥2;
步骤一三、重复执行步骤一二,直到完成最后一条路段的拓扑信息记录。
具体实施方式四:本实施方式是对具体实施方式一或二中步骤一的进一步说明,步骤一中提取全局路网拓扑信息的具体过程如下:
步骤一四、顺序提取结点集中的第一个结点,然后在路段集中搜索与该结点相交的路段,并获取相交路段的ID标识号码;将所述第一个结点的拓扑信息记录于结点-路段拓扑信息文件,所述第一个结点的拓扑信息为该结点的ID标识号码及该结点的连接路段LINKLIST属性信息;
步骤一五、按照结点存储顺序提取已知结点集中第i个结点的拓扑信息,i≥2;
步骤一六、重复执行步骤一五,直到完成最后一个结点的拓扑信息记录。
具体实施方式五:结合图2至图7说明本实施方式,本实施方式是对具体实施方式一、二、三或四中步骤二的进一步说明,步骤二中增加路段数据和销毁路段数据各分为六种类型,所述六种类型中增量路段端点对应结点在原结点集中的存在情况和与已有路段相交情况如表1所示,
表1
具体实施方式六:结合图2至图7说明本实施方式,本实施方式是对具体实施方式五中步骤三的进一步说明,步骤三中根据路网变化的类型确定局域拓扑重建方案,包括增加路段类型的局域拓扑重建方案和销毁路段类型的局域拓扑重建方案,其中:
类型a至类型f的增加路段类型的局域拓扑重建方案如下:
对于类型a路段、首先,在路段集中增加1条路段记录,在结点集中增加所述路段的起始端点对应结点和终止端点对应结点,并分别设置ID标识号码,其次,将所述路段的拓扑信息增加到路段-结点拓扑文件,并将所述两结点的拓扑信息增加到结点-路段拓扑文件,所述两结点的连接路段LINKLIST属性信息设置为所述增加路段的ID标识号码;
对于类型b路段、首先,在路段集中增加3条路段记录,所述3条路段为新增加的1条路段、与新增加路段相交的原有的1条路段被新增加路段拆分成的2条新路段,并设置这3条路段的ID标识号码;其次,在路段集中删除与新增路段相交的原有路段,并在路段-结点拓扑文件中删除被删除路段的拓扑记录;再次,在结点集中增加两个结点,并分别设置所述两个结点的ID标识号码为所述新增加的1条路段的起始端点对应结点的ID标识号码和路段终止端点对应结点的ID标识号码;最后,将所述3路段的拓扑信息增加到路段-结点拓扑文件,在结点-路段拓扑文件中增加所述两个结点的拓扑信息,并修改被删除路段两端点对应结点的连接路段LINKLIST属性信息;
对于类型c路段、首先,在路段集中增加5条路段记录,所述5条路段为新增加的1条路段、与新增加路段相交的原有的两条路段分别被新增加路段拆分成的4条新路段,并设置这5条路段的ID标识号码;其次,在路段集中删除与新增路段相交的原有路段的所有信息,并在路段-结点拓扑文件中删除被删除路段的拓扑记录;再次,在结点集中增加两个结点记录,分别设置所述两个结点的ID标识号码为所述新增加的1条路段的起始端点对应结点的ID标识号码和路段终止端点对应结点的ID标识号码;最后,将所述5条路段的拓扑信息增加到路段-结点拓扑文件,在结点-路段拓扑文件中增加所述两个结点的拓扑信息,并修改被删除路段两端点对应结点的连接路段LINKLIST属性信息;
对于类型d路段、首先,在路段集中增加1条路段记录,设置该路段的ID标识号码;其次,在结点集中新增1个结点记录,此结点为新增路段与原有路段未相交的新增路段端点,设置所述结点的ID标识号码为所述新增路段的终止端点对应结点的ID标识号码;最后,将所述新增路段的拓扑信息增加到路段-结点拓扑文件,将所述新增结点的拓扑信息增加到结点-路段拓扑文件,所述新增结点的连接路段LINKLIST属性信息为所述新增路段的ID标识号码,并将所述新增路段与原有路段的相交结点的连接路段LINKLIST属性信息增加所述新增路段的ID标识号码;
对于类型e路段、首先,在路段集中增加3条路段记录,所述3条路段为新增加的1条路段、与新增加路段相交的原有的1条路段被新增加路段拆分成的2条新路段,并设置这3条路段的ID标识号码;其次,在路段集中删除与新增加路段相交的原有路段的所有信息,并在路段-结点拓扑文件中删除被删除路段的拓扑记录;再次,在结点集中增加1个结点记录,此结点为新增路段与原有路段相交于非结点的点,设置ID标识号码为所述新增路段的终止端点对应结点的ID标识号码;最后,将所述3路段的拓扑信息增加到路段-结点拓扑文件,将所述结点的拓扑信息增加到结点-路段拓扑文件,所述结点的连接路段LINKLIST属性信息为所述3条增加路段的ID标识号码,将相交结点的连接路段LINKLIST属性信息增加所述增加路段的ID标识号码,修改被删除路段两端点对应结点的连接路段LINKLIST属性信息;
对于类型f路段、首先,在路段集中增加1条路段记录,设置该路段的ID标识号码,并将该路段的拓扑信息增加到路段-结点拓扑文件;其次,在结点-路段拓扑文件中将相交结点的连接路段LINKLIST属性信息增加所述增加路段的ID标识号码;
类型a至类型f的销毁路段类型的局域拓扑重建方案如下:
对于类型a路段,首先,在结点集中删除销毁路段起始端点对应结点和终止端点对应结点的所有信息,并在结点-路段拓扑文件中删除相应的拓扑记录;其次,在路段集中删除销毁路段的路段记录,并在路段-结点拓扑文件中删除所述销毁路段的拓扑记录;
对于类型b路段,首先,在结点集中删除销毁路段起始端点对应结点和终止端点对应结点的所有信息,并在结点-路段拓扑文件中删除相应的拓扑记录;其次,在路段集中删除3条路段记录,所述3条路段为销毁的1条路段、与销毁路段相交的原有的2条路段,并在路段-结点拓扑文件中删除所述3条路段的拓扑记录;再次,在路段集中增加1条路段记录,所述增加的1条路段为与销毁路段相交的原有的2条路段合并成的1条新路段,并设置该条新路段的ID标识号码,并在路段-结点拓扑文件中记录所述的1条新路段的拓扑记录;最后,在结点-路段拓扑文件中修改所述的1条新路段的起始端点对应结点和终止端点对应结点的拓扑记录,将所述的1条新路段的起始端点对应结点和终止端点对应结点的连接路段LINKLIST属性信息增加该新路段的ID标识号码并删除被删除路段的ID标识号码;
对于类型c路段,首先,在结点集中删除销毁路段起始端点对应结点和终止端点对应结点的所有信息,并在结点-路段拓扑文件中删除相应的拓扑记录;其次,在路段集中删除5条路段记录,所述5条路段为销毁的1条路段、分别与销毁路段两端点相交的原有的4条路段,并在路段-结点拓扑文件中删除所述的5条路段的拓扑记录;再次,在路段集中增加两条路段信息,所述的两条路段为与销毁路段两端点相交的原有的4条路段合并成的2条新路段,并设置该2条新路段的ID标识号码,并在路段-结点拓扑文件中记录所述的2条路段的拓扑记录;最后,在结点-路段拓扑文件中修改所述的2条路段的起始端点对应结点和终止端点对应结点的拓扑记录,将所述的2条新路段的起始端点对应结点和终止端点对应结点的连接路段LINKLIST属性信息增加该新路段的ID标识号码并删除被删除路段的ID标识号码;
对于类型d路段,首先,在结点集中删除1个结点记录,此结点为销毁路段与原有路段未相交的点,并在结点-路段拓扑文件中删除相应的拓扑记录,其次,在结点集中修改销毁路段与原有路段相交的结点记录,在结点-路段拓扑文件中将所述结点的连接路段LINKLIST属性信息中删除被删除路段的标识号码;最后,在路段集中删除销毁路段的路段记录,并在路段-结点拓扑文件中删除所述的销毁路段的拓扑记录;
对于类型e路段,首先,在节点集中删除1个结点记录,此结点为销毁路段与原有路段相交于非结点的点,并在结点-路段拓扑文件中删除相应的拓扑记录;其次,在路段集中删除3条路段记录,所述3条路段为销毁的1条路段、与销毁路段相交的原有的2条路段,并在路段-结点拓扑文件中删除所述的3条路段的拓扑记录;再次,在路段集中增加1条路段记录,所述增加的1条路段为与销毁路段相交的原有的2条路段合并成的1条新路段,并设置该条新路段的ID标识号码,并在路段-结点拓扑文件中记录所述的1条新路段的拓扑记录;最后,在结点-路段拓扑文件中修改所述1条新路段的起始端点对应结点和终止端点对应结点的拓扑记录,将所述1条新路段的起始端点对应结点和终止端点对应结点的连接路段LINKLIST属性信息中删除相应销毁路段的ID标识号码并增加所述1条新增路段的ID标识号码;
对于类型f路段,首先,在路段集中删除销毁路段的路段记录,并在路段-结点拓扑文件中删除相应的拓扑记录,其次,在结点-路段拓扑文件中修改所述销毁路段的起始端点对应结点和终止端点对应结点的拓扑记录,将销毁路段的ID标识号码在销毁路段的起始端点对应结点和终止端点对应结点的连接路段LINKLIST属性信息组成中删除。
结合图2至图7说明路网变化的类型确定局域拓扑重建方案。
类型a,首先在路段集中增加路段的路段记录,并设置该路段的ID为12,在结点集中新增两结点记录,ID设置分别为11、12;其次,在路段-结点拓扑文件中增加该路段的拓扑记录,记录ID、FNODE和TNODE分别为12、11和12,在结点-路段拓扑文件中增加结点11和结点12的拓扑记录,记录中LINKLIST属性信息设置均为12;
类型b,首先在路段集中增加3条路段记录,新增加的1条路段是路段并设置该路段的ID为12,拆分原路段②会生成两条新的路段(其ID可设置为13,14),在结点集中增加一个结点,ID设置为11;其次删除路段集中的路段②及其在拓扑文件中的拓扑信息;最后,在路段-结点拓扑文件中增加该3条路段的拓扑记录,并在结点-路段拓扑文件中增加结点11的拓扑记录及修改结点2和结点3的LINKLIST属性信息;
类型c,首先在路段集中增加5条路段记录,新增加的1条路段是路段并设置该路段的ID为12,拆分原路段②会生成两条新的路段(其ID可设置为13,14),拆分原路段③也会生成两条新的路段(其ID可设置为15,16),在结点集中增加2个新结点,ID设置分别为11、12;其次删除路段集中的路段②和路段③及其拓扑记录,在路段-结点拓扑文件中增加该5条路段的拓扑记录;最后在结点-路段拓扑文件中增加结点11和结点12的拓扑记录并修改结点2、结点3和结点4的LINKLIST属性信息;
类型d,首先在路段集中增加一条路段并设置该路段的ID为12,在结点集中新增一个结点记录,ID设置为11;其次,在路段-结点拓扑文件中增加路段的拓扑记录,记录FNODE和TNODE分别为3和11,在结点-路段拓扑文件中增加结点11的拓扑记录,记录LINKLIST属性信息为12、在结点3的LINKLIST属性信息中增加12;
类型e,首先在路段集中增加3条路段记录,新增加的1条路段是路段并设置该路段的ID为12,拆分原路段⑤会生成两条新的路段(其ID可设置为13,14),在结点集中增加结点11;其次删除路段集中路段⑤及拓扑信息;最后,在路段-结点拓扑文件中增加该3条路段的拓扑记录,并在结点-路段拓扑文件中增加结点11的拓扑记录及修改结点3、结点5和结点6的LINKLIST属性信息的构成;
类型f,首先在路段集中增加一条路段命名该路段的ID为12,在路段-结点拓扑文件中增加该路段的拓扑记录,记录FNODE和TNODE分别为3和5;其次在结点-路段拓扑文件将结点将3和结点5的LINKLIST属性信息中增加12。
类型b,首先在结点集中删除结点11和结点12的信息及其拓扑记录,其次在路段集中删除结点12连接的3条路段及其拓扑记录,然后在路段集中增加路段2及其拓扑记录(FNODE:2;TNODE:3),最后在结点-路段拓扑文件中修改结点2和结点3的LINKLIST属性信息;
类型c,首先在结点集中删除结点11和结点12的信息及其拓扑记录,其次在路段集中删除结点11连接的2条路段和结点12连接的2条路段及其拓扑记录,然后在路段集中增加两条路段,分别为路段2(FNODE:2;TNODE:3)、路段3(FNODE:2;TNODE:4)并在路段-结点拓扑文件中增加路段2和路段3的拓扑记录,最后在结点-路段拓扑文件中修改结点2、结点3和结点4的LINKLIST属性信息;
类型e,首先删除结点11的信息记录及其拓扑记录,其次删除路段集中的路段及与结点11连接的路段的信息及其拓扑记录,然后在路段集中增加一条路段,增加路段的拓扑记录中设置TNODE和FNODE分别为5、6,最后在结点-路段拓扑文件中修改结点3、结点5和结点6的LINKLIST属性信息;
设计基于增量变化类型的路网重建实现算法。
路网增量更新涉及两个部分,路网图形的更新及局域拓扑重建。
(1)增加路段的路网重建算法
算法依据新增一条路段与原路段集和原结点集的交点个数进行区分,两者的对应关系如表2所示。
表2
增加类型 | 与原路段相交数量 | 与原结点相交数量 |
类型a | 0 | 0 |
类型b | 1 | 0 |
类型c | 2 | 0 |
类型d | 1 | 1 |
类型e | >1 | 1 |
类型f | >=2 | 2 |
表2中6种增加路段类型的实现需要相应函数模块的支持,本发明中设计的相关函数模块如下:
1)AddNodeRoadTop()模块,根据已获得的结点拓扑信息(结点的ID,结点的LINKLIST属性信息),向结点-路段拓扑文件追加一条拓扑信息:
2)UpdateNodeRoadTop()模块,基于结点的ID,在已知增加路段的ID或销毁路段的ID或该结点的所有连接路段的ID情况下,更新该结点的LINKLIST属性信息;
3)UpdateNodeRoadTopbyPoint()模块,更新与给定点具有相同空间坐标的结点的拓扑信息;
4)AddRoadNodeTop()模块,根据已获得的路段拓扑信息(路段的ID、起始端点对应结点的ID和终止端点对应结点的ID),向路段-结点拓扑文件追加一条拓扑信息;
5)DeleteRoadNodeTop()模块,基于给定路段的ID,将给定路段的拓扑信息在拓扑文件中删除;
6)AddRoadNodeTopbyRoad()模块,向路段-结点拓扑文件中增加给定路段的拓扑信息,已知给定路段ID,搜索该路段的起始端点对应结点ID和终止端点对应结点ID,向拓扑文件中添加该路段的拓扑信息;
7)AddNewRoad()模块,完成向路段集中添加一条路段;
8)AddNewTwoNodes()模块,已知给定路段,将其起始端点对应结点、终止端点对应结点添加到原结点集,并调用AddNodeRoadTop()模块完成向结点-路段拓扑文件中增加记录;
9)AddNewOneNode()模块,将给定结点添加到原结点集,并调用AddNodeRoadTop()模块完成向结点-路段拓扑文件中增加记录;
10)SplitPolyLineRoad()模块,利用两条线段的交点对其中的一条线段进行拆分,将拆分后的2条新路段添加到路段集,并调用AddNewOneNode()增加交点,调用AddRoadNodeTopbyRoad()将通过拆分得到的2条新路段向路段-结点拓扑文件添加两条信息;
11)SplitRoadbyPoint()模块,通过给定的结点将给定的路段进行拆分,实现算法类似于SplitPolyLineRoad()模块。
①类型a增加路段方式的实现算法
调用AddNewRoad()将新增路段添加到路段集中;调用AddNewTwoNodes()将新增两个结点添加到结点集,完成相应局域拓扑维护;调用AddRoadNodeTop()完成新增路段的拓扑信息记录。
②类型b增加路段方式的实现算法
调用AddNewRoad()将新增路段添加到路段集中;调用SplitPolyLineRoad(),完成与新增路段相交路段的拆分;调用AddNewOneNode()完成新增路段与原路段未相交端点对应结点的添加及拓扑维护;调用UpdateNodeRoadTopbyPoint()完成与新增路段相交的原路段端点对应结点的拓扑更新;最后在路段集中删除与新增路段相交的原路段,并调用DeleteRoadNodeTop()删除相应的拓扑信息;调用AddRoadNodeTop()完成新增路段的拓扑信息记录。
③类型c增加路段方式的实现算法
调用AddNewRoad()将新增路段添加到路段集中;分别调用两次SplitPolyLineRoad()完成与新增路段相交的2条原路段的拆分;调用UpdateNodeRoadTopbyPoint()完成相交路段起始端点对应结点和终止端点对应结点的拓扑维护;删除相交路段,并调用DeleteRoadNodeTop()删除相应的拓扑信息;调用AddRoadNodeTop()完成新增路段的拓扑信息记录。
④类型d增加路段方式的实现算法
调用AddNewRoad()将新增路段添加到路段集中;判断新增路段与原路段集的交点是新增路段的起点还是终点,然后调用AddNewOneNode()完成新增路段端点(非交点)对应结点的添加;调用UpdateNodeRoadTop()完成交点对应结点的拓扑信息维护;调用AddRoadNodeTop()完成新增路段的拓扑信息记录。
⑤类型e增加路段方式的实现算法
调用AddNewRoad()将新增路段添加到路段集中;获取新增路段与原路段集中路段的交点对应的结点,调用UpdateNodeRoadTop()完成该结点的拓扑维护;通过比较新增路段与相交路段的起始端点和终止端点坐标,确定新增结点(非交点对应结点)和被拆分路段,调用SplitRoadbyPoint()完成路段拆分;删除被拆分路段,并调用DeleteRoadNodeTop()删除其相应的拓扑记录;调用UpdateNodeRoadTopbyPoint()将被拆分路段从起始端点对应结点和终止端点对应结点的LINKLIST属性信息中删除;调用AddRoadNodeTop()完成新增路段的拓扑信息记录。
⑥类型f增加路段方式的实现算法
调用AddNewRoad()将新增路段添加到路段集中;获取新增路段与原路段的2个交点对应的结点,调用UpdateNodeRoadTop()分别完成2个结点拓扑维护;调用AddRoadNodeTop()完成新增路段的拓扑信息记录。
销毁路段算法设计的依据是销毁路段的起始端点和终止端点与原路段集中路段的相交个数,共有4种情况,即销毁路段的起始端点和终止端点与原路段集中相交的路段数量分别为0、1、2、>2,则形成10中可能情况,即{(0,0),(0,1),(0,2),(0,>2),(1,1),(1,2),(1,>2),(2,2),(2,>2),(>2,>2)};分析10中操作对路网图形和拓扑的改变,获得销毁路段的起始端点和终止端点均对应3种基本的操作,即当销毁路段端点与原路段集中相交的路段数量为0,1或>2,和2三种情况。销毁路段的路网维护算法涉及到3个子函数模块:
1)DeleteNodeRoadTop()模块,基于结点ID将给定结点的拓扑信息在拓扑文件中删除;
2)DeleteSingNode()模块,搜索给定结点的ID,将该结点删除,并调用DeleteNodeRoadTop()在拓扑文件中删除该结点的拓扑信息;
3)UnionRoads()模块,将2条路段合并为1条路段并添加拓扑信息,将原来的2条路段从路段集中删除并在拓扑文件中删除其相应的拓扑信息。
①当销毁路段端点与原路段集中相交的路段数量为0情况下的路网增量更新;
调用DeleteSingNode()将独立结点删除,并将相应的拓扑信息删除。
②当销毁路段端点与原路段集中相交的路段数量为1或者大于2情况下的路网增量更新;
更新被销毁路段端点对应的结点的拓扑信息,调用UpdateNodeRoadTopbyPoint()完成。
③当销毁路段端点与原路段集中相交的路段数量为2情况下的路网增量更新;
首先调用UnionRoads()完成路段的合并,其次调用DeleteSingNode()将对应结点从结点集中删除,并删除相应的拓扑信息。
上述3个操作均是对销毁路段端点对应结点及其连接路段的操作,除此之外,还需要将销毁路段从路段集中删除,并将其拓扑信息从路段-结点拓扑文件中删除。
有益成果:本发明能够提高路网增量更新及拓扑关系维护的效率,为路网快速更新提供了技术支持。局域拓扑维护相比全局式拓扑更新,时间效率得到很大提高,其提高程度取决于增量路段的数量与路网数量总量;当路网数据增量越大、增量路段数量越少时,局域拓扑重建时间效率越高。
将本发明应用于车载试验系统:
1、试验系统车载导航数据中心端采用IBM塔式服务器(8核心,主频2.0GHz,8G内存,146G硬盘),操作系统Windows2003Server,利用ArcGIS的ArcEngine在Visual Studio2005环境下进行路网增量更新的局域拓扑重建开发。路网试验数据为广州市2008年导航电子地图(Shapefile格式),共有路段73521条;路网增量数据选择在各种增加路段类型及销毁路段类型下数量为1条、10条及100条路段。
2、编写函数模块提取路网拓扑信息,结点-路段拓扑信息提取的主要算法如下,路段-结点拓扑信息提取的实现算法类似于结点-路段拓扑信息提取算法。
3、编写基于增量类型的拓扑维护所涉及的模块算法:
1)AddNodeRoadTop()模块
2)UpdateNodeRoadTop()模块
3)DeleteNodeRoadTop()模块
4)UpdateNodeRoadTopbyPoint()模块
5)AddRoadNodeTop()模块实现算法类似于AddNodeRoadTop()模块的实现算法。
6)DeleteRoadNodeTop()模块实现算法类似于DeleteNodeRoadTop()模块的实现算法。
7)AddRoadNodeTopbyRoad()模块
8)AddNewRoad()模块
9)AddNewTwoNodes()模块
10)AddNewOneNode()模块实现算法类似于AddNewTwoNodes()模块的实现算法。
11)SplitPolyLineRoad()模块
12)SplitRoadbyPoint()模块实现算法类似于SplitPolyLineRoad()模块的实现算法。
13)DeleteSingNode()模块
14)UnionRoads()模块
3、编写增加路段和销毁路段的算法实现,其中路网增量更新的操作调用上述函数模块完成,对应每条变更路段所属的增量类型判基于其与原路网数据中结点及路段相交的个数,获取相交个数的算法如下:
4、利用试验数据对增量更新的局域拓扑重建进行测试,测试结果如表4所示,
表中类型中的a、b、c、d、e、f分别对应着图2至图7中6种增量类型,add和sub分别代表相应的增加路段和销毁路段情况,表3所列出的耗时有两部分组成,即路网图形的更新耗时和局域拓扑的维护的耗时;提取路网全局拓扑耗时(包括提取全局路段-结点拓扑耗时约600秒和提取全局结点-路段拓扑耗时约1291秒)约为1891秒,故增量更新的局域拓扑重建效率比全局拓扑重建效率高。尽管试验中平均更新每条路段所需时间仍很多,但算法的改进会进一步提高操作效率。
表3
Claims (6)
1.一种用于导航路网增量更新的局域拓扑重建方法,其特征在于具体过程如下:
步骤一、根据原有的路网数据,提取全局路网拓扑信息,形成拓扑信息文件;
步骤二、在原有的路网数据基础上,增加路网增量数据,所述路网增量数据包括增加路段数据和销毁路段数据;
步骤三、根据路网增量数据确定路网变化的类型,并根据路网变化的类型确定局域拓扑重建方案;
步骤四、根据步骤三获得的路网变化的类型和相应的局域拓扑重建方案,修改步骤一中的拓扑信息文件,实现局域拓扑重建,进而使得全局路网拓扑关系随之更新。
2.根据权利要求1所述的一种用于导航路网增量更新的局域拓扑重建方法,其特征在于步骤一中所述的原有的路网数据包括路段集和结点集,结点集中的结点为对应路段集中路段的端点;所述拓扑信息文件包括结点-路段拓扑信息文件和路段-结点拓扑信息文件;所述的结点-路段拓扑信息文件记录结点连接的路段信息,包含字段有结点的ID标识号码和结点的连接路段LINKLIST属性信息,其中结点的连接路段LINKLIST属性信息为与所述结点连接的路段的ID标识号码;所述路段-结点拓扑信息文件记录路段与结点的对应关系,包含字段有路段的ID标识号码、FNODE起始点信息和TNODE终止点信息;所述FNODE起始点信息表示路段起始端点对应结点的ID标识号码,所述TNODE终止点信息表示路段终止端点对应结点的ID标识号码。
3.根据权利要求2所述的一种用于导航路网增量更新的局域拓扑重建方法,其特征在于步骤一中提取全局路网拓扑信息的具体过程如下:
步骤一一、顺序提取已知路段集中第一条路段,然后在结点集中搜索与该路段起始端点和终止端点分别重合的结点;将所述第一条路段的拓扑信息记录于路段-结点拓扑文件中,所述第一条路段的拓扑信息为该路段的ID标识号码、FNODE起始点信息和TNODE终止点信息;
步骤一二、按照路段存储顺序提取已知路段集中第i条路段的拓扑信息,i≥2;
步骤一三、重复执行步骤一二,直到完成最后一条路段的拓扑信息记录。
4.根据权利要求2所述的一种用于导航路网增量更新的局域拓扑重建方法,其特征在于步骤一中提取全局路网拓扑信息的具体过程如下:
步骤一四、顺序提取结点集中的第一个结点,然后在路段集中搜索与该结点相交的路段,并获取相交路段的ID标识号码;将所述第一个结点的拓扑信息记录于结点-路段拓扑信息文件,所述第一个结点的拓扑信息为该结点的ID标识号码及该结点的连接路段LINKLIST属性信息;
步骤一五、按照结点存储顺序提取已知结点集中第i个结点的拓扑信息,i≥2;
步骤一六、重复执行步骤一五,直到完成最后一个结点的拓扑信息记录。
5.根据权利要求1、2、3或4所述的一种用于导航路网增量更新的局域拓扑重建方法,其特征在于步骤二中增加路段数据和销毁路段数据各分为六种类型,所述六种类型中增量路段端点对应结点在原结点集中的存在情况和与已有路段相交情况为:
。
6.根据权利要求5所述的一种用于导航路网增量更新的局域拓扑重建方法,其特征在于步骤三中根据路网变化的类型确定局域拓扑重建方案,所述局域拓扑重建方案包括增加路段类型的局域拓扑重建方案和销毁路段类型的局域拓扑重建方案,其中:
增加路段类型的局域拓扑重建方案如下:
对于类型a路段、首先,在路段集中增加1条路段记录,在结点集中增加 所述路段的起始端点对应结点和终止端点对应结点,并分别设置ID标识号码,其次,将所述路段的拓扑信息增加到路段-结点拓扑文件,并将所述两结点的拓扑信息增加到结点-路段拓扑文件,所述两结点的连接路段LINKLIST属性信息设置为所述增加路段的ID标识号码;
对于类型b路段、首先,在路段集中增加3条路段记录,所述3条路段为新增加的1条路段、与新增加路段相交的原有的1条路段被新增加路段拆分成的2条新路段,并设置这3条路段的ID标识号码;其次,在路段集中删除与新增路段相交的原有路段,并在路段-结点拓扑文件中删除被删除路段的拓扑记录;再次,在结点集中增加两个结点,并分别设置所述两个结点的ID标识号码为所述新增加的1条路段的起始端点对应结点的ID标识号码和路段终止端点对应结点的ID标识号码;最后,将所述3路段的拓扑信息增加到路段-结点拓扑文件,在结点-路段拓扑文件中增加所述两个结点的拓扑信息,并修改被删除路段两端点对应结点的连接路段LINKLIST属性信息;
对于类型c路段、首先,在路段集中增加5条路段记录,所述5条路段为新增加的1条路段、与新增加路段相交的原有的两条路段分别被新增加路段拆分成的4条新路段,并设置这5条路段的ID标识号码;其次,在路段集中删除与新增路段相交的原有路段的所有信息,并在路段-结点拓扑文件中删除被删除路段的拓扑记录;再次,在结点集中增加两个结点记录,分别设置所述两个结点的ID标识号码为所述新增加的1条路段的起始端点对应结点的ID标识号码和路段终止端点对应结点的ID标识号码;最后,将所述5条路段的拓扑信息增加到路段-结点拓扑文件,在结点-路段拓扑文件中增加所述两个结点的拓扑信息,并修改被删除路段两端点对应结点的连接路段LINKLIST属性信息;
对于类型d路段、首先,在路段集中增加1条路段记录,设置该路段的ID标识号码;其次,在结点集中新增1个结点记录,此结点为新增路段与原有路段未相交的新增路段端点,设置所述结点的ID标识号码为所述新增路段的终止端点对应结点的ID标识号码;最后,将所述新增路段的拓扑信息增加到路段-结点拓扑文件,将所述新增结点的拓扑信息增加到结点-路段拓扑文件,所述新增结点的连接路段LINKLIST属性信息为所述新增路段的ID标识号码, 并将所述新增路段与原有路段的相交结点的连接路段LINKLIST属性信息增加所述新增路段的ID标识号码;
对于类型e路段、首先,在路段集中增加3条路段记录,所述3条路段为新增加的1条路段、与新增加路段相交的原有的1条路段被新增加路段拆分成的2条新路段,并设置这3条路段的ID标识号码;其次,在路段集中删除与新增加路段相交的原有路段的所有信息,并在路段-结点拓扑文件中删除被删除路段的拓扑记录;再次,在结点集中增加1个结点记录,此结点为新增路段与原有路段相交于非结点的点,设置ID标识号码为所述新增路段的终止端点对应结点的ID标识号码;最后,将所述3路段的拓扑信息增加到路段-结点拓扑文件,将所述结点的拓扑信息增加到结点-路段拓扑文件,所述结点的连接路段LINKLIST属性信息为所述3条增加路段的ID标识号码,将相交结点的连接路段LINKLIST属性信息增加所述增加路段的ID标识号码,修改被删除路段两端点对应结点的连接路段LINKLIST属性信息;
对于类型f路段、首先,在路段集中增加1条路段记录,设置该路段的ID标识号码,并将该路段的拓扑信息增加到路段-结点拓扑文件;其次,在结点-路段拓扑文件中将相交结点的连接路段LINKLIST属性信息增加所述增加路段的ID标识号码;
销毁路段类型的局域拓扑重建方案如下:
对于类型a路段,首先,在结点集中删除销毁路段起始端点对应结点和终止端点对应结点的所有信息,并在结点-路段拓扑文件中删除相应的拓扑记录;其次,在路段集中删除销毁路段的路段记录,并在路段-结点拓扑文件中删除所述销毁路段的拓扑记录;
对于类型b路段,首先,在结点集中删除销毁路段起始端点对应结点和终止端点对应结点的所有信息,并在结点-路段拓扑文件中删除相应的拓扑记录;其次,在路段集中删除3条路段记录,所述3条路段为销毁的1条路段、与销毁路段相交的原有的2条路段,并在路段-结点拓扑文件中删除所述3条路段的拓扑记录;再次,在路段集中增加1条路段记录,所述增加的1条路段为与销毁路段相交的原有的2条路段合并成的1条新路段,并设置该条新路段的ID标识号码,并在路段-结点拓扑文件中记录所述的1条新路段的拓扑 记录;最后,在结点-路段拓扑文件中修改所述的1条新路段的起始端点对应结点和终止端点对应结点的拓扑记录,将所述的1条新路段的起始端点对应结点和终止端点对应结点的连接路段LINKLIST属性信息增加该新路段的ID标识号码并删除被删除路段的ID标识号码;
对于类型c路段,首先,在结点集中删除销毁路段起始端点对应结点和终止端点对应结点的所有信息,并在结点-路段拓扑文件中删除相应的拓扑记录;其次,在路段集中删除5条路段记录,所述5条路段为销毁的1条路段、分别与销毁路段两端点相交的原有的4条路段,并在路段-结点拓扑文件中删除所述的5条路段的拓扑记录;再次,在路段集中增加两条路段信息,所述的两条路段为与销毁路段两端点相交的原有的4条路段合并成的2条新路段,并设置该2条新路段的ID标识号码,并在路段-结点拓扑文件中记录所述的2条路段的拓扑记录;最后,在结点-路段拓扑文件中修改所述的2条新路段的起始端点对应结点和终止端点对应结点的拓扑记录,将所述的2条新路段的起始端点对应结点和终止端点对应结点的连接路段LINKLIST属性信息增加该新路段的ID标识号码并删除被删除路段的ID标识号码;
对于类型d路段,首先,在结点集中删除1个结点记录,此结点为销毁路段与原有路段未相交的点,并在结点-路段拓扑文件中删除相应的拓扑记录,其次,在结点集中修改销毁路段与原有路段相交的结点记录,在结点-路段拓扑文件中将所述结点的连接路段LINKLIST属性信息中删除被删除路段的标识号码;最后,在路段集中删除销毁路段的路段记录,并在路段-结点拓扑文件中删除所述的销毁路段的拓扑记录;
对于类型e路段,首先,在节点集中删除1个结点记录,此结点为销毁路段与原有路段相交于非结点的点,并在结点-路段拓扑文件中删除相应的拓扑记录;其次,在路段集中删除3条路段记录,所述3条路段为销毁的1条路段、与销毁路段相交的原有的2条路段,并在路段-结点拓扑文件中删除所述的3条路段的拓扑记录;再次,在路段集中增加1条路段记录,所述增加的1条路段为与销毁路段相交的原有的2条路段合并成的1条新路段,并设置该条新路段的ID标识号码,并在路段-结点拓扑文件中记录所述的1条新路段的拓扑记录;最后,在结点-路段拓扑文件中修改所述1条新路段的起始端点对应结 点和终止端点对应结点的拓扑记录,将所述1条新路段的起始端点对应结点和终止端点对应结点的连接路段LINKLIST属性信息中删除相应销毁路段的ID标识号码并增加所述1条新增路段的ID标识号码;
对于类型f路段,首先,在路段集中删除销毁路段的路段记录,并在路段-结点拓扑文件中删除相应的拓扑记录,其次,在结点-路段拓扑文件中修改所述销毁路段的起始端点对应结点和终止端点对应结点的拓扑记录,将销毁路段的ID标识号码在销毁路段的起始端点对应结点和终止端点对应结点的连接路段LINKLIST属性信息组成中删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102342838A CN101924647B (zh) | 2010-07-23 | 2010-07-23 | 一种用于导航路网增量更新的局域拓扑重建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102342838A CN101924647B (zh) | 2010-07-23 | 2010-07-23 | 一种用于导航路网增量更新的局域拓扑重建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101924647A CN101924647A (zh) | 2010-12-22 |
CN101924647B true CN101924647B (zh) | 2012-02-15 |
Family
ID=43339310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102342838A Expired - Fee Related CN101924647B (zh) | 2010-07-23 | 2010-07-23 | 一种用于导航路网增量更新的局域拓扑重建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101924647B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103175531B (zh) * | 2011-12-26 | 2016-03-02 | 北京图盟科技有限公司 | 导航数据更新方法、装置及导航设备 |
CN105806348B (zh) * | 2014-12-30 | 2018-12-11 | 高德软件有限公司 | 一种道路数据存储方法及设备 |
CN110019603A (zh) * | 2017-10-31 | 2019-07-16 | 高德软件有限公司 | 一种道路数据融合处理方法及装置 |
CN108195382B (zh) * | 2017-12-28 | 2021-09-21 | 湖北省测绘工程院 | 一种高精度导航图精度配准方法及装置 |
CN108562297B (zh) * | 2017-12-28 | 2021-09-17 | 湖北省测绘工程院 | 一种高精度导航图生成方法及装置 |
CN110132292B (zh) * | 2018-02-08 | 2022-09-20 | 北京搜狗科技发展有限公司 | 一种导航方法、装置和电子设备 |
CN110781201B (zh) * | 2019-11-07 | 2022-08-05 | 广东星舆科技有限公司 | 道路拓扑关系数据的自动更新方法和装置 |
CN113096389B (zh) * | 2021-03-23 | 2022-05-17 | 北京交通大学 | 一种基于多源数据的全国高速公路网络拓扑构建方法 |
CN113393666A (zh) * | 2021-05-14 | 2021-09-14 | 广州方纬智慧大脑研究开发有限公司 | 一种营运车辆的交通仿真方法、装置、设备及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7583590B2 (en) * | 2005-07-15 | 2009-09-01 | Telefonaktiebolaget L M Ericsson (Publ) | Router and method for protocol process migration |
CN101286829B (zh) * | 2008-03-05 | 2011-09-21 | 中国科学院嘉兴无线传感网工程中心 | 随机分布无线传感网分簇拓扑建立与重建的跨层设计实现方法 |
-
2010
- 2010-07-23 CN CN2010102342838A patent/CN101924647B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101924647A (zh) | 2010-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101924647B (zh) | 一种用于导航路网增量更新的局域拓扑重建方法 | |
WO2018040838A1 (zh) | 一种高架结构bim模型建模设计方法 | |
CN105701104B (zh) | 一种基于地理信息的三维数据引擎系统 | |
CN105205092A (zh) | 基于瓦片将可搜索地理空间数据分配到客户端装置 | |
CN106372293A (zh) | 一种基于三维基准线的构筑物bim模型创建方法 | |
CN106708941B (zh) | 电网多任务在线协同编辑方法 | |
CN102855332A (zh) | 一种基于图形数据库的图形配置管理数据库 | |
CN104392037B (zh) | 一种城市场景参数化建模系统 | |
CN112052500A (zh) | 一种基于bim的智慧建造平台中构件更新方法及系统 | |
CN103914564A (zh) | 基于ArcGIS的城市管线更新入库的方法及系统 | |
CN106202378A (zh) | 一种流式气象数据的快速处理方法及系统 | |
CN104951526A (zh) | 一种三维模型管理系统 | |
CN104142962A (zh) | 一种对电子地图的线要素进行处理的方法 | |
CN105512317A (zh) | 一种基于群组划分的不确定移动对象索引方法 | |
CN202110580U (zh) | 一种基于gis的智能配电网设备台帐管理系统 | |
CN104392035B (zh) | 一种基于Web的城市三维建模方法 | |
CN111428310A (zh) | 一种基于bim和gis的地下管廊模型构建方法 | |
CN105303465A (zh) | 基于cim模型的树形视图定义及展示方法 | |
CN111125291A (zh) | 一种流域水资源管理决策支持系统WebGIS引擎设计方法、系统 | |
CN104700453A (zh) | 一种基于gis生成电缆管网三维模型的方法 | |
CN102902747A (zh) | 基于空间聚合的土地利用数据更新方法 | |
Janus et al. | MKScal-system for land consolidation project based on CAD platform | |
Jones et al. | The implicit triangulated irregular network and multiscale spatial databases | |
CN115795768B (zh) | 一种顾及实体形态的管网三维建模和数据更新方法及系统 | |
CN104318501A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120215 Termination date: 20120723 |