一种顾及拓扑关系的大规模矢量地图快速综合的方法

文档序号:2622585阅读:235来源:国知局
专利名称:一种顾及拓扑关系的大规模矢量地图快速综合的方法
技术领域
本发明涉及一种顾及拓扑关系的大規模矢量地图快速综合的方法,属于空间信息技术领域。
背景技术
ニ维矢量地图是空间信息研究和应用中存储、管理和分析的主要对象,在空间决策、虚拟现实以及地理信息系统等领域中都有重要的应用。随着测绘、遥感及相关技术的发展,人们获取空间数据的数据量呈摩尔定律的速度增长,远远超出了计算机硬件和内存的增长速度。如何在保证一定数据精度的前提下,快速实现大数据量矢量地图简化和综合成为当前空间信息技术领域着重解决的问题之一。对高分辨率、大数据量的空间信息来说,为了快速实现建模、可视化和分析,多采用细节层次模型来进行组织和表达,而矢量地图往往包含大規模、复杂的地图要素,传统的方法在解决这个问题时存在很大的不足和缺陷。针对单个矢量要素的简化发展较早且已较成熟。如在1973年提出的Douglas-Peuker线简化方法可很好的保持要素重要的几何特征,是应用最普遍的简化算法之一,其主要思想为求算距离首尾顶点所连成线段距离最远的顶点,若其距离大于给定阈值,将其此顶点与首尾顶点相连形成新的线段,迭代此过程,直到新生成线段的首尾顶点间所有顶点距此线段的距离都小于阈值为止。但该方法是针对单个要素,而没有考虑要素间的拓扑关系,原本没有相交和自相交情况的矢量地图,在简化后,往往会出现相交和自相交等拓扑错误。因此在矢量地图综合时,不仅要考虑要素自身几何特征,还需考虑其与周边要素间的拓扑关系。本发明首先借助与计算机图形硬件对矢量地图进行综合,利用单调链算法和Voronoi图算法使得要素间的拓扑关系得以保持,避免了综合后要素间的相交和自相交,同时借助计算机图形硬件,避免了复杂的几何计算,提高了简化效率,实现了对大規模矢量地图的有效综合。

发明内容
I、目的本发明的目的是在保持几何拓扑关系不变的前提下,解决大規模矢量地图的快速综合和简化,提高多尺度、大尺度矢量数据融合的精度和效率,加快大規模矢量数据的可视化速度。2、技术方案本发明ー种顾及拓扑关系的大規模矢量地图快速综合的方法,该方 法的步骤流程如图I所示。本发明主要针对于线状要素,对于面素可视为首尾闭合的线状要素加以简化。为了避免简化后的线要素出现自相交,以及要素间相交的拓扑错误,首先将每个线要素拆分为单调链,再借助于图形硬件(模板缓存、深度缓存、顔色缓存相结合)对每个单调链进行简化;最后,连接简化后的单调链,得到线要素的最终简化結果。具体实现过程如下步骤ー生成单调链
先将每个线要素拆分为若干个单调链。单调链的定义对于一条折线1,存在ー个方向,此方向用直线Id表示,Id的任意一条垂线至多只和I有ー个交点,如图2所示。单调链具的ー个重要特性为单调链不会自相交,且单调链的简化结果仍为单调链,因此,简化后的单调链不会自相交。将一条线要素拆分为单调链的过程如下定义向量芗和す的夹角选取向量芗和す相交所成的两角中较小的角。若此角由P向す逆时针旋转得到,则可直接定义为芗和す的夹角。若此角由フ向マ顺时针旋转得到,则需取负值,故此角的大小落于区间(-180°,180° ]之间。对于一条线要素I = (V。,V1, , vn),向量V; vf+1和V0 6夹角被定义为Θ i,显然し=0,I是单调的,当且仅当其所有边与!^夹角所成的序列{ Θ ^ θ ρ . . .,Θ n_J满足(Θ 眶-Θ min) < 180,此处 Θ ■ = max ( Θ。,Q1,..., Θ ^1),Θ min = min( Θ 0, Q1,...,Θμ),因此,给定ー个线要素,从Qtl开始向后遍历,以更新θ_和0min。如果当遍历到Qi吋,(0__0min) ^ 180°,那么在顶点Vi处打断此条线。从Vi处重新开始计算,重复上面的过程,直到最后ー个顶点。步骤ニ简化单调链经过步骤一,线要素被分割为单调链,接下来,对每条单调链进行简化。因单调链不自相交,如果能避免简化后的单调链相互间不会相交,则可保证线要素最终简化结果不会相交和自相交。为此,简化过程借助ε-Voronoi图。在ニ维平面上分布着ー组几何对象(点,先,面,这里,只考率线),Voronoi图将ニ维空间分成若干个区域,每个区域包含ー个几何对象,该区域内的所有的点距该几何对象的距离小于距其它几何对象区的距离。图3(a)展示了 3个线要素的VOTonoi图,ε -Voronoi图是加了距离约束条件的Voixmoi图,即每个区域内的点距其几何对象的距离不大于ε,如图3(b)所示。对于一幅地图,生成整幅地图的ε-Voronoi图。对于姆条线段,将其所有顶点两两相连形成线段,如果一条线段完全位于该要素的ε-Voronoi区域内,称其为合规线段,如图3(b)所示。一条合规线段距原线要素的距离一定小于ε,并且不同线要素的合规线段间永不可能发生相交。相反的,如果线要素的一条线段超出了该要素的ε-Voronoi区域,则有可能和另ー个线要素的线段相交,此类线段被成为违规线段,如图3(b)所示。若能剔除所有的违规线段,剩下合规线段。将每个线要素的合规线段按照ー定的法则相连,则可得到简化后的线要素,并可避免要素间的相交。为了避免要素间的自相交,先清空所有帧缓存,在模板缓存里渲染每条单调链的
ε -Voronoi区域,并使姆个单调链的ε -Voronoi区域具有区别于其他单调链的卩隹--个
模板缓存值。对于单调链Ii,其ε-Voronoi区域的模板缓存值被设为i,然后,生成每个单调链的线段集,将其渲染到颜色缓存中。对于Ii,设置当模板值不等于i时,模板测试才能通过。因为其ε-Voronoi区域内所有像素的模板值都为i,而其合规线段完全位于其ε -Voronoi区域内,故无法通过模板测试,得不到渲染,只有违规线段超出其ε -Voronoi区域内的部分才会被渲染到顔色缓存中。所有线段被渲染完成后,读取颜色缓存,如果ー像素的顔色缓存值不为0,将该颜色所对应的线段从线段集中剔除。此步操作后,线段集中所保留的线段应全为合规线段。接下来,对于每个单调链,连接合规线段以得到简化结果从第一个顶点%出发,在所有连接Vtl的线段中,寻找另一顶点距Vtl最远的线段,连接%到最远的另ー个顶点,再从此顶点开始,直到连接到最后ー个顶点为止。最后,连接简化后的单调链,以得到简化后的线要素。如果在ー小块区域中渲染了过多的线段,线段间相互遮盖严重,则一条违规线段可能会完全被其它线段所遮盖,以至于其颜色无法被读到,从而被当做合规线段保存到最后的结果中。为此,在渲染线段,读取颜色缓存,剔除违规线段后,清空顔色缓存,对于线段集当中剩下的线段进行渲染,再次读取颜色缓存,剔除出现在颜色缓存中的线段。重复此过程,直至没有新的线段被剔除为止。由此得到的简化后的单调链,完全位于原单调链的ε -Voronoi 区域中。步骤三保持综合精度当一整幅地图完全被渲染到帧缓存中时, 如果图幅很大,那么每个要素将被严重的縮小。为了保持本发明方法的有效性和精确性,同时为了减缓线段间的相互遮挡,需要对地图进行分幅渲染。分幅的原则是,原地图上的一条线段投影到屏幕上,至少要有两个像素的大小。根据这个原则,在水平方向上,一幅地图应该被分为nw块,「F/(ゴ-Wh,d是线要素相邻两点间的平均距离(d可由粗略采样获得或通过观察人工给出),w是屏幕宽度,W是地图宽度,函数Γ 表示向上取整。在竖直方向上的分幅数nh可同理得到。对用目前通用的图形显卡,其模板缓存的模板值一般最大占8位,即模板值可取0-255间的整数。但是一般情况下,一幅地图生成的单调链的个数要多于255,即使对地图分块处理后,也不能保证ー块中单调链的个数一定小于255。如果ー块地图单调链的个数大于255的话,则不能保证每个单调链的ε -Voronoi区域的模板缓存值都唯一,但只要能保证相邻ε -Voronoi区域的值不相同即可,因此渲染ー个ε -Voronoi区域时,先读取其附近区域的模板缓存值,然后取一个与这些值都不同的值作为将该区域的模板值。3、优点及功效本发明利用单调链算法和VOTonoi图算法使得要素间的拓扑关系得以保持,避免了综合后要素间的相交和自相交,可有效保持要素间的拓扑关系,同时借助计算机图形硬件,避免了复杂的几何计算,提高了简化效率,获得了比传统基于几何方法更高的简化效率,实现了大数据量矢量地图的有效综合。


图I矢量数据综合流程示意2单调链I示意3 (a) Voronoi 3 (b) ε -Voronoi区域,合规线段(点划线),违规线段(虚线)图4 (a) LULC原图包含90,145个顶点图4(b)简化后的LULC地图包含9,530个顶点,ε = 5%0图5 (a)等高线原图包含93,187个顶点图5(b)简化后的等高线地图包含1,831个顶点,ε = 5%。图6 (a)水文原图包含14,023个顶点图6(b)简化后的水文地图包含5,720个顶点,ε = 5%。图7 (a) 土壤类型原图的局部,原图包含987,204个顶点图7(b)简化后的土壤类型图局部,简化后整幅图包含70,643个顶点,ε = 5%图8(a) 土壤类型原图局部区域
图8(b)本发明简化矢量地图所得结果图8 (C)Mustafa等人的方法简化所得结果
具体实施例方式本发明涉及一种顾及拓扑关系的大規模矢量地图快速综合的方法,该方法的具体步骤如下步骤ー生成单调链先将每个线要素拆分为若干个单调链。单调链的定义对于一条折线1,存在ー个方向,此方向用直线Id表示,Id的任意一条垂线至多只和I有ー个交点,如图2所示。单调链具的ー个重要特性为单调链不会自相交,且单调链的简化结果仍为单调链,因此,简化后的单调链不会自相交。
将一条线要素拆分为单调链的过程如下定义向量芗和す的夹角选取向量芗和す相交所成的两角中较小的角。若此角由芗向す逆时针旋转得到,则可直接定义为芗和す的夹角。若此角由芗向す顺时针旋转得到,则需取负值,故此角的大小落于区间(-180。,180° ]之间。对于一条线要素I = (V。,V1, , vn),向量和Vot夹角被定义为Θ j,显然し=0,I是单调的,当且仅当其所有边与^^夹角所成的序列{ Θ ^ θ ρ . . .,Θ n_J满足(Θ 眶-Θ min) < 180,此处 Θ ■ = max ( Θ。,Q1,..., Θ ^1),Θ min = min( Θ 0, Q1,...,Θμ),因此,给定ー个线要素,从Qtl开始向后遍历,以更新θ_和0min。如果当遍历到Qi吋,(0__0min) ^ 180°,那么在顶点Vi处打断此条线。从Vi处重新开始计算,重复上面的过程,直到最后ー个顶点。步骤ニ 简化单调链经过步骤一,线要素被分割为单调链,接下来,对每条单调链进行简化。因单调链不自相交,如果能避免简化后的单调链相互间不会相交,则可保证线要素最终简化结果不会相交和自相交。为此,简化过程借助ε-Voronoi图。在ニ维平面上分布着ー组几何对象(点,先,面,这里,只考率线),Voronoi图将ニ维空间分成若干个区域,每个区域包含ー个几何对象,该区域内的所有的点距该几何对象的距离小于距其它几何对象区的距离。图3(a)展示了 3个线要素的VOTonoi图,ε -Voronoi图是加了距离约束条件的Voixmoi图,即每个区域内的点距其几何对象的距离不大于ε,如图3(b)所示。对于一幅地图,生成整幅地图的ε-Voronoi图。对于姆条线段,将其所有顶点两两相连形成线段,如果一条线段完全位于该要素的ε-Voronoi区域内,称其为合规线段,如图3(b)所示。一条合规线段距原线要素的距离一定小于ε,并且不同线要素的合规线段间永不可能发生相交。相反的,如果线要素的一条线段超出了该要素的ε-Voronoi区域,则有可能和另ー个线要素的线段相交,此类线段被成为违规线段,如图3(b)所示。若能剔除所有的违规线段,剩下合规线段。将每个线要素的合规线段按照ー定的法则相连,则可得到简化后的线要素,并可避免要素间的相交。为了避免要素间的自相交,先清空所有帧缓存,在模板缓存里渲染每条单调链的
ε -Voronoi区域,并使姆个单调链的ε -Voronoi区域具有区别于其他单调链的卩隹--个
模板缓存值。对于单调链Ii,其ε-Voronoi区域的模板缓存值被设为i,然后,生成每个单调链的线段集,将其渲染到颜色缓存中。对于Ii,设置当模板值不等于i时,模板测试才能通过。因为其ε-Voronoi区域内所有像素的模板值都为i,而其合规线段完全位于其ε -Voronoi区域内,故无法通过模板测试,得不到渲染,只有违规线段超出其ε -Voronoi区域内的部分才会被渲染到顔色缓存中。所有线段被渲染完成后,读取颜色缓存,如果ー像素的顔色缓存值不为0,将该颜色所对应的线段从线段集中剔除。此步操作后,线段集中所保留的线段应全为合规线段。接下来,对于每个单调链,连接合规线段以得到简化结果从第一个顶点%出发,在所有连接Vtl的线段中,寻找另一顶点距Vtl最远的线段,连接%到最远的另ー个顶点,再从此顶点开始,直到连接到最后ー个顶点为止。最后,连接简化后的单调链,以得到简化后的线要素。如果在ー小块区域中渲染了过多的线段,线段间相互遮盖严重,则一条违规线段可能会完全被其它线段所遮盖,以至于其颜色无法被读到,从而被当做合规线段保存到最后的结果中。为此,在渲染线段,读取颜色缓存,剔除违规线段后,清空顔色缓存,对于线段集当中剩下的线段进行渲染,再次读取颜色缓存,剔除出现在颜色缓存中的线段。重复此过程,直至没有新的线段被剔除为止。由此得到的简化后的单调链,完全位于原单调链的ε -Voronoi 区域中。
步骤三保持综合精度当一整幅地图完全被渲染到帧缓存中时,如果图幅很大,那么每个要素将被严重的縮小。为了保持本发明方法的有效性和精确性,同时为了减缓线段间的相互遮挡,需要对地图进行分幅渲染。分幅的原则是,原地图上的一条线段投影到屏幕上,至少要有两个像素的大小。根据这个原则,在水平方向上,一幅地图应该被分为nw块,π#=,d是线要素相邻两点间的平均距离(d可由粗略采样获得或通过观察人工给出),w是屏幕宽度,W是地图宽度,函数Γ 表示向上取整。在竖直方向上的分幅数nh可同理得到。对用目前通用的图形显卡,其模板缓存的模板值一般最大占8位,即模板值可取0-255间的整数。但是一般情况下,一幅地图生成的单调链的个数要多于255,即使对地图分块处理后,也不能保证ー块中单调链的个数一定小于255。如果ー块地图单调链的个数大于255的话,则不能保证每个单调链的ε -Voronoi区域的模板缓存值都唯一,但只要能保证相邻ε -Voronoi区域的值不相同即可,因此渲染ー个ε -Voronoi区域时,先读取其附近区域的模板缓存值,然后取一个与这些值都不同的值作为将该区域的模板值。实施例I :在一台配置有Intel (R) Core 2. 4GHz 2 处理器,2G 内存,ATI Radeon HD 图形显卡的计算机上进行了实施。表I列出了所用的实验数据。表I.实验所用矢量数据·
数据类型要素数顶点数
1土地利用/土地覆盖 1,197 90,145 http://www.state.hi.us/dbedt/gis/lulc.htm
(LULC)图
2500 英尺等高线图305 93,187 http://hawaii.gov/dbedt/gis/cntrs500.htm
3水文图2,651 114,023 http://hawaii.gov/dbedt/gis/streams.htm
4土壤类型图5,548 987,204 http://hawaii.gov/dbedt/gis/soils.htm
图4、图5和图6分别展示了表I中的前3幅地图及其综合結果。因第4幅地图要素较多,不便全部展示,故图7只展示了表I中的第4幅地图的局部及其综合結果。表2显示了每幅地图的时间和简化后剩余顶点数。表3显示了简化过程中每步的耗时。表2.简化时间及剩余顶点数

权利要求
1. 一种顾及拓扑关系的大规模矢量地图快速综合的方法步骤包括 步骤一生成单调链 每个线要素拆分为若干个单调链,将一条线要素拆分为单调链的过程如下对于一条线要素I = (V0, V1,. . . ,Vn),向量ν;· vf+丨和Vo 夹角被定义为Qi,显然Θ。= 0,1是单调的,当且仅当其所有边与 夹角所成的序列{ Θ。,θ ρ · · ·,Θ n_J满足(Θ max- Θ min) < 180,此处 9 max = max( Θ 0,Q1,…,Θ J,Θ min = min( θ 0, Θ 丨,…,Θ J,因此,给定一个线要素,从Θ。开始向后遍历,以更新Θ_^Ρ 9min,当遍历到Θ i时,(Θ max-Θ min)彡180°,那么在顶点Vi处打断此条线,从Vi处重新开始计算,重复上面的过程,直到最后一个顶点。
步骤二 简化单调链 经过上述步骤,线要素被分割为单调链,接下来,对每条单调链进行简化,首先对于一副地图,生成整幅地图的ε-Voronoi图,对于每条线段,将其所有顶点两两相连形成线段,为了避免要素间的自相交,首先,清空所有帧缓存,在模板缓存里渲染每条单调链的ε -Voronoi区域,并使每个单调链的ε -Voronoi区域具有区别于其他单调链的唯--个模板缓存值,然后,生成每个单调链的线段集,将其渲染到颜色缓存中,渲染时每条线段对应唯一一个颜色,并同时开启模板测试,对于Ii,设置当模板值不等于i时,模板测试才能通过,所有线段被渲染完成后,读取颜色缓存,如果一像素的颜色缓存值不为0,将该颜色所对应的线段从线段集中剔除,此步操作后,线段集中所保留的线段应全为合规线段,接下来,对于每个单调链,连接合规线段以得到简化结果,连接步骤如下从第一个顶点%出发,在所有连接%的线段中,寻找另一顶点距%最远的线段,然后连接%到最远的另一个顶点,再从此顶点开始,重复上述步骤,直到连接到最后一个顶点,最后,连接简化后的单调链,以得到最后的简化后的线要素。
在渲染线段,读取颜色缓存,剔除违规线段后,清空颜色缓存,对于线段集当中剩下的线段进行再次渲染,然后读取颜色缓存,剔除出现在颜色缓存中的线段,重复此过程,直至没有新的线段被剔除为止。
步骤三保持综合精度 为了保持本发明方法的有效性和精确性,同时减缓线段间的相互遮挡,要对地图进行分幅渲染,分幅的原则是,保证原地图上的一条线段,投影到屏幕上,至少要有两个像素的大小,根据这个原则,在水平方向上,一幅地图应该被分为~块,=「ΡΓ/(>Μν) ,d是线要素相邻两点间的平均距离,w是屏幕宽度,W是地图宽度,函数「~|表示向上取整,同理得到,在竖直方向上的分幅数%。
如果一块地图单调链的个数大于255,为了保证相邻ε -Voronoi区域的值不相同,渲染一个ε-Voronoi区域时,先读取其附近区域的模板缓存值,然后取一个与这些值都不同的值作为将该区域的模板值。
全文摘要
本发明涉及一种大规模线状或面状矢量地图快速综合的方法。该方法首先将要素拆分单调链,然后在帧缓存中渲染单调链的Voronoi图,使得每个单调链的简化结果都位于该单调链的Voronoi区域内,再将单调链的简化结果组合成原要素的简化结果。从而可避免简化后要素间的相交和要素的自相交。因为借助了图形硬件,避免了复杂的几何计算过程,加快了简化速度,在空间信息存储、网络传输和网络分析等方面具有重要的应用价值。
文档编号G09B29/00GK102663958SQ201210079100
公开日2012年9月12日 申请日期2012年3月23日 优先权日2012年3月23日
发明者张立强, 杨玲, 邓浩, 陈栋 申请人:北京师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1