论文部分内容阅读
[摘要]随着地理信息系统(GIS)技术在各个应用领域的广泛使用,GIS技术与地理空间信息的表示、处理、分析和应用手段的不断发展紧密相连,形成了各种不同功能的GIS 系统软件。针对目前我国许多高校在对校园导航系统上的不足,采用先进的组件式GIS 技术开发实用校园导航系统。简要介绍MapObjects 2.0 控件,论述Visual Basic 2005编程环境和MapObjects 2.0 的结合实现GIS 应用软件功能的途径及关键技术。
[关键词]地理信息系统 MapObjects 校园导航
中图分类号:TP319∶P208文献标识码: A文章编号:1671-7597(2008)0910031-02
一、MapObjects 控件概述
MapObjects (简称MO) 是由美国环境系统研究所( ESRI)研制的,基于COM (Com2ponent Object Model ,组件式对象模型) 技术的地理信息系统控件,利用它可以在普通的编程语言(如VB,VC,Delphi等)上实现主要的地理信息系统的功能,一般简称为MO.
MapObjects 2.0 由一个称为Map 的ActiveX 控件和35个可编程的ActiveX 对象组成. 通过MO 可完成以下甚至更多功能:(1)显示一张多图层地图(道路,河流,边界);(2)放大、缩小、漫游;(3)生成图形元素,如点、线、圆、多边形;(4)说明注记;(5)识别地图上被选中的元素;(6)通过线、方框、区域、多边形、圆来拾取物体;(7)拾取距某参照物特定范围内的物体;(8)通过SQL 语句来选择物体;(9)对选取物体进行基本统计;(10)对所选地图元素的属性进行更新、查询;(11)绘制专题图;(12)标注地图元素;(13)从航片或卫星图片上截取图像;(14)动态显示实时或系列时间组数据,在图上标注地址或定位。
MO 可执行许多基础制图功能,但它不能执行某些高级功能。如高质量地图输出,地图坐标系投影,表面模型或网络分析等高级空间分析,以及拓扑编辑。应用者可利用ESRI的其它产品如ARC/ INFO、ArcView来实现高级功能。MO是现在国内GIS 二次开发最常选用的控件之一。
二、在Visual Basic 2005 下使用MapObjects 控件
雖然开发MO时可以使用多种语言,但笔者推荐使用VB。这不仅因为ESRI的大部分示例程序是用VB编写的,而且因为只有VB才支持MO的缺省属性。本文中选用的开发环境是Visual Basic 2005。
在VB2005中安装使用MO的步骤如下:运行MO的安装程序;在VB2005中添加Map控件;从工具栏上向FROM添加Map控件的实例,并给此实例加载图层;运行程序,即可在FROM中看到添加的图层;编写程序,实现MO的其他功能。
说明:在VB2005中Map控件的实例的缺省命名为AxMap1,用户也可以该名。
三、基于Visual Basic 2005 和MapObjects 2.0开发的校园导航系统
本文以武汉大学信息学部校园为例,探讨在VB2005环境下利用Mapobjects 控件开发新生入学导航系统,为新生提供查询服务的技术。
(一)校园信息系统的需求分析和结构功能设计
1.需求分析
新生入学时对校园环境的不熟悉,比如不知道自己的宿舍在哪里,教学楼如何走等等,给他们的生活带来了一定的麻烦。所以新生入学导航系统的目的就是运用GIS的技术帮助他们了解校园,尽快融入校园生活。
2.系统结构设计
《信息学部新生入学导航系统》分为3个子系统,如下图所示。
3.系统功能设计
(1)宿舍信息查询
首先要输入学号和姓名登录系统,然后点击查询宿舍信息按钮即可进入显示宿舍信息的界面。显示的内容为宿舍号,房间号,楼层数,单间人数,盥洗室情况;以及宿舍实景和从大门到该生宿舍的路线图(用矢量地图显示)。
(2)校园地图浏览
浏览功能:地图缩放,地图“复原”,地图漫游,地图鹰眼功能
辅助功能:显示地图坐标,标记功能,鼠标提示名称
地物查询:用户先选择图层,然后选择图层内的地物,选中后该地物会闪烁3次,然后显示其名称,确定后可以在ViewList控件中看到它的详细属性:名称,校区,ID,大类代码,小类代码。
图层管理:用户可以通过是否勾选相应的图层来决定是否显示该图层,用户可以根据需要查看自己感兴趣或者是需要的图层。
(3)出行路线查询
用户从下拉列框中选择要查询路线的起点和终点后选则确定即可查询到相应的路线,路线以红色,加粗显示。这样可以避免用户的输入错误而引起的查询失败。如果想要重新输入可以选择重新输入,则起点和终点都会清空。
(二)实现
将Mapobjects2.0 添加到VB2005 中,为各个控件添加事件处理代码,完成客户端应用界面的开发,从而实现系统的各个功能。下面是系统主要模块的实现方法。
1.建立与数据库的连接
利用MapObjects 提供的DataConnection 对象, 实现与服务器端数据库的连接。建立连接后, 系统将服务器上的图层下载到本地, 进行查询、分析等操作。
2.地物属性的查询
从图形查询属性。系统满足用户对任意区域的属性信息查询要求,系统根据图形实体的位置和代码来定位属性数据,实现属性查询。在VB 2005 中layers 和 fields 都不被认作是一个集合,所以在属性查询的时候不能顺利的实现,但是可以通过分解图层,逐个查询的方法实现地物属性的查询。
3.图层管理的实现
MO中有legend组件,不过在VB2005中支持的不好,所以可以直接使用checkbox控件,以其是否被选中作为相应图层是否可见的判断依据。
四、结语
基于组件对象模型的地理信息系统(SGIS)平台比大型的基于应用程序的地理信息系统平台具有小巧、灵活的优势。系统采用小巧快速、易于使用的GIS 软件平台;系统开发环境,选择了高效的、完全支持ActiveX 控件、对数据库也非常支持的应用,完全可视化的、面向对象的编程环境,有利于提高系统的开发效率,加快系统的开发进度,用它能够开发出一流的用户界面,使系统易于使用。但系统还不能实现三维显示,不能进行复杂的空间分析,因此还需使用专业的GIS 软件( 如ArcCIS 等) 以实现校园辅助规划管理。
[关键词]地理信息系统 MapObjects 校园导航
中图分类号:TP319∶P208文献标识码: A文章编号:1671-7597(2008)0910031-02
一、MapObjects 控件概述
MapObjects (简称MO) 是由美国环境系统研究所( ESRI)研制的,基于COM (Com2ponent Object Model ,组件式对象模型) 技术的地理信息系统控件,利用它可以在普通的编程语言(如VB,VC,Delphi等)上实现主要的地理信息系统的功能,一般简称为MO.
MapObjects 2.0 由一个称为Map 的ActiveX 控件和35个可编程的ActiveX 对象组成. 通过MO 可完成以下甚至更多功能:(1)显示一张多图层地图(道路,河流,边界);(2)放大、缩小、漫游;(3)生成图形元素,如点、线、圆、多边形;(4)说明注记;(5)识别地图上被选中的元素;(6)通过线、方框、区域、多边形、圆来拾取物体;(7)拾取距某参照物特定范围内的物体;(8)通过SQL 语句来选择物体;(9)对选取物体进行基本统计;(10)对所选地图元素的属性进行更新、查询;(11)绘制专题图;(12)标注地图元素;(13)从航片或卫星图片上截取图像;(14)动态显示实时或系列时间组数据,在图上标注地址或定位。
MO 可执行许多基础制图功能,但它不能执行某些高级功能。如高质量地图输出,地图坐标系投影,表面模型或网络分析等高级空间分析,以及拓扑编辑。应用者可利用ESRI的其它产品如ARC/ INFO、ArcView来实现高级功能。MO是现在国内GIS 二次开发最常选用的控件之一。
二、在Visual Basic 2005 下使用MapObjects 控件
雖然开发MO时可以使用多种语言,但笔者推荐使用VB。这不仅因为ESRI的大部分示例程序是用VB编写的,而且因为只有VB才支持MO的缺省属性。本文中选用的开发环境是Visual Basic 2005。
在VB2005中安装使用MO的步骤如下:运行MO的安装程序;在VB2005中添加Map控件;从工具栏上向FROM添加Map控件的实例,并给此实例加载图层;运行程序,即可在FROM中看到添加的图层;编写程序,实现MO的其他功能。
说明:在VB2005中Map控件的实例的缺省命名为AxMap1,用户也可以该名。
三、基于Visual Basic 2005 和MapObjects 2.0开发的校园导航系统
本文以武汉大学信息学部校园为例,探讨在VB2005环境下利用Mapobjects 控件开发新生入学导航系统,为新生提供查询服务的技术。
(一)校园信息系统的需求分析和结构功能设计
1.需求分析
新生入学时对校园环境的不熟悉,比如不知道自己的宿舍在哪里,教学楼如何走等等,给他们的生活带来了一定的麻烦。所以新生入学导航系统的目的就是运用GIS的技术帮助他们了解校园,尽快融入校园生活。
2.系统结构设计
《信息学部新生入学导航系统》分为3个子系统,如下图所示。
3.系统功能设计
(1)宿舍信息查询
首先要输入学号和姓名登录系统,然后点击查询宿舍信息按钮即可进入显示宿舍信息的界面。显示的内容为宿舍号,房间号,楼层数,单间人数,盥洗室情况;以及宿舍实景和从大门到该生宿舍的路线图(用矢量地图显示)。
(2)校园地图浏览
浏览功能:地图缩放,地图“复原”,地图漫游,地图鹰眼功能
辅助功能:显示地图坐标,标记功能,鼠标提示名称
地物查询:用户先选择图层,然后选择图层内的地物,选中后该地物会闪烁3次,然后显示其名称,确定后可以在ViewList控件中看到它的详细属性:名称,校区,ID,大类代码,小类代码。
图层管理:用户可以通过是否勾选相应的图层来决定是否显示该图层,用户可以根据需要查看自己感兴趣或者是需要的图层。
(3)出行路线查询
用户从下拉列框中选择要查询路线的起点和终点后选则确定即可查询到相应的路线,路线以红色,加粗显示。这样可以避免用户的输入错误而引起的查询失败。如果想要重新输入可以选择重新输入,则起点和终点都会清空。
(二)实现
将Mapobjects2.0 添加到VB2005 中,为各个控件添加事件处理代码,完成客户端应用界面的开发,从而实现系统的各个功能。下面是系统主要模块的实现方法。
1.建立与数据库的连接
利用MapObjects 提供的DataConnection 对象, 实现与服务器端数据库的连接。建立连接后, 系统将服务器上的图层下载到本地, 进行查询、分析等操作。
2.地物属性的查询
从图形查询属性。系统满足用户对任意区域的属性信息查询要求,系统根据图形实体的位置和代码来定位属性数据,实现属性查询。在VB 2005 中layers 和 fields 都不被认作是一个集合,所以在属性查询的时候不能顺利的实现,但是可以通过分解图层,逐个查询的方法实现地物属性的查询。
3.图层管理的实现
MO中有legend组件,不过在VB2005中支持的不好,所以可以直接使用checkbox控件,以其是否被选中作为相应图层是否可见的判断依据。
四、结语
基于组件对象模型的地理信息系统(SGIS)平台比大型的基于应用程序的地理信息系统平台具有小巧、灵活的优势。系统采用小巧快速、易于使用的GIS 软件平台;系统开发环境,选择了高效的、完全支持ActiveX 控件、对数据库也非常支持的应用,完全可视化的、面向对象的编程环境,有利于提高系统的开发效率,加快系统的开发进度,用它能够开发出一流的用户界面,使系统易于使用。但系统还不能实现三维显示,不能进行复杂的空间分析,因此还需使用专业的GIS 软件( 如ArcCIS 等) 以实现校园辅助规划管理。