第一章绪论
1.1研究背景
地图将原有的地理信息转换为图形或图像的形式为人们所感知,以便理解现象、发现规律和传播知识。GoodChild认为地图是地理信息的重要表达形式之一。一直以来地图符号被认为是地图的语言,地图符号是传输地理事务空间分布的特种语言,能对地理事务进行不同程度的抽象、概括与简化,赋予地图更强的表现能力,提高地图的应用效果[3]。地图符号不仅能反映地图要素的存在、类别及其数量和质量特征,而且通过它们的组合,还能反映出地图要素的空间分布、结构、联系以及变化等。随着地理信息系统的发展,地图学的工作内容与功能得到了扩展与延伸。传统地图表示的是固化的地理信息,信息量有限,无法实现动态的更新,只能进行简单的分析与规划。而地理信息系统的出现,拓展了地理信息的数据量,将地图学带入了信息化时代。
信息时代的地图学拥有多元的数据源,能够反应自然和社会经济现象的空间分布、相互关系及动态变化,并对空间地理环境信息进行抽取、智能抽象、存储、管理、分析、利用和可视化可视化展现是地图学的最后一步,地图输出是可视化的基础。地图符号化是地理环境信息的图形化显示,地图中蕴含的地理信息最终都需要通过符号化转换到纸质介质或屏幕进行输出,地图符号化包括两个层次,第一个层次是在制图的全过程而不是某一环节实现符号化,包括地图要素修改或编辑时进行实时符号化,达到“所见即所得”的效果;第二个层次是在地图输出阶段实现全要素的符号化,即图幅范围内的所有地图要素需要依照设定的符号进行符号化。地图符号化贯穿制图的始终,是形成最终地图产品不可以或缺的步骤,但面对海量的地图数据时显得力不从心,逐渐成为制约信息时代地图学发展的瓶颈,以ArcGIS为例,利用主流的PC输出300dpi的地图时,图幅大小为27166像素X12991像素,耗时约45分钟。
符号化依赖各符号的绘制算法进行,在光栅扫描显示器输出时,绘制算法由最基本的点、线、面的绘制组成,其本质是用光栅点来逼近各要素,使得整个误差最小,用离散的光栅点轨迹来代替原先的矢量要素[6]。这一过程也可以总结为矢量数据向栅格数据的一次转换,如果每次符号化时都进行这样的变换,无疑消耗相当的时间及空间成本,若在符号化时就对预定义符号进行栅格表达可以显著的降低这些消耗。游程编码(Run-Length Encoding)又叫行程编码,本质上是一种栅格结构,它将连续且具有相同属性的栅格单元定义为一个游程单元,只记录起始行列号及属性值,显著减少了数据冗余。游程编码已广泛应用于空间分析[7_9]、数据压缩存储矢栅转换[13-15]、边界追踪_8]等。计算机图形学中,直线以及曲线的绘制引入游程编码以提高每次循环的效率,相比单点绘制法每次只能输出一个像素,游程编码绘制法单次循环可以输出2-4个像素,总体速度可以加快一倍[19-25]。游程编码在降低栅格数据量和提高处理效率上具有天然优势,利用游程编码对地图制图数据进行压缩,地图符号化时,基于游程编码的运算相对栅格运算有更快的效率[7],地图输出时,将不再以单个像素进行,而是以包含多个像素的游程为单元,提高了输出的粒度。因此,建立一套地图的游程编码表达方法,对于加快地图的符号化与输出都具有重要意义。
1.2国内外研究现状
地图的表达主要研究以什么样的形式在计算机中组织和存储地图,在不同的应用环境下,地图的表达形式也有所差别。单机环境下,当前的各类GIS软件普遍采用关联表技术关联表是一个关联地图符号与地理要素的对照表,其中包含地理要素的对象标示符和设置的符号标示符,根据符号标示符实时读取符号库中的符号完成地理数据的地图表达,因此对地图表达的研究主要集中在地图符号库的构建方法。而在网络环境下,地图传播与共享为第一要义,地图的绘制是在本地完成,对地图表达的研究转向地图符号的共享与传输,使之适合于当前标准,在不同的客户端上都能较好的展现地图。
1.2.1地图符号表达
单机环境下的地图符号从一开始就缺乏统一的标准,主流GIS软件公司分别推出了自己的地图符号库,其中符号的表达机制也各不相同。分析当前GIS地图平台、CAD及制图系统,地图符号库的构建方法主要包括TrueType字体法、图元法、信息块法、函数法。
1.3 主要研究内容 ......................17-20
第二章 地图符号表达 ......................20-23
2.1 地图与地图符号 ......................20
2.2 地图符号的分类 ......................20-21
2.3 地图表达 ......................21-23
第三章 地图的游程编码表达及运算 ......................23-33
3.1 游程编码链表结构 ......................23-24
3.2 面向符号的游程编码结构 ......................24-25
3.3 游程运算 ......................25-33
第四章 游程图层建立过程 ......................33-48
4.1 地图符号化与游程化 ......................33
4.2 点状符号化 ......................33-38
4.3 线状符号化 ......................38-43
4.3.1 线状符号化原理 ......................8-40
4.3.2 基于游程缓冲区的线状符号化 ......................40-43
4.4 面状符号化 ......................43-48
第五章 游程地图输出及其实现 ......................48-54
5.1 游程图层叠置算法 ......................48-49
5.2 游程地图屏幕显示输出 ......................49-52
5.3 游程地图硬拷贝输出 ......................52-54
第六章 试验与对比 ......................54-58
6.1 符号化效率测试 ......................54-56
6.2 制图输出效率测试...................... 56
6.3 理论分析与评价 ......................56-58
总结
地图输出是地图可视化的最后一步,在地理信息交换愈来愈频繁背景下,如何加快地图输出的速度成为很多研究者所关注的问题。近年来,游程编码的应用从简单的栅格压缩扩展到了空间分析领域,建立了一套完整的游程运算,本论文进一步将游程编码方法应用到地图符号的表达中,实现地图制图的各个阶段。本论文的主要工作内容可以概括为以下几个方面:
(1)分别针对单机环境与网络环境,分析了国内外地图表达的数据结构研究现状,另外分类总结了地图符号化的研究现状,探讨了地图符号化实现的策略,对各自的优缺点进行了说明;
(2)在游程编码的链表结构基础上,从地图符号出发,建立了面向地图表达的游程编码数据结构;游程运算是实现游程地图各种功能的关键,将游程运算归纳为先分裂后组合的过程,讨论了不同情况下的处理方法,进一步说明属性运算的实现原理,最后展示了 “update”运算的实现过程;
(3)提出在符号化过程中完成对地图的游程表达,以TrueType字体作为符号源实现了点状符号的游程化方法,利用线状缓冲区的游程刷算法与游程叠加算法实现了线状符号的游程化,利用游程编码的点与线的裁剪算法实现了面状符号的游程化方法;
(4)分析了游程地图的输出过程,针对屏幕显示输出,分析了矢量地图加速重绘的两种途径,在游程地图的重绘上进行了应用,针对屏幕的硬拷贝输出,以BMP文件格式为例,实现了从游程地图到外部图像文件的转换。
参考文献
[1]张燕燕,胡毓钜.地图可视化[J].测绘工程.2001,10(1):27-29.
[2]Goodchild M F. Cartographic Futures on a Digital EarthfJ]. 2011: 141-146.
[3]陆漱芬,陈由基,王近仁,等.地图学基础[M].北京市:高等教育出版社,1987: 285.
[4]王家耀,信息化时代的地图学[几测绘工程.200:1-5.
[5]王家耀.地图制图学与地理信息工程学科进展与成就[M].北京市测绘出版社,2011:450.
[6]程锦,陆国栋,谭建荣.一种快速圆弧绘制算法[J].软件学报.2002(12): 2275-2280.
[7]沈定涛,王结臣,陈焱明,等.一种顾及属性的游程编码“交”运算方法与实验[J].地理与地理信息科学.2009,25(3): 8-11.
[8]王结臣,沈定涛,陈焱明.基于栅格距离法的缓冲区生成与实现.科技通报.2009,25(5):556-561.
[9]王结臣,沈定涛,崔璨.缓冲区生成的游程刷叠置算法[J].武汉大学学报:信息科学版.2010(9): 1121-1124.
[10]Chin-Feng L, Yeh-Ching C,Don-Lin Y. TRLE - an efficient data compression scheme for imagecomposition of parallel volume rendering systems: Cyber Worlds, 2002. Proceedings. FirstInternational Symposium on[Z]. 2002499-506.