APP下载

基于ArcGIS Engine的地图符号库管理系统的设计与实现

2015-02-22张黎娜

唐山学院学报 2015年6期
关键词:画布画板绘制

张黎娜

(安徽广播电视大学,合肥 230000)

基于ArcGIS Engine的地图符号库管理系统的设计与实现

张黎娜

(安徽广播电视大学,合肥 230000)

为了满足采煤沉陷区三维建模与动态仿真项目开发过程中对地图符号的需要,采用基于ArcGIS Engine的开发方式,使用C#语言,进行了地图符号库管理系统的开发与设计。应用结果表明,该系统能够满足实际项目开发过程中对地图符号的应用需要。

ArcGIS Engine;C#语言;地图符号库管理系统

0 引言

在项目实际的开发过程中,地图符号的质量要求应该以充实地图内容、增强地图的可读性、利于项目实际开发与研究为首要前提[1-2]。地图符号的设计和实现对矢量数据是否能准确、高效地显示和描述地理空间中的点、线、面状地物是至关重要的。ArcMap软件的地图符号库,是地图可视化的重要信息载体,能直观地呈现出目标对象的种类、时间、空间、质量等特征信息[3]。但是,在采煤沉陷区三维建模与动态仿真项目实际的开发过程中,常常会应用到一些很特别的矿区符号,ArcMap软件中自带的地图符号库很难准确描述和呈现这些地物信息,必须进行手工绘制实现这些信息的表达。为了弥补ArcMap软件的不足,本研究基于ArcGIS Engine开发方式、采用C#语言进行地图符号库管理系统的建立,以满足项目开发过程中对地图符号的实际需要。

1 地图符号库的设计与制作

1.1 地图符号设计方法

GIS是一种基于数据库管理系统的管理空间对象的信息系统,具有以地理数据为操作对象的空间分析功能。ArcGIS Engine是ArcGIS的一套软件开发引擎,可以创建自定义的GIS桌面程序[4]。GIS软件符号库中地图符号设计的方法主要有4种,其操作特点和缺点分析如表1所示。

本研究采用第4种方法,应用Visual studio2005+C#语言开发环境、ArcGIS Engine开发方式进行地图符号库管理系统的建立,开发和设计一些特殊的专题地图符号,实现地图符号的制作、显示、导入、导出、管理等功能。虽然这种方法的设计过程相对复杂、繁琐、开发周期长,但是对于制作特殊的矿区地图符号却是非常有效的。

表1 地图符号设计方法分析

1.2 地图符号库的制作

1.2.1 地图符号库管理系统体系结构

地图符号库管理系统体系结构如图1所示。系统主要由三大模块组成:符号制作、符号导入导出、符号库管理,提供了以下3种功能:一是提供符号添加、删除、新建功能;二是提供符号的导入、导出等功能;三是对符号库中符号进行管理和维护。

图1 地图符号库管理系统体系结构

1.2.2 地图符号库管理系统的实现

地图符号库管理系统由8个类构成。各个类及功能分别如下:

(1)public partial class FormSaveSymbol,主要功能是保存各类符号,保存的符号类型为ServerStyle。

(2)public partial class FormSymbolExport,主要功能是将已经制作好的地图符号导入到指定位置(可以把设计的符号导入到GIS符号库中进行地图制作)。

(3)public partial class FormSymbolImport,主要功能是导入外界已有的地图符号(可以导入GIS符号库中的点、线、面符号),对于导入的地图符号可以进行二次编辑,导入的文件类型为ServerStyle。

(4) public partial class UCSymbolMake

{

private DrawTools m_dt//储存原始画布大小,用来新建文件时使用;

private Size m_defaultPicSize;

private IStyleGallery m_pStyleGallery//是否改变画布大小;

private bool m_bResized = false//绘图样式;

private string m_sDrawType//打开的文件名;

private string m_fileName//调节大小可能造成画板大小超过屏幕区域,所以事先要设置autoScroll为true。

}

此类的主要功能是针对已存在的地图符号或是现有的图片(JPG.Bmp.png等图片格式)进行编辑。在地图符号的编辑过程中GDI绘图的坐标系有3个:屏幕坐标、客户区坐标、文档坐标。实际操作的过程中滚动条的出现增加了符号制作的难度,因为操作过程中滚动条的上下移动改变的是文档坐标,但是客户区坐标不变,而location属性属于客户区坐标,如果根据客户区坐标直接计算地图符号位置就会出现错误,这就需要知道文档坐标与客户区坐标的偏移量,偏移量可以通过AutoScrollPostion获得。

(5)public partial class UCSymbolManager,主要功能是负责地图符号的管理,数据库的属性表中记录了地图符号的“名称”“Index”“分类”等属性。

(6)public partial class UCSymbolLibMgr,主要功能是显示符号库管理系统主界面。

(7) public class DrawTools

{

public Graphics DrawTools_Graphics//目标画板;

private Pen p;

private Image orginalImg//原始画布,用来保存已完成的绘图过程;

private Color drawColor=Color.Black//绘图颜色;

private Graphics newgraphics//中间画板;

private Image finishingImg//中间画布,用来保存绘图过程中的痕迹。

}

此类的主要功能是进行地图符号的手工绘制。根据提供的基本图元,绘制出各种所需的地图符号。在绘图过程中为避免图片抖动,防止记录不必要的绘图痕迹,需要先在中间画板上将地图符号完成,然后再将绘制好的符号一次性画到目标画板上。绘图的步骤为:先实例化中间画板(在中间画板上绘制出所需要的地图符号),画布为上一次绘制结束时的画布的副本(如果第一次绘制,那画布就是初始时的画布副本),然后按照地图符号的样式在中间画板上进行绘制,接着将绘制结束的符号画到中间画布上。因为最终绘制结束时的符号应该是在鼠标松开时完成,所以鼠标移动中所绘制的地图符号都只能画到中间画布上,但仍需要显示在目标画板上,否则鼠标移动过程中看不到画制的效果。当鼠标松开时,才最终把中间画布上的地图符号画到原始画布上。

(8)class StyleGalleryItemView,此类的主要功能是通过符号库中的IStyleGalleryItem和IStyleGalleryClass类来生成地图符号的预览。

地图符号库管理系统部分运行界面如图2所示(显示的为制作的部分点符号)。

(a)符号制作的界面

(b)符号管理界面图2 地图符号库管理系统部分运行界面

2 地图符号库管理系统的优点及在实际项目中的应用

2.1 地图符号库管理系统的优点

(1)较强的灵活性。灵活性是利用C#语言开发GIS系统的最大优点,C#语言可以根据系统的具体要求实现具体的操作功能,在一些GIS系统(特别是小型GIS系统)开发时,具有无可比拟的优势。

(2)易于扩展。地图符号库管理系统是一个独立的模块,它可以作为独立的个体单独运行,也可以嵌入到其他基于ArcGIS Engine开发方式开发的系统中运行。系统短小精悍,对软件和硬件的要求比较低,运行速度快。

2.2 实际项目中的应用

在采煤沉陷区三维建模与动态仿真项目的实际开发过程中,地图符号库管理系统很好地满足了ArcGIS Engine应用系统对符号的应用需要。不仅准确表达了地图信息,并且充实了矿区地图的内容、增强了地图的可读性。

3 结语

为了满足采煤沉陷区三维建模与动态仿真项目对地图符号的需要,开发了地图符号库管理系统。该系统不仅提供了地图符号的制作功能,而且也集成了符号的管理功能。它可以作为独立个体单独运行,也可以嵌入到其他基于ArcGIS Engine方式开发的系统中运行。应用结果表明,开发的地图符号库管理系统能够满足ArcGIS Engine应用系统对地图符号的应用需要。

[1] 牛芩涛,盛业华.基于ArcGIS的地图符号库的设计与实现[J].四川测绘,2003,26(3):14-116.

[2] 祁华斌.基于ArcMap的地图符号库建立与符号化实施[J].测绘通报,2003,26(3):14-17.

[3] 邱洪钢,张青莲,陆邵强.ArcGIS Engine开发从入门到精通[M].北京:人民邮电出版社,2010:7.

[4] 张黎娜,邹海.基于ArcSDE的地理数据入库和实例开发[J].计算机技术与发展,2013,23(12):183-185.

[5] 熊丽华,杨峰.基于ArcSDE的空间数据库技术的应用研究[J].计算机应用,2004,24(3):90-96.

[6] Zhang Degan, Li Guang, Zheng Ke. An energy-balanced routing method based on forward-aware factor for wireless Sensor Network[J]. IEEE Transactions on Industrial Informatics,2014,10(1):766-773.

[7] Zhang Degan, Wang Xiang, Song Xiaodong. A novel approach to mapped correlation of ID for RFID anti-collision[J]. IEEE Transactions on Services Computing,2014,7(4):741-748.

[8] Zhang Degan, Zhu Yannan. A new constructing approach for a weighted topology of wireless sensor networks based on local-world theory for the Internet of Things(IOT)[J]. Computers & Mathematics with Applications,2012,64(5):1044-1055.

(责任编校:李秀荣)

Design and Implementation of the Management System of Map Symbol Library Based on ArcGIS Engine

ZHANG Li-na

(Anhui Radio and TV University, Hefei 230000,China)

The author of this paper has developed a map symbol management system in C # language with ArcGIS Engine to meet the needs for map symbols in three-dimensional modeling of an coal mining subsidence area and dynamic simulation of project development. Application results show that the system can meet the practical needs for map symbols in the process of project development.

ArcGIS Engine; C# language;map symbol management system

TP311;P283.1

A

1672-349X(2015)06-0024-03

10.16160/j.cnki.tsxyxb.2015.06.010

猜你喜欢

画布画板绘制
基于Excel VBA和AutoCAD的滚动轴承参数化比例图绘制方法
在画布上做梦的画家 夏加尔
为什么要在画布上割一刀?
超萌小鹿课程表
让鲜花在画布上盛开
放学后
七彩画板
七彩画板
大师的画布
七彩画板