2. 武汉大学 资源与环境学院,湖北 武汉 430079
2. School of Resources and Environment Science, Wuhan University, Wuhan 430079,China
1 引 言
随着丰富互联网应用(rich internet application,RIA)的流行,网络地图将尽可能在客户端展示其强大功能,用户在客户端不仅可以按其需要和兴趣设计地图的显示,而且能直接进行数据分析。该技术实现的前提是在现有网络带宽背景下保证地图矢量数据的快速传输。由于矢量地图数据之庞大,不能等到数据传输完成后才开始显示地图,而是需要客户端从获取地图数据开始时就边接收边显示,随着传输时间的延续地图表达的分辨率会越来越高——地图的渐进式传输[1]。这一方面是为了避免用户长时间等待,另一方面是由于用户所需地图的详略程度不同,用户可根据需要随时暂停传输。整个传输过程包含四个流程 [1, 2, 3, 4]: ① 在服务器端进行数据预处理,建立地图数据的层次模型,并将层次模型组织成线性数据流;② 地图数据流在网络的传输;③ 地图要素在客户端的重构以及地图的可视化表达;④ 地图要素拓扑关系的检查与纠正。其中第①步构建地图多尺度表达的数学模型,可以在同一数据源基础上派生出由尺度决定的不同详细程度的地图。为避免数据传输的冗余,最优的方式是以增量模式构建多尺度模型,即后一尺度的地图是由前一大尺度地图和其数据增量代数运算得到。增量模式可以分为两种类型:点增量式和区域增量式。点增量式是将要素上的点按其重要程度设置权重,在网络中按权值从大到小顺序传输。传统的模型有BLG树[5],它是将曲线上各点的矢距设置成权值并形成二叉树层次结构,在渐进式传输过程中,服务器将BLG树上的点按从上层到下层的顺序不断传送给客户端。文献[6]给出了另一种设定要素点权重的方法,其根据拓扑维护规则将要素上的点分为“可删除点”和“不可删除点”,在“可删除点”中按该点与左右两点组成的三角形的面积大小来确定其权重[6]。区域增量式适用于面状要素,最典型的模型有H-tree[1, 2],它将多边形轮廓构建成凸壳多叉树,上层凸壳的权重高于下层凸壳的权重,上层凸壳先于下层的凸壳到达客户端,在客户端由不同层次凸壳多边形的叠加来实现多边形越来越精细的渐进式传输与表达。
上述的两种增量式算法均是以点坐标数据为基本单元,这源于地理信息是以离散采样的方式表达空间分布。周期函数能够用若干不同频率的三角函数的代数和来逼近,这便是傅里叶级数。傅里叶级数低阶分量属于低频信息,其描述函数曲线的轮廓,高阶分量是高频信息,其描述函数曲线的细节。本文尝试将等高线描述成傅里叶级数形式,在网络中先传输低频分量,再传输高频分量,在客户端由特征向量重构等高线,随着特征向量长度的增加,曲线从粗略向精细的表达便可实现。文献[7]利用离散傅里叶级数进行闭合曲线的多尺度表达,而本文的模型是基于连续函数的傅里叶级数,不仅能用于闭合曲线,还适合于开曲线,更具一般性。 2 曲线的傅里叶描述子的模型 2.1 闭合等高线的傅里叶描述子
闭合等高线为一组首尾点重合的坐标串,其轮廓能够描述成以其周长为周期的周期函数。在图 1中,由点列P0,P1,…,PN构成闭合等高线(P0,PN重合),以P0为起点,则曲线上的任一点PS(X(S),Y(S))都可表达为曲线长度S的分段函数,具体表达式为
式中,Si为端点Pi到起点P0的曲线长; Si≤S≤Si+1;0≤i≤N-1;(xi,yi)为点Pi的坐标。
![]() |
图 1 多边形上动点的函数表达 Fig. 1 Coordinate of moving point in polygon representation |
函数X(S)、Y(S)均是以闭合曲线周长为周期的周期函数,故均能用傅里叶级数表示
式中
设式(2)中前n-1项的代数和设为X(S)n-1、Y(S)n-1,前n项的和为X(S)n、Y(S)n,令则曲线增量表示式为
第k项展开式的系数向量可表示为Vk=[AXk BXk AYk BYk]T,前k项所有展开式系数矩阵可以表示为Vk= [v0 v1 v2 … vk],称Vk为曲线的第k阶形状描述子,通过形状描述子可以重构等高线。当阶数k越大,级数越逼近原函数。设定某一整数K,当k大于K时,傅里叶级数逼近原函数的程度就能达到某一具体应用的要求。在地图的多尺度表达中,比例尺越大就需要展现更详细的曲线细节,可以通过控制形状描述子的长度来实现等高线的不同尺度的表达。一定阶数的傅里叶形状描述子对应于一定比例尺的等高线表达。但不同复杂程度和规模的曲线,其对应关系可能存在较大的差异。 2.2 开曲线的傅里叶形状描述子
开等高线上的点同样可按式(1)描述成关于曲线长度S的分段函数,但该函数不是周期函数,要表达成傅里叶级数必须将其拓展为周期函数。本文将曲线以首尾点的连线作镜像处理,如图 2由点列P0,P1,…,Pi,…,PN-1,PN构成开曲线经过镜像处理后生成了新的点列P0,P1,…,PN-1,PN,P′N-1,…,P′1,P0,其中点Pi和点P′i(0P0PN对称。新构成的闭合曲线的傅里叶形状描述子则可用式(2)得到。将拓展成的闭合曲线的形状描述子当做原开曲线的形状描述子,同样可以由式(4)重构开曲线,但此时需要特别注意的是:自变量S不是在[0,L/2]区间内取值,其取值范围为[0,L/2],其中L为重构的闭合曲线的周长。
![]() |
图 2 开曲线经过镜像处理后构成闭合曲线 Fig. 2 The open curve is processed into close curve through mirroring with the axis of symmetry including first and end point |
曲线傅里叶形状描述子是傅里叶级数展开式的有限个参数所组成的向量,作为描述曲线形状的特征向量,在不同的尺度下,其傅里叶展开式逼近原要素的程度应不同,比例尺越大,要求逼近的程度越高,因而傅里叶形状描述子也必须越长。文献[8—9]对不同形状多边形的傅里叶展开式的精度进行研究,以有限位数的傅里叶展开式得到的近似形状与原始形状的交集同原始形状的面积之比作为形状逼近精度的考察量,结果发现不同形状相同阶数的傅里叶级数逼近原多边形的程度是不同的,多边形越光滑傅里叶形状描述子收敛速度越快。但这仅仅是对傅里叶级数收敛性进行的定性研究,如将曲线傅里叶形状描述子作为曲线多尺度表达的特征参数,仅作定性的分析是不够的,还需要建立比例尺与傅里叶形状描述子阶数之间的对应关系。下面给出建立比例尺与傅里叶形状描述子阶数对应关系的具体方法: 曲线k 阶傅里叶形状描述子所形成的曲线与原曲线必然形成众多缝隙,缝隙面积大小是其逼近精度的体现。就同一曲线而言k值越大,拟合曲线越逼近原曲线,缝隙面积就越小,当缝隙面积趋于零时,拟合曲线便与原要素接近重合,如图 3所示,其中粗线为原曲线,细线为傅里叶逼近曲线,斜线填充的区域为两曲线形成的缝隙。
![]() |
图 3 傅里叶K阶展开曲线与原曲线形成的缝隙 Fig. 3 The region created by the original curve and expanded curve of its Fourier series |
考虑到等高线综合时常以弯曲的深度值作为化简依据,本文将根据缝隙面积计算出各弯曲的平均深度,以平均深度作为最小可辨目标SVO(smallest visible object)所对应的实际长度,从而计算出当前拟合曲线的比例尺。由于曲线的形态差异,缝隙平均深度与其曲线弯曲相关,本文将缝隙弯曲分为两种类型:V形弯曲(如图 4(a))和U形弯曲(如图 4(b)),分别以三角形和梯形计算其底边上的高,并将此高作为弯曲的深度。具体第k阶傅里叶形状描述子对应的比例尺的计算公式
![]() |
图 4 傅里叶K阶展开曲线与原曲线形成的缝隙深度 Fig. 4 The depth of crack formed by the original curve and expanded curve of its Fourier series |
式中,nscale为曲线比例尺分母;dsvo为地图最小可分辨距离,取dsvo=0.4 mm,即表示地图上人眼能够分辨的距离是0.4 mm; da 为各弯曲的平均深度;l为展开曲线的长度,S表示缝隙的总面积值;δ为面积系数,其值由等高线的形状类型来确定,以V形弯曲为主的曲线δ=2.0,以U形弯曲为主的曲线δ=4/3。δ的值可以根据U形和V形弯曲的比例来确定,取值在[4/3,2]间调节。
表 1给出一条U形曲线和一条V形曲线通过式(6)得到的傅里叶形状描述子阶数与地图比例尺的对应关系,从表 1不难发现:对不同曲线,相同阶数的傅里叶形状描述子对应的比例尺差异很大。实际应用中,可以设定某一面积阈值,当两曲线所夹缝隙的面积小于该阈值时,此时由傅里叶形状描述子重构的曲线被认为是最详细(最终极)的表达。在网络传输中此傅里叶描述子传输的完成即标志着曲线数据的传输完毕。渐进式传输一般将地图尺度进行一定粒度划分,这里的粒度是对多尺度表达“多”到什么程度的回答[10],即比例尺间隔大小,间隔大就表示粒度大,反之亦然。在客户端采用级联方式显示,无须做到完全无级尺度的传输,因此在服务器端组织数据时就不需要对每一阶次的描述子都计算其对应的比例尺,可针对不同复杂度的等高线,通过试验确定描述子的阶次增量。在实际等高线渐进式传输过程中,服务器依据浏览器请求的比例尺,查询该比例尺对应的阶次,进而组织需要传输的数据。
曲线 | 类型 | K | 长度l/m | 面积S/m2 | nscale |
1 | U 形 δ =4/3 | 20 30 50 | 327 364 440 | 2 147 1565 710 | 13 950 10 168 4 613 |
2 | V 形 δ=2 | 30 50 80 100 120 160 | 3 766 4 342 5 076 5 752 6 336 7 220 | 29 113 18 716 14 943 10 496 9 442 5 778 | 105 817 44 998 22 134 15 398 12 051 4 001 |
本文对等高线的渐进式传输采用尺度优先的方式[10],即将所有等高线的某一尺度对应的傅里叶形状描述子传输完毕后,再传输下一尺度的数据,而不是将一条等高线的傅里叶形状描述子的全部数据传输完毕后,再传输下一条等高线数据。傅里叶形状描述子属于线性结构,在数据的传输过程中,当上一尺度的数据传输完毕后,必须在所有曲线的傅里叶形状描述子中寻找描述下一尺度形状细节的高频子参量,不同复杂度的曲线对表达某尺度细节所对应的傅里叶形状描述子的起始阶次k以及终级阶次均不相同。因此对每条曲线必须建立以尺度为参考的傅里叶形状描述子阶次的层次结构,在层次结构的每一个节点记录本尺度对应的傅里叶形状描述子的最大阶次。图 5列出了4条等高线在不同尺度下的傅里叶形状描述子的层次结构,在1∶5万的比例尺下,曲线1、2、3、4对应的傅里叶形状描述子的阶次分别为7、20、9、45,传输的第1个阶段是分别将4条曲线的傅里叶级数前7、20、9、45位参数传输到客户端,接着第2个尺度的数据开始传输,依次是4条曲线的傅里叶形状描述子第8~20、21~34、10~23、46~65位参数,再接着传输下一尺度的傅里叶形状描述子分量。尺度的粒度越小,傅里叶形状描述子划分越精细,不同尺度间的图形跳跃性越小。
![]() |
图 5 曲线傅里叶形状描述子层次结构组织 Fig. 5 Organization of hierarchical structure of descriptor of curves Fourier series |
傅里叶级数对等高线的拟合是典型的增量式多尺度表达模型,即后一尺度的数据是前一尺度的数据加上数据增量所得。傅里叶描述子对曲线形状的描述是通过不同频率的正弦函数和余弦函数的代数和来表示,其中低频函数控制曲线骨架轮廓,高频函数描述曲线的细节,频率越高刻画曲线细节的能力越强,因而傅里叶级数能够对曲线的形状进行连续尺度的表达。通过式(2)知曲线上的点坐标是从起点出发沿曲线到该点弧长S的函数,S的步长ΔS决定了重构曲线的点数,ΔS值应与当前的比例尺相关,即比例尺越小点数越少。但要顾及点坐标的增量式算法,必须在不同尺度下采取相同的弧长增量ΔS,以最大比例尺来确定ΔS,可令ΔS为最小可辨目标SVO的尺寸,则同一曲线不同比例尺对应的点数相等。由式(4)进而可以得到在尺度nscale下曲线上第i个点坐标的增量计算公式
式中,Xnscale-1(i)、Ynscale-1(i)、Xnscale(i)、Ynscale(i)分别为在尺度nscale-1、nscale下曲线第i个点对应的坐标;k1,k2为尺度nscale对应的傅里叶形状描述子首末阶次。得到曲线的各个离散点的坐标后,就可利用RIA技术来进行等高线的可视化表达。本文未讨论等高线曲线的选取、不同尺度下等高线相交的判断和处理等问题,以后将在另一篇文章中介绍。 4.2 试验分析
通过傅里叶形状描述子有效地实现等高线的多尺度表达,在该模型下相邻尺度之间的变化粒度具有可调性,能够实现等高线几何细节的连续式演变,在传输粒度上能够满足渐进式传输的要求[4]。该数据组织方式不存在数据的冗余,传输的效率高,因此特别适合于网络环境下曲线数据的渐进式传输。由于曲线傅里叶形状描述子的提取算法工作量较大,试验中在服务器端采用离线方式[11, 12]即事先得到各尺度对应的傅里叶形状描述子分量并存储到数据库中,在传输过程中只要通过数据库的查询操作就可以取得所需要的描述子分量。本文在Visual Studio.Net 2008环境下开发了等高线渐进式传输WebGIS网站,使用XML格式传输傅里叶形状描述子,客户端采用Flex语言实现等高线的可视化。当服务器端收到浏览器发出的请求后,根据当前比例尺进行数据检索组织、分批打包并传输[4],浏览器收到初始数据包后开始重构等高线以实现其概略表达,随着描述子细节分量的逐步到达和累计,等高线的表现尺度越来越小。图 6是某地1∶5000比例尺下26 km2区域的等高线数据渐进式传输过程几个片段,从图中可以看出随着时间的延续,等高线的表达越来越精细。为了验证本文的算法对矢量地图数据的网络传输效率方面的提高,笔者比较了由坐标构成的数据流与傅里叶形状特征构成数据流大小,就本文试验的数据而言,当傅里叶级数的展开式到250项时,即使最复杂最长的曲线所形成的缝隙面积趋于零,而原曲线的点数大于5000,在相同传输条件和环境下传输效率提高了20倍。本文还对曲线传输中缝隙面积随时间变化进行研究(如图 7),从图中可以看出在数据传输的开始阶段缝隙面积直线下降,此后变化速度逐渐降低,直至没有变化,这符合傅里叶级数的特点,这说明在数据传输的开始阶段尺度变化较大,而后尺度变化逐渐平缓。
![]() |
图 6 等高线渐进式传输过程 Fig. 6 Progressive transmission of contour networks |
![]() |
图 7 传输过程缝隙面积随时间变化图 Fig. 7 Area of the crack changes according to transferring time |
地图的渐进式传输是数据表达从空间尺度到时间尺度的映射,在不同的时间点上呈现不同空间尺度的地图。在以往的矢量地图的渐进式传输的文献中,其数据流通常由要素的点坐标串所构成,并按各点对要素形状的贡献大小将其组织成层次结构[13, 14, 15]。本文在闭合等高线傅里叶形状特征向量提取算法的基础上提出了开等高线的傅里叶形状特征向量的提取模型,从而实现各类等高线傅里叶级数的完整表达,以傅里叶级数展开曲线与原曲线形成缝隙的深度为参量求解了傅里叶级数展开阶次与等高线综合比例尺的匹配关系,以此将不同尺度下等高线曲线抽象成不同长度的傅里叶形状描述子向量;并以形状描述子向量构建等高线网络传输的数据流,在客户端重构等高线曲线,其中先期到达的低频参量构建等高线的形状轮廓,其后依次到达的高频参量不断“完善”等高线形状细节,从而实现等高线由粗到精的渐进式传输。这种传输模式最大的两个优点:① 由于傅里叶级数表达曲线形状精细步长的多尺度特点,从而能够在网络客户端实现等高线无极尺度的由粗略到精细传输和表达,而以“插点”方式的传输模型[13, 14, 15, 16, 17]往往会存在尺度的不一致性,即同一曲线一些分段已经很详细而另一些分段却很粗略;② 在网络传输中以曲线的特征向量代替在网络中传输的曲线形状特征向量数据流的数据量明显小于以曲线坐标串构成的数据流量,减少了数据的传输量,提高了传输的效率。本模型在使用时还必须开发等高线曲线相交的探测和自动处理的算法,以解决要素间的拓扑冲突。
本研究主要是从数学的角度探讨线状要素的多尺度表达,但地理等高线是对地貌起伏状况的连续描述,地理上的多尺度是否与傅里叶形状描述子重构的结果相符,如不完全相符,如何修正;傅里叶描述子可直接用于面状要素的多尺度描述,但维护重构要素的拓扑关系是需要进一步研究的问题。
[1] | AI Tinghua, LI Zhilin, LIU Yaolin, et al. The Changes Accumulation Model for Streaming Map Data Transferring over Web[J]. Acta Geodaetica et Cartographica Sinica,2009, 38(6): 514-519,526.(艾廷华,李志林,刘耀林,等.面向流媒体传输的空间数据变化累积模型[J]. 测绘学报, 2009, 38(6): 514-519,526.) |
[2] | VAN OOSTEROM P. The GAP-tree, an Approach to On-the-fly Map Generalization of an Area Partitioning[C]//Proceedings of GIS and Generalization, Methodology and Practice.London: Taylor & Francis, 1995:120-132. |
[3] | BERTOLOTTO M, EGENHOFER M. Progressive Transmission of Vector Map Data over the World Wide Web[J]. GeoInformatica, 2001, 5(4): 345-373. |
[4] | AI Bo, AI Tinghua, TANG Xinming. Progressive Transmission of River Network[J]. Geometrics and Information Science of Wuhan University, 2010, 35(4): 51-54.(艾波,艾廷华,唐新明. 矢量河网数据的渐进式传输[J]. 武汉大学学报:信息科学版, 2010, 35(4): 51-54.) |
[5] | BALLARD D H. Strip Trees:A Hierarchical Representation for Curves[J].Communications of the ACM,1981,24(5):310-321. |
[6] | YANG Bisheng, LI Qingquan . An Algorithm for Progressive Transmission Vector Map Data over the WWW[J]. Acta Geodaetica et Cartographica Sinica,2005, 34(4):356-360 .(杨必胜,李清泉.World Wide Web(WWW)上矢量地图数据的多分辨率传输算法[J]. 测绘学报, 2005, 34(4): 356-360.) |
[7] | LAWFORD G J. Fourier Series and the Cartographic Line[J]. International Journal of Geographical Information Science,2006,20(1):31-52. |
[8] | AI Tinghua, SHUAI Yun, LI Jingzhong. A Spatial Query Based on Shape Similarity Cognition[J]. Acta Geodaetica et Cartographica Sinica,2009, 38(4):356-362. (艾廷华,帅赟,李精忠.基于形状相似性识别的空间查询[J]. 测绘学报, 2009, 38(4): 356-362.) |
[9] | LIU Pengcheng. Applications of Shape Recognition in Map Generalization[D]. Wuhan:Wuhan University, 2002. (刘鹏程. 形状识别在地图综合中的应用研究[D]. 武汉:武汉大学, 2009.) |
[10] | AI Tinghua . Granularity and Order Issues in Progressive Transfer of Web Map[J]. Journal of Image and Graphics, 2009, 14(6):999-1006. (艾廷华.网络地图渐进式传输中的粒度控制与顺序控制[J]. 中国图象图形学报, 2009, 14(6): 999-1006.) |
[11] | VAN OOSTEROM P. Reactive Data Structure for Geographic Information Systems[M]. Oxford: Oxford University Press, 1994. |
[12] | CECCONI A. Integration of Cartographic Generalization and Multi-scale Databases for Enhanced Web Mapping[D]. Zurich: University of Zurich,2003. |
[13] | YANG B S. A Multi-resolution Model of Vector Map Data for Rapid Transmission over the Internet[J]. Computer and Geosciences, 2005(31):569-578. |
[14] | YANG B S, PURVES R S, WEIBEL R. An Efficient Transmission of Vector Data over the Internet[J]. International Journal of Geographical Information Science, 2007, 21(2):215-237. |
[15] | YANG B S, LI B J. State-of-the art of the Progressive Transmission of Spatial Data over the Internet[J]. Journal of Image and Graphics, 2009, 14(6):999-1006. (杨必胜,李必军.空间数据网络渐进传输的概念、关键技术与研究进展[J]. 中国图象图形学报, 2009, 14(6): 1018- 1023.) |
[16] | YANG Bisheng, LI Qingquan. Efficient Compression of Vector Data Map Based on a Clustering Mode[J]. Geomatics and Information Science of Wuhan University, 2008, 33(3):265-269. (杨必胜,李清泉.基于簇模型的矢量地图数据高效压缩方法[J]. 武汉大学学报:信息科学版, 2008, 33(3): 265-269.) |
[17] | ZUO Xiaoqing, LI Qingquan, YANG Bisheng, et al. A View-dependent Method for the Multi-resolution Representation of Terrains with Roads Embedded[J]. International Journal of Remote Sensing,2007, 28(2):319-334. |