基于ArcGIS Engine校园信息系统的设计与实现
2018-10-17
(西南林业大学地理学院 云南 昆明 650224)
引言
1998年,美国前副总统戈尔发表了题为“数字地球:21世纪认识地球的方式”的演讲,提出“数字地球”的概念,此后全世界普遍接受了数字化概念,并引出了“数字城市”、数字校园等概念[1]。随着国际互联网的广泛应用,各种与之相关的概念不断涌现,数字校园逐步成为一个单独的研究领域。利用各种计算机技术创建一个基于互联网的与现实校园并行的“虚拟化电子校园”,并依托各种技术工具和手段来推动高校的全方位改革,成为世界各国高等教育改革的重要趋势之一[2]。因此,本文以C#为编程语言、ArcCIS Engine为开发组件,设计开发一个校园信息系统。结合信息系统平台及相关数据的“校园”能更好地便利学生查找“生活所需”,方便校园管理者管理信息和应急指挥,达到生活便利、管理快速的效果。
一、系统设计
(一)系统设计原则
校园信息系统,要求具有合理科学的结构设计,以易操作性和实用性为原则来满足多层级用户的功能设计,同时还应该有软件系统普遍应有的数据可扩展性等特点。因此,本系统的设计应符合以下原则:安全性原则,实用性原则,易操作性,可扩展性原则,规范性和标准性原则[3]。
(二)系统需求分析
本文结合相关情祝,对校园信息系统功能的需求作了如下的归纳和总结:
1.基本地图操作功能:包括放大、缩小、移动、可视化等基本操作。
2.校园地理信息查询功能:包括建筑物的面积、建筑物的基本信息、校园交通等查询操作。
3.统计功能:对全地图或单个地块的统计信息的查询功能
4.搜索功能:能够根据地理名称查询所在位置
5.打印功能:包括打印地图和打印统计信息功能
6.缓冲区查询功能:通过输入缓冲区距离X,感兴趣的地物的功能类型Y,来查找出主干道X米范围内具有Y功能类型的所有地物。
7.分级显示功能:允许用户按个人需求对地图进行分级渲染,使查询信息更直观
8.数据库登录功能:用户通过注册登录,拥有自己的数据库管理系统,调用校园地图使用。
(三)系统结构的设计
根据图1,系统分为5大功能模块,分别是地图控制、信息查询、系统登录和空间分析对各功能模块的具体描述如下:
1)地图控制模块
包括地图的放大、缩小、漫游以及全图显示及鹰眼等功能。
2)信息查询模块
通过点击地图上感兴趣的地物,可以查看其相关的属性数据;也可以通过文本框输入感兴趣地物的名字来搜索地物;还可以单击下拉框查找感兴趣的地物,在地图上缩放至其位置。
3)系统登录模块
通过输入账号,密码进入系统。若无账号密码,则需注册。
4)空间分析模块
缓冲区分析:通过输入缓冲区距离X,感兴趣的地物的功能类型Y,来查找出主干道X米范围内具有Y功能类型的所有地物。
图1 系统的总体结构
二、系统功能的实现
(一)数据的准备
系统需要地图形式的数据,应先在ArcGIS中进行制图并且同时建立道路及建筑物的数据并添加到地图文档。
(二)系统开发环境
选择C#作为系统的开发语言,C#是一种安全的、稳定的、简单的、优雅的、使得C++程序员可以高效的开发程序的、面向对象的编程语言[4]。选取ArcGIS Engine作为开发工具。在系统开发之前首先需要进行系统运行和开发环境的搭建,先要安装C#语言的编译器,如Microsoft Visual Studio 2010,之后要安装ArcGIS Engine DevelopKit l0[5]。
(三)系统登录模块
用户需要注册,登录后才能使用校园信息系统。
图2 系统的登录界面
(四)地图的基本功能
地图的基本操作包括地图的放大、缩小、漫游以,全图显示及鹰眼等功能。
(五)信息查询模块
在校园信息系统中,信息的查询是非常重要的内容。为此本系统提供了3种方式来查询信息:
1.可以单击下拉框查找感兴趣的地物,在地图上缩放至其位置。
2.通过单击第2个“兔子”按钮,然后点击地图上感兴趣的地物,可以查看其相关的属性数据。单击第1个“兔子”按钮,擦除弹出框。
图3 信息查询方式一
3.通过文本框输入感兴趣地物的名字来搜索地物。如在“搜索”按钮前的文本框输入“湿地公园”后单击“搜索”按钮:
图4 信息查询方式二
(六)空间分析模块
空间分析功能是校园信息系统的重要功能之一,空间分析功能是对校园进行基础分析,统计出一些相关信息然后辅助规划。
1.缓冲区分析
校园内的建筑物分布繁复杂,有时用户不一定能直观找出自己想去的建筑物,因此,本系统建立了缓冲区分析:通过输入缓冲区距离X,感兴趣的地物的功能类型Y,来查找出主干道X米范围内具有Y功能类型的所有地物。
图5 缓冲区分析
三、结论
本文通过对校园信息系统需求分析、总体功能架构设计的分析研究,设计与开发了校园信息系统,为宣传“数字校园”提供了新的方法和手段,而且为以后校园信息系统的建立提供了一定的借鉴。但在初期研发应用阶段,该系统原型还存在诸多问题,比如:系统的可扩展性不强、空间分析模块功能还有待增加,这些问题还需要今后进一步探讨和研究。