基于Delaunay三角网技术的区域拓扑关系构建方法

文档序号:6460419阅读:212来源:国知局
专利名称:基于Delaunay三角网技术的区域拓扑关系构建方法
技术领域
本发明属于地理信息系统(GIS)中二维区域拓扑关系构建技术领域,特别 地,涉及一种基于Delaunay三角网技术的区域拓扑关系构建方法。
背景技术
区域拓扑关系构建技术是将通过数字化获得的区域边界折线和区域中的确 任意一点——内点,按照由折线构建区域的拓扑边界、区域属性取自其所包含 的内点的属性的原理构建区域,目的是减少空间数据的采集、编辑和修改的工 作量,减少出错的概率,并解决人工不可能构建的复杂区域。拓扑原来是数学 上的概念,人们为了对空间对象实现计算机的数字化存储、管理和分析而将其 引入GIS之中,用于存储和表示空间实体数据的关系。区域拓扑关系构建技术 涉及计算机图形学、计算几何、拓扑学、地球科学等多个领域,是"数字地球" 的核心技术之一,也是GIS领域研究的热点之一。区域拓扑关系的构建过程可以主要归结为(1)折线求交生成弧段;(2) 结点与弧段拓扑关系的建立;(3)闭合边界相邻关系和包含关系'(孤岛归属) 的建立;(4)内点归属关系的确定等步骤。目前,在上述各处理过程中,针对 折线求交生成弧段前人提出了平面扫描算法和网格化算法等,这些算法虽然在 一定程度上提高了折线求交生成弧段的效率,但是算法中仍然存在大量的无效 求交测试,因此处理大量甚至海量空间数据时的效率仍比较低,另外现有的方 法针对求交稳定性很少涉及,即使有些算法初步涉及了求交稳定性,也存在计 算量大的缺点;针对结点与弧段拓扑关系的建立前人提出了基于结点的旋转角 度算法,由于算法中存在大量的浮点运算,故效率较低;而关于孤岛和内点的 归属处理前人提出了射线法、累计角度法、编码法以及改进的射线法等,这些 算法的处理时间随着孤岛和内点数量的递增呈明显的非线性增加(由于GIS管 理的空间实体数量往往是巨大的,因此所需的处理时间是难以接受的),从而降 低了拓扑数据结构的生成效率。发明内容本发明的目的在于提出一种基于Delaimay三角网技术的区域拓扑关系构建 方法,由于充分利用了Delaunay三角网中点与点之间的邻接特性,解决现有区 域拓扑关系构建时存在的效率不高、求交稳定性和模糊处理能力差的缺点,充 分利用计算机系统内存资源。本发明通过以下技术方案来实现该发明目的 一种基于Delaunay三角网技 术的区域拓扑关系构建方法,包括以下步骤-(1) 确定有效模糊距离;(2) 由构建区域拓扑关系的折线点与内点构建Delaunay三角网;(3) 从所述步骤(2)构建的Delaunay三角网中剔除内点;(4) 根据所述步骤(1)确定的有效模糊距离基于子项3)获得的Delaunay三 角网进行点与点的模糊归并处理;(5) 由折线约束所述步骤(4)获得的Delaunay三角网实现求交;(6) 由所述步骤(5)获得的Delaunay三角网中的约束边组织弧段;(7) 利用所述步骤(5)获得的Delaunay三角网构建结点和弧段的拓扑关系;(8) 根据结点与弧段拓扑关系组织边界多边形;(9) 在子项所述步骤(5)获得的Delaunay三角网中利用射线法进行孤岛归属 处理;(10) 根据内点在子项所述步骤(5)获得的Delaunay三角网中的邻近折线点 确定内点在Delaunay三角网中的位置,再利用射线法进行内点归属处理。本发明的有益效果是(1) 通过Delaunay三角网实现点与点以及点与边的模糊归并处理,使模糊处 理简单高效。模糊处理是构建区域拓扑关系的重要环节之一,其可以提高求交 稳定性,同时可以满足实际应用时的精度要求。由于模糊处理过程中充分利用 了 Delaunay三角网的自适应性和点的邻接性,因此大大减少了点与点以及点与 边之间的无效归并判断次数,从而提高了模糊处理的效率。(2) 通过折线的线段在Delaunay三角网中进行约束快速实现折线求交生成弧 段。由于求交过程中充分利用了 Delaunay三角网的自适应性和点的邻接性,因 此大大减少了线段与线段之间的无效求交判断次数(因为实际情况是绝大多数 线段之间是并不存在交点的),从而提高了求交的效率,同时求交的结果直接反 映在Delaunay三角网中(在Delaunay三角网中插入新的点),避免了以往求交算法的复杂处理,也提高了拓扑关系构建的效率。(3) 以往结点与弧段拓扑关系的建立是通过结点的匹配和弧段邻接关系的建立 这两个步骤来实现的,结点的匹配和弧段邻接关系的建立需要大量的处理时间, 从而降低了拓扑生成的效率,本发明由于结点信息和弧段信息均隐含地存在于Delaunay三角网中,因此只需要对Delaunay三角网中的点进行一次旋转搜索就 可以完成同一结点上弧段与弧段拓扑关系的建立,从而提高了效率。(4) 孤岛和内点的归属处理也是影响拓扑关系构建效率的重要环节之一,以往 都是通过孤岛(外多边形)与内多边形之间包含关系的判断和判断内点是否被 区域包含来实现,算法效率均比较低,本发明通过由折线点和内点构建Delaunay 三角网,弧段的各个线段都隐含在Delaimay三角网的边中(约束边),因此由 Delaunay三角网中的内点或孤岛的左极点向左引射线,通过射线与Delaunay三 角网中的约束边的相交情况就可以快速实现内点和孤岛的归属处理。(5) 本发明将拓扑关系构建的各个过程统一到了 Delaunay三角网的操作中, 整个建立拓扑关系的过程都是围绕Delaunay三角网展开的,而且Delaunay三 角网的数据结构非常适合大块内存的高效操作,为提高拓扑效率奠定了基础。(6) 本发明算法结构简单清晰,实现方便。


附图l是有关定义说明图;附图2是一种实现本发明的技术流程图;附图3至附图14示出了基于Delaunay三角网技术实现区域拓扑关系构建 过程;附图3示出了构建区域拓扑关系的区域边界(折线)和内点; 附图4示出了由区域边界的折线点和内点构建的Delaunay三角网; 附图5示出了从由折线点和内点构建的Delaunay三角网中剔除内点后的 Delaunay三角网;附图6示出了基于Delaunay三角网实现折线点的模糊归并处理;附图7至附图9示出了由区域边界折线对Delaunay三角网进行约束求交处理;附图10示出了基于Delaunay三角网的点与边的模糊归并处理; 附图11示出了基于Delaunay三角网的弧段组织和多边形组织;附图12示出了基于Delaunay三角网的孤岛归属处理; 附图13示出了基于Delaunay三角网的内点归属处理; 附图14示出了最后构建的区域。在附图1至附图14中,V是折线点编号,L是内点编号,R是区域编号,a 是弧段编号,N是结点编号,G是孤岛编号,I是交点,V-L是剔除内点后获得 的邻近折线点编号。在附图4至附图13中的三角网中,虛线为普通三角网边, 实线为约束三角网边。
具体实施方式
下面根据附图具体说明本发明。 为方便下面的描述,特做如下定义定义l.折线点构成区域边界的折线的所有点称为折线点。定义2.边界多边形由于弧段均被其左右两个区域所共用,以弧段的某一侧搜索其后续弧段直至封闭,便构成了一个围绕这一侧区域的多边形,称为边界多边形(如附图1中弧段&右侧以及弧段a2左侧即构成了围绕区域Ri的边界多边形)。定义3.内多边形如果边界多边形所包围的区域在边界多边形的内部,则 称该边界多边形为内多边形(如附图1中弧段a,右侧以及弧段a2左侧所构成的 边界多边形)。定义4.外多边形(孤岛)如果边界多边形所包围的区域在边界多边形的 外部,则称该边界多边形为外多边形(如附图1中弧段&左侧和弧段35左侧戶万 构成的边界多边形以及弧段ai、 a3、 a4左侧所构成的边界多边形均为外多边形)。定义5.拓扑正向边界多边形对于边界多边形,当沿其前进时(前进方向 即为边界多边形数据的记录次序),边界多边形所包围的区域始终在前进方向的 左侧,则称该边界多边形是具有拓扑正向的边界多边形。一个区域的边界可以由多个边界多边形构成(如附图1中的区域R"其边 界是由弧段-a2、 -a4、 -a3构成的边界多边形和弧段as、 ae构成的边界多边形构成 的,其中-a2、 -a3、 -34中的"负号"是为了满足拓扑正向边界多边形的需要), 且其中只有一个内多边形,其余都是外多边形,由于外多边形与内多边形之间 没有直接的连通关系,为了正确描述区域的边界,必须确定外多边形与哪个内 多边形(处于工作区边界的外多边形没有包含它的内多边形)共同构成某区域的边界,这即为孤岛的归属问题。本发明方法的第一步为确定有效模糊距离,有效模糊距离是由坐标表示方 法确定坐标数据的有效位数,结合折线和内点的坐标范围确定工作区的小数点 后的有效位数,当给定的模糊距离小于该有效位数时,取该有效位数为有效模 糊距离,否则原模糊距离就是有效模糊距离。例如当用户给定模糊距离为0.00000001,空间数据的坐标范围为左下角(40345301.43,3327000.5)右上 角(40745301.43,3347000.7),且空间数据坐标以八字节的双精度浮点数存储 时,有效模糊距离计算方法为由于八字节双精度浮点数的有效位数为16位, 而空间数据坐标最大值为40745301. 43,此时八字节双精度浮点数表示的坐标在 小数点后的有效位数为7位,又用户给定的模糊距离为小数后8位,以选择大 的为原则,最后的有效模糊距离为0. 0000001。本发明方法的第二步为由折线点和内点建立Delaunay三角网。之所以内点 参与Delaunay三角网的建立,是为了加速后面的内点归属处理,即快速在 Delaunay三角网中定位内点的位置。具体建立Delaunay三角网的过程如下首 先将折线点和内点进行排序,然后从中剔除重复点形成Delaimay点集,再获得 折线点在Delaunay点集中的位置(目的是建立折线点与Delaunay点集的对应 关系,方便后面的约束处理),最后由Delaunay点集构建Delaunay三角网,附 图3为剔除了重复点的折线和内点构成的Delaunay点集,附图4为由Delaunay 点集构成的Delaunay三角网。本发明方法的第三步为从第二步建立的Delaunay三角网中剔除内点,因为 模糊处理是基于Delaunay三角网的点的邻接关系针对折线点之间和折线点和折 线的线段间进行的,内点在Delaunay三角网中会影响模糊处理的效果,必须从 Delaunay三角网中剔除内点,同时为了后面快速实现内点的归属处理,在剔除 内点时必须获取各个内点的邻近折线点,以便于内点归属处理时的内点在 Delaunay三角网中的快速定位,附图5为剔除内点后的Delaunay三角网,图中标志了各个内点的邻近折线点。本发明方法的第四步为基于Delaunay三角网的点与点的模糊归并处理,模 糊处理有提高系统稳定性和满足实际需求两种作用,在Delaunay三角网中实现 点与点的模糊归并处理是以点为着眼点进行的,逐个扫描Delaunay三角网中的 点,再利用Delaunay三角网的邻接关系在当前点的周围寻找小于有效模糊距离 的点,邻近的点在Delaunay三角网中是有边连接的(参见附图5中的Vs和V6 折线点),若存在小于有效模糊距离的点则将该点从Delaunay三角网剔除。参见附图5,由于Vs和Vs点之间的距离小于有效模糊距离,故需要进行模糊归并处理(参见附图6,在搜索V6点时,Vs点被模糊归并了)。本发明方法的第五步由折线约束Delaunay三角网实现求交及点与边的模糊归并。约束求交的具体过程为(i)当边界折线的线段本身就是Delaunay三角网 的边,如附图6中线段V15V16是De 1 aunay三角网的边,此时只需直接置该De 1 aunay 三角网的边为约束边(见附图7); (2)当边界折线的线段不是Delaunay三角网 的边,且与该线段相交的Delaunay三角网边均不是约束边,如附图6所示,线 段VgL不是Delaunay三角网的边,与之相交的Delaunay三角网的边是V12V16, 且V,2Vw不是约束边,此时只需对与V^s相交的所有的Delaunay三角网的边不 断进行对角线交换,直至线段V9V!5是Delaunay三角网的边为止,再置约束标志, 如附图7所示;(3)当边界折线的线段不是Delaunay三角网的边,且与该线段 相交的Delaunay三角网边中存在约束边,如附图8所示,线段V^不是Delaunay 三角网的边,且与之相交的Delaunay三角网的边中V3V8是约束边,此时计算线 段V^9与Delaunay三角网约束边的交点,并将交点插入到Delaunay三角网中, 最后对被分割的线段(两条)分别再进行约束处理即可,如附图9就是插入交 点I后,分别再对线段IVz和V9I进行约束的结果。约束实现点与边的模糊处理的具体过程为(1)当由边界折线的线段对 Delaunay三角网约束时,若线段本身就是Delaunay三角网的边,置该Delaunay 三角网的边为约束边,并计算共用该边的两个三角形的第三点与该边的距离, 若距离小于有效模糊距离,则将约束信息进行移动,并且该过程是递归的,如 附图10所示,约束信息移动后,对非约束Delaunay三角网边再进行优化处理; (2)当由边界折线的线段对Delaunay三角网约束时,若线段不是Delaunay三 角网的边,.且与线段相交的Delaunay三角网边均不是约束边,此时只需对与线 段相交的所有的Delaunay三角网的边不断进行对角线交换,直至线段是 Delaunay三角网的边为止,再置约束标志,并计算共用该边的两个三角形的第 三点与该边的距离,若距离小于有效模糊距离,则将约束信息进行移动,并且 该过程是递归的,约束信息移动后,对影响域内非约束Delaunay三角网边再进 行优化处理;(3)当由边界折线的线段对Delaunay三角网约束时,若线段不是 Delaunay三角网的边,且与线段相交的Delaunay三角网边中存在约束边,此时 计算线段与Delaunay三角网约束边的交点,再计算该交点与Delaunay三角网 中的点的距离,进一步处理如下①若距离大于有效模糊距离,则在Delaunay三角网中插入该交点,对被分割的线段(两条)分别再进行约束及点与边的约 束模糊处理即可;②若距离小于有效模糊距离,则把与交点距离小于有效模糊 距离的Delaimay三角网中的点作为分割线段的点,再对被分割的线段(两条) 分别再进行约束及点与边的约束模糊处理即可。如附图7,线段V3V4和V4Ve约束 完毕后,再约束线段V3Vs (Vfi)时,此时点V4与边V3Vs (V6)的距离小于有效模糊 距离,因此将边V:,Vs (V6)上的约束信息转移到边V3V4和V4Ve上。本发明方法的第六步由约束Delaunay三角网组织弧段,具体过程是(1) 首先从有三条(含)以上约束边的Delaunay三角网点(作为当然结点)开始搜 索弧段,如附图ll,由点N,可以搜索出弧段a,(由折线点V3、 V13、 V"和Vts构成)、 aK (由折线点V:,和交点I构成)、a8 (由折线点V3、 V4、 Ve和V2构成)、a5 (由折 线点V2、 V,、 V:!构成);(2)再由Delaunay三角网中未被弧段使用过的有约束边 通过的点(有两条约束边通过的Delaimay三角网点)开始搜索弧段,此时均为 自封闭的弧段,如附图ll,由点Ns可以搜索出弧段a9。另外为了方便下面建立 结点与弧段拓扑关系,对于N5这样的结点在Delaunay三角网中要给予特别的标 志,以区别于普通的只有两条约束边通过的点。本发明方法的第七步由约束Delaunay三角网建立结点与弧段拓扑关系,即 通过搜索Delaunay三角网中的所有点来快速建立结点与弧段之间的拓扑关系, 具体过程如下..当搜索的Delaunay三角网中的点是结点时(通过该点的约束边大于等于三条,或该点是在弧段组织时特别标注的有两条约束边通过的点),逆 时针绕该点搜索Delaunay三角网边,若Delaunay三角网边有弧段通过,则获得弧段端点的结点信息及通过该结点的弧段信息,并且在搜索过程中建立弧段 之间的邻接关系。如附图ll所示,有六条Delaunay三角网边与结点Nt相连接, 其中有四条边有弧段通过,在绕结点A搜索后即可获得(1)弧段&、 a6、 a8、 -&以结点A为弧段的端点Ga5表示该弧段的终止端点为结点Nl); (2) a,弧段 在结点N,上的逆时针邻接弧段为a6、顺时针邻接弧段为-as (同理也可获得弧段3。、 a^s、 —9^5 的邻接弧段)。本发明方法的第八步是组织边界多边形并识别孤岛,具体是以弧段为着眼 点,利用结点与弧段拓扑关系,由弧段的两侧分别进行搜索组织边界多边形, 其中弧段左侧搜索时,是顺着弧段的方向进行的,弧段右侧搜索时,是逆着弧段的方向进行的,这种搜索约定可以保证搜索的边界多边形具有以下特点(1) 内多边形均为逆时针的,其积分面积为负;(2)外多边形(孤岛)均为顺时针 的,其积分面积为正。如附图ll,从弧段a2的左侧顺着弧段方向搜索的结果是弧段&、 -as、 a,构成的边界多边形(其中-a6表示边界多边形的方向与弧段方向 相反),由于这个边界多边形是逆时针的,所以是内多边形,从弧段&的右侧逆 着弧段方向搜索的结果是弧段-a2、 a3、 a7构成的边界多边形,也是内多边形,而 从弧段as的右侧逆着弧段方向搜索的结果是弧段-a5、 a4、 -a3、 -a,构成的边界多 边形,由于这个边界多边形是顺时针的,是外多边形(孤岛)。本发明方法的第九步是由约束Delaunay三角网进行孤岛的快速归属处理, 具体是搜索孤岛的极点(这里以左极点为例),并在约束Delmmay三角网中由该 点向左侧引射线,根据射线与约束Delaimay三角网中的约束边(其构成弧段) 的相交情况以及交点的远近确定其归属关系,如附图12,弧段-&9构成的孤岛, 其左极点,为G2,其向左的射线与约束Delaunay三角网中组成弧段a!的Delaunay 三角网约束边相交,并且G2点位于弧段8u的左侧,因此弧段-a9构成的孤岛归属 于弧段a2、-a6、 a,构成的内多边形,并与其共同构成区域R6的边界(如附图14), 而弧段15、 a4、 -a3、 -a:构成的孤岛其左极点Gi向的射线未与任何Delaunay三 角网约束边相交,这样的孤岛构成整个工作区的边界。本发明方法的第十步是由约束Delaunay三角网进行内点的快速归属处理, 具体是根据第三步获得各个内点在约束Delaunay三角网中的邻近折线点确定各 个内点在约束Delaunay三角网中的位置,并由该位置向左引射线,根据射线与 约朿Delaimay三角网中的约束边(其构成弧段)的相交情况以及交点的远近确 定其归属关系,再把内点的属性转移给其所归属的区域,如附图5和附图13, 内点U的邻近折线点为Nfi,根据U和Ne的关系确定U在约束Delaunay三角网 中的位置,并由U向左引射线,其与约束Delaunay三角网中组成弧段&的 Delaunay三角网约束边相交,并且U点位于弧段a,的左侧,因此内点"归属于 弧段a2、 -a 、 a,构成的内多边形,将内点"的属性转移到该区域中。上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的 精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发 明的保护范围。
权利要求
1.一种基Delaunay三角网技术的区域拓扑关系构建方法,其特征在于,包括以下步骤(1)确定有效模糊距离。(2)由构建区域拓扑关系的折线点与内点构建Delaunay三角网。(3)从所述步骤(2)构建的Delaunay三角网中剔除内点。(4)根据所述步骤(1)确定的有效模糊距离基于子项3)获得的Delaunay三角网进行点与点的模糊归并处理。(5)由折线约束所述步骤(4)获得的Delaunay三角网实现求交。(6)由所述步骤(5)获得的Delaunay三角网中的约束边组织弧段。(7)利用所述步骤(5)获得的Delaunay三角网构建结点和弧段的拓扑关系。(8)根据结点与弧段拓扑关系组织边界多边形。(9)在子项所述步骤(5)获得的Delaunay三角网中利用射线法进行孤岛归属处理。(10)根据内点在子项所述步骤(5)获得的Delaunay三角网中的邻近折线点确定内点在Delaunay三角网中的位置,再利用射线法进行内点归属处理。
2. 根据权利要求1所述的方法,其特征在于,所述歩骤(1)中的有效模糊 距离是由用户给定模糊距离,结合折线点和内点的坐标范围,再根据坐标表示 方法来确定。
3. 根据权利要求1所述的方法,其特征在于,所述步骤(3)是对Delaunay 三角网中的所有内点在Delaimay三角网中搜索其邻近折线点,并进行记录,最 后将内点从De 1 aunay三角网中剔除。
4. 根据权利要求1所述的方法,其特征在于,所述步骤(4)是在Delaimay 三角网中逐个Delaunay三角网点通过与该点直接连接的Delaunay三角网边寻 找距离该点小于有效模糊距离的Delaimay三角网点并剔除,实现初步模糊处理。
5. 根据权利要求1所述的方法,其特征在于,所述步骤(5)是以参加拓扑 的所有折线的线段作为约束信息对Delaimay三角网进行约束实现求交处理。
6. 根据权利要求1所述的方法,其特征在于,所述步骤(5)由折线约束 Delaunay三角网实现求交包括以参加拓扑的所有折线的线段作为约束信息对 Delaunay三角网进行约束实现模糊处理。
7. 根据权利要求1所述的方法,其特征在于,所述步骤(6)是通过搜索Delaunay三角网中的约束边组织弧段,并获得哪些Delaunay三角网的点是结点。
8. 根据权利要求1和7所述的方法,其特征在于,所述步骤(7)是利用 Delaunay三角网构建结点和弧段的拓扑关系的算法。
9. 根据权利要求1所述的方法,其特征在于,所述步骤(9)是在Delaunay 三角网中利用射线法实现孤岛归属处理算法。
10. 根据权利要求1所述的方法,其特征在于,所述步骤(10)是根据所述 步骤(3)获得的内点在Delaunay三角网中的邻近折线点确定内点在Delaunay 三角网中的位置,再利用射线法实现内点归属处理算法。
全文摘要
本发明公开了一种基于Delaunay三角网技术的区域拓扑关系构建方法,它提出了由用户模糊距离以及构建区域拓扑关系的折线点和内点的坐标范围确定有效模糊距离的方法,并提出了基于Delaunay三角网技术实现模糊归并处理、折线求交生成弧段、建立结点和弧段的拓扑关系、孤岛和内点的归属处理等区域拓扑关系构建的关键过程。由于该发明充分利用了Delaunay三角网数据结构的点邻接性和自适应性,大大提高了折线求交生成弧段、结点与弧段拓扑关系生成以及孤岛和内点的归属处理的效率,同时由于构建区域拓扑关系的各个过程是维护和操作同一个Delaunay三角网,使得内存的利用和管理更加方便高效,上述特点提高了区域拓扑关系构建的效率。
文档编号G06T11/40GK101251929SQ20081006001
公开日2008年8月27日 申请日期2008年2月29日 优先权日2008年2月29日
发明者周祖煜, 戴企成, 章孝灿, 蔡依萍, 黄智才 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1