论文部分内容阅读
地理信息系统简称GIS(Geographical Information System),是指为收集、管理、操作、分析和显示空间数据的计算机软、硬件系统。它是一个以地理坐标为基础的信息系统,具有强大的处理空间数据的能力,如地图数字化、矢量和图像的浏览查询、基于空间数据的分析、三维模拟、虚拟现实、地图输出等。GIS的主要特征在于管理地理空间数据,GIS应用的核心问题之一是如何构建地理空间数据库。作为GIS的主要数据源之一的地图,在地理空间数据获取方面占有极其重要的地位。地图同样也是GIS应用领域中主要的产品表现形式之一。而地图符号是表达地图内容的基本手段,它不仅能表示事物的空间位置、形状、质量和数量特征,而且还可以表示各个对象之间的相互联系及区域总体特征。地图符号是地图的语言,它是在地图上用以表示各种空间对象的图形记号或者还包括与之配合使用的注记。高质量的地图符号是丰富地图内容、增强地图的易读性以及便于地图绘制的必要前提,因此地图符号在GIS中占有很重要的位置。GIS将空间数据以点、线、面的几何形式或者其它的形式表示,这就要求地理信息系统有相应丰富的点、线、面符号加以支持,即需要建立一套完善的地图符号,并由地图符号库进行管理。所以,设计出全面的、系统的、精确的地图符号库对地理信息系统的应用具有特别重要的意义。目前国内外地图符号库系统的发展已趋于产品化,包含地图符号库的软件有很多,各种GIS软件和制图软件都包含自己的符号库系统,但是仍有很多方面的不足。本文在有效的解决一些问题的基础上分析了构成地图符号的符号种类和功能,深入研究了点、线、面符号的构图规律和构造原理,设计了一种用于点、线、面符号库的数据存储结构,并用面向对象的程序设计方法,设计了实现点、线、面符号库的结构。本文的地图符号库系统分为符号制作管理模块和符号绘制模块两部分。符号制作管理模块独立于系统,以符号编辑器的形式存在,符号绘制模块负责根据实际需要把制作好的符号绘制在地图上。该设计方法减轻了平台系统运行的负担,可以充分扩大符号制作的功能,而又不影响平台系统的结构,另外还为不同平台系统使用相同的符号库提供了新思路。为了使符号制作过程更加方便快捷,本文采用图元法构造符号。针对线状符号填充时出现的符号重叠、交叉、断裂、空白等失真现象,本文在已有的算法上利用横向循环配置的线状符号填充思想做了一定的改进。不仅在视觉上达到了较好的效果,而且还提高了算法的填充效率。同时,本文还提出了一种基于顶点存储类型的多边形填充算法。该算法将多边形顶点和新生成的交点划分为三种类型进行存储,然后由过顶点的扫描线将多边形分割成若干个梯形区域分别进行填充。此算法只涉及过顶点的扫描线,且多边行边上的象素点坐标可以直接从边的直线方程中获得,从而使得该算法降低了计算的复杂性。