基于MO的校园GIS的设计与实现

2014-06-18 02:21范况生
中国科技纵横 2014年4期

范况生

【摘 要】 以商丘师范学员校园地理信息系统的设计与实现为例,对校园地理信息系统开发方法、系统功能设计、实现方法步骤进行了详细的介绍,并实现了地理信息的显示、查询、分析等功能。系统的开发可以为其他相关综合服务系统的设计开发提供借鉴参考。

【关键词】 GIS;Map Objects

地理信息系统是由计算机硬件、软件、空间数据、应用模型和用户组成的一个计算机系统,该系统通过对地理数据的采集、管理、处理、分析、建模和显示,帮助我们解决复杂的规划和管理问题。从而在资源管理、区域规划、国土监测、辅助决策等领域有着广泛的应用。自上世纪末以来,地理信息系统技术开始走进千家万户,已经深入到我们社会生活的各个方面。作为高等院校在当今信息化浪潮中也不可避免的要实现校园信息管理的数字化、信息化。目前,国内很多高校都已着手建立相应的数字化校园系统。本文以商丘师范学院校园为例,介绍了“数字化校园”建设的体系构架、系统功能、数据组织模型,最终构建了商丘师范学院校园地理信息系统。商丘师范学院校园地理信息系统的建设,可以实现校园各种地理信息的管理、查询检索和规划决策,为广大在校师生提供有效服务,同时也可以扩大学校的社会影响,为学校宣传和新生了解学校提供一个有力的平台。

1 开发工具与开发平台

组件技术是实现软件重用的重要解决技术,组件技术不仅具有封装性、继承性、多态性这三个特性,而且更适合于现代软件更新快、规模大、强调写作的软件环境。组件的优势在于可以部分升级,易于维护,实现动态组合,提高了软件生产力,由于采用标准接口、标准规范、标准协议,这就增加了异构软件的可能,适应了现代软件发展的要求。组件式平台主要有Microsoft的COM/DCOM等。基于COM/DCOM,Microsoft推出了ActiveX技术。作为ActiveX技术的重要内容,ActiveX控件是当今可视化程序设计中应用最为广泛的标准组件[1]。组件GIS不仅可以解决传统GIS在软件开发、应用系统集成和用户学习使用等方面面临的困难,而且有利于降低成本,具有无限扩展性、开发简捷方便、小巧灵活、价格便宜、面向大众等特点。组件GIS是当今GIS发展的一种重要趋势。因此以高级程序设计语言为开发平台,结合组件式GIS,适合于开发各个行业的应用型地理信息系统。

本系统的开发平台是Microsoft公司开发的应用程序开发工具Visual Basic6.0,它的特点主要是:它采用可视化的集成开发环境,具有面向对象的可视化工具,初学者只需要掌握几个关键词就可以建立自己的应用程序;采用面向对象的程序设计思想,整个应用程序由若干个彼此独立的事件过程构成,使得应用程序的代码较短,易于开发人员编写和维护;VB还是一种可扩充的编程语言,支持第三方开发的应用程序、支持访问动态链接库以及应用程序接口,这些特征在很大程度上可增强VB的编程能力。

本系统采用的开发平台为基于GIS组件Map Objects(简称MO)。Map Object是由美国的ESRI公司开发,是当今流行的组件式GIS开发软件。Map Object是一组地图软件的组件,它包含了超过45个可编程OLE对象。Map Objects的对象可分为5大类:地理匹配对象、数据访问对象、地图显示对象、几何图形对象和实用对象[2]。利用这些对象可以在普通的编程语言上实现主要的地理信息系统的功能。基于MO的开发模式具有以下的优点:系统开发周期短、费用低、易安装维护;数据组织方式与相应的G1S工具软件兼容,便于其他系统的数据调用;可供选择的开发语言比较多,如Visual basic等[3]。

2 用Map Objects开发GIS系统的方法

2.1 Map Objects的体系结构

Map Objects可以说得上是最优雅简洁的GIS软件组件。它以最少的接口提供了常用的GIS功能,甚至GPS的动态特性,同时做到了结构合理,简单明了,容易理解和扩展。GIS应用开发人员通过在通用开发平台上调用可编程对象及其方法、属性来实现各种GIS功能[4]。

Map Objects的基本功能:

(1)能通过地图符号显示地图要素,并支持自定义符号。用符号表达地理要素是涤纶制图的基本方法,Map Objects自带有一些地图符号,也可以有用户自定义设计各种符号,这极大丰富了地图表现力。

(2)支持对数据图层的各种管理和操作。Map Objects为用户提供了较为齐全的图层编辑和管理功能。如图层的添加、删除以及图层上下顺序的调整等。

(3)支持各种图形操作。通过Map Objects,开发人员可以实现一些基本的图形操作,如放大、缩小和漫游等。

(4)可以添加注记。注记是地图的重要内容,主要包括名称和说明两大类,Map Objects为开发人员提供了临时注记、注记要素和属性注记等各种添加地图注记的方法,并且可以设置注记的颜色、大小、字体、间隔、排列、位置。

(5)提供各种查询功能。Map Objects为开发人员提供了多种进行空间查询的方法,通过他们可以实现几何参数查询、空间定位查询、空间关系查询和SQL查询等多种形式查询。

(6)提供一定的空间分析功能。通过Map Objects提供的空间分析方法可以实现一些简单的空间分析功能,例如几何量测、缓冲区分析、叠置分析、网络分析。

(7)提供空间数据库访问功能。Map Objects可以通过ArcSDE访问存放在数据库中的空间数据,并且可以把数据库中的数据作为一个图层在客户端进行显示。

(8)提供地图打印机输出功能。在进行地图输出之前,通过Map Objects用户首先可以实现地图整饰,对要输出的地图图面进行调整;同时可以对地图进行打印输出,并能把当前视口中的地图按照图像格式导出。endprint

总之,Map Objects在地图查询、显示以及制图输出等方面都有比较强大的GIS功能,从而满足不同层次用户的需求。

2.2 MO开发GIS系统的过程

Map Objects的使用和开发过程与其他的ActiveX控件没有两样,在Visual°Basic、Delphi、Visual° C++等能够支持控件开发的编程环境下,一旦把控件插入到编程项目中,就可以通过接口使用控件所提供的各种方法。利用M0开发GIS系统一般遵循的基本步骤[6]:

(1)选择合适的数据模型,创建数据库:地理信息系统中的数据库有两种:存储地理数据的空间数据库和存储非地理数据的属性数据库。shape文件是ESRI公司提供的存储地理数据的矢量格式,Shape文件的格式是公开的,详细Shape格式说明书是完全公开的[5]。通过空间实体的识别码可将属性数据库与空问数据库建立联系。 MO借助空间数据库引擎(SDE)可以支持对多种常用数据库的访问,包括Access、Informix、Oracle、Microsoft SQL Server、Sybase及其他通过ODBC连接的数据库。

(2)加载与显示地图:由于一个Shape文件只包含一个专题图层(点、层或面要素中的一种),因此特定区域内的所有地理对象会分解成多个图层分别进行存储。要显示整幅地图,应该将地图所包含的全部图层都添加到Map控件中。每个图层通过名称来加以区分,同时还要注意各图层的显示顺序。此外,在程序运行中也可单独在地图上添加或显示某图层,删除指定的图层或改变图层的属性。

(3)增加、删除、更改地理信息。Map Objects中的地理对象通常使用点(如电线杆,树木,窨井盖)、线(如道路,河流)、面(如绿地、水域)表示,并提供这些标准地理实体对象的点、线、面的类型定义。利用MO的各种选择、访问、定位功能,可以向构成地图的各个点层、线层、面层中添加或删除实体,或者更改相应实体的属性。

(4)实现数据的查询和分析统计:GIS最常见的特点是可以进行空间数据的各种查询与统计。例如用MO开发的GIS中的查询主要有三种:按相对位置的范围搜索;按逻辑查询,即按SQL语句的条件从句查询;根据某个或某些图形特征查询其他相联系的图形特征。

3 开发与实现

3.1 校园GIS功能模块设计

结合商丘师范学员校园地理信息系统的功能定位和开发需求,本系统的功能模块包括图形显示与管理、空间分析功能、地图打印功能、信息查询功能、专题地图制作等五个方面。各模块功能如下所述[7]:

3.1.1 图形显示与管理

能够实现区域内空间数据的无级放大、缩小、漫游等基本的操作,可以任意选择打开或关闭某一数据层,也可根据显示范围的大小,自动调节地图上内容的详细程度,以保持图面的清晰程度。

3.1.2 空间分析功能

通过缓冲区分析是围绕空间实体自动建立其周围一定宽度范围内的多边形图层,它是用来解决空间临近度问题的空间分析工具之一。统计分析是对收集到的数据进行整理归类并进行解释。空间距离量算可以解决任意两点之间的最短距离与最佳路径的选择问题。

3.1.3 地图打印功能

本系统具备简单的打印功能以及数据输出功能,将各种查询和分析结果结果以图像的形式输出;对于属性数据可以导入到Excel数据格式。

3.1.4 信息查询功能

它能向用户提供校园地形图、现状图、规划图等方面的信息。可以实现空间数据和属性数据的双向查询,即点击相应地理事物查询所需的属性信息,如学校的占地面积、建筑面积等,也可以通过属性查询地物的空间信息,如通过教学楼名称查询位置等。

3.1.5 专题图制作

GIS不仅可以输出全要素地图,也可以突出表现一种或几种地理要素,以定点符号法、质别底色法、分区图表法等手段制作各种专题题图、各类统计图、图表及数据等,完成尽可能完善、详尽地表示制图区内的一种或几种要素的地图制作。

3.2 系统实现

系统的主窗口如图1所示。

4 结语

组件式的地理信息系统开发方式已经成为现在软件集成的主要方法,而GIS技术与实际情况相结合解决实际的问题,已经成为近年来地理信息系统研究的热门方向。本文选用的MO组件程序高度的模块化,使用比较简单,缩短开发周期、降低开发难度,该系统实现了校园地理信息的可视化管理,极大提高了校园信息化管理的水平。

参考文献

[1]刘向铜,熊助国,曹秋香等.基于MO 的校园GIS的设计与实现[J].地理空间地理信息,2008,6(6):34-36.

[2]王春波.基于MO 的校园GIS的设计与实现[J].辽宁省交通高等专科学校学报,2008,10(4):55-57.

[3]刘小生,刘传立.基于VB和Map Objects平台的空间数据查询方法探讨.有色金属,2005,57(6):46-48.

[4]薛伟.Map Objects-地理信息系统程序设计[M].北京:国防工业出版社,2004.

[5]刘光.地理信息系统二次开发教程组件篇[M].北京:清华大学出版社,2003.

[6]龚沛曾,陆慰民,杨志强.Visual Basic程序设计教程(6.0版)[M].北京:高等教育出版社,2000.

[7]高尚宇.基于GIS的“数字校园”信息系统的设计与实现[D].青岛:山东科技大学,2005.endprint