节点文献

基于GDI+的地图符号库的设计开发与优化

Designing and Optimizating the Map Symbol Database Based on GDI+

【作者】 秦佐

【导师】 周晓光;

【作者基本信息】 中南大学 , 大地测量学与测量工程, 2010, 硕士

【摘要】 地图符号库是数字化成图系统与地理信息处理软件中的一个重要的组成部分。符号绘制是实现地图符号库的关键,GDI+作为微软推出的最新的图形设备接口,与之前的GDI相比,具有更加强大的图形图象处理功能,给地图符号带来了新的绘制技术。本文在分析GDI+的基础上,按照分层的思想分别归纳出地图符号库中点、线、面三类符号的构成单元,分别设计相应的描述参数,最后通过组合GDI+函数绘制出符号,并在此基础上提出了一些地图符号改进绘制的方法。主要研究工作和创新点如下:(1)根据点状符号的组成特点,归纳出了5种图素:圆、拐角、弧段、矩形和等边三角形,并给出了各种图素的参数描述格式以及每个点状符号的图素组合结构。(2)将线状符号的线型归纳为虚线和实线,并给出了线状符号单元的拆分方法,分别设计了虚线和实线的参数描述格式,并就虚线层的绘制提出了两种绘制方法。(3)将面状符号拆分为边界线和填充基类,边界线可以通过线状符号的方式绘制;把填充基类分成颜色填充、线型填充、GDI+模板填充和点状符号填充,并分别设计了参数的描述格式,同时,利用GDI+的裁剪功能,提出了无空洞面域和含空洞面域的符号绘制方法。(4)设计了注记的C++结构体,利用GDI+提供的文本操作函数,初步实现了注记功能,并提供了简单的编辑功能。(5)针对用GDI+开发地图图式符号库时,绘制复杂线状符号存在的转角问题,即在线段/线段连接处标注符号不均匀的问题,提出了一种基于单位距离的线状符号绘制方法,该优化方法不但提高了复杂线状符号的显示效果,在符号显示效率上也有所提高。(6)实现了VC++环境下的GDI+二次缓存绘图技术、面域的点状符号快速填充和绘图区域的局部刷新技术,弥补了GDI+在地图符号库绘制上的不足,提高了整个地图符号的绘制速率和美观程度。

【Abstract】 The map symbol database is an very important part in Digital Mapping System and Geographic information system. GDI+ is the new generation graphic-device port in Microsoft. Compared with GDI, It has more powerful function in processing graphic image which can bring a new rendering technology to map symbols.By analysing the characteristic of GDI+, the author summarized the symbol-unit of the symbols using hierarchical methods. Furthermore, the special data structure has been designed to describe symbol-unit. Finally, the map symbol database has been decelopped and several optimized methods with GDI+ have been achieved. The main works are listed as follows:(1) Five kinds of point symbol units, i.e., round, corner, arc, rectangle and equilateral triangle, are summarized according to the feature of point symbols, and give the units special data structure and describe composite structure for each point symbol based on units;(2) The author subdivided linetype to solid line and dotted line, and designed their special data structureis. Then proposed the method to split line symbol and two drawing methods on dotted line.(3) Region symbols split boundary and filled base class, and their special data structure is designed. The boundary can be drawn by the way of line symbol; The filled base class contain color filling、linear filling、GDI+ template filling and point filling. Meanwhile, according to the cut function of GDI+, the method to draw region with or without hole is proposed.(4) C++ structure of annotation is designed. According to the GDI+, note function is initially implemented and providing simply editing function.(5) There is a corner-problem using GDI+ to implement develop complex linear symbols in cartographic symbols for fundamental scale maps, i.e., the marked symbol is not marked uniformly at the junction of line segments. In order to solve the problems, the authors present a method to draw linear symbols based on unit distance, The modified method presented in this paper not only solved the corner-problem, the efficiency of drawing the complex linear symbols also has been improved(6) In order to make up the deficiencies in symbol drawing for GDI+, some schemes are proposed, which contains double cache technology using GDI+ in VC++、the quick-filled algorithm about using point symbol and local refresh technology. It obviously improve the tempo and quality for map symbol database.

【关键词】 地图符号GDI+参数化符号单元算法优化
【Key words】 map symbolGDI+parametric structureoptimized algorithm
  • 【网络出版投稿人】 中南大学
  • 【网络出版年期】2011年 02期
节点文献中: