APP下载

组件式地理信息系统在校园信息查询系统设计的应用

2014-11-10李光

科技创新导报 2014年20期

李光

摘 要:该文主要介绍了基于C#和ArcEngine的组件式校园信息查询系统的设计方法。设计的主要内容有:通过VisualStudio2008平台,利用C#语言对ArcEngine进行二次开发,利用其相关组件,实现一个可进行地图基本操作、基于空间位置的地图点击查询、根据属性进行地理实体位置查询以及简单的缓冲区分析和距离面积量算等操作的校园地理信息系统。

关键词:组件式地理信息系统 信息查询 实体位置咨询

中图分类号:P208 文献标识码:A 文章编号:1674-098X(2014)07(b)-0201-02

1 组件式地理信息系统介绍

由于面向对象技术的发展以及它在地理信息系统开发中的应用,地理信息系统的传统设计方法和思想也随之发生了改变,于是组件式地理信息系统应运而生。组件式地理信息系统是用几个能够完成不同功能的ActivX标准组件来实现各大功能模块构建而成的,这些标准组件可以完成诸如图形编辑、坐标转换、数据查询、数据分析和数据处理等功能。这种标准组件的生产建立在相当严格的标准之下,具有良好的通用性和兼容性,可以在各种通用的开发环境(如C、C++、C#、VB等)中进行使用;各组件之间,均可通过如本设计中用到的Visual Studio 2008这一类的可视化的软件开发工具集成起来,形成最终的地理信息系统。组件式地理信息系统开发方法大致可分为如下三种: 独立的底层开发模式、单纯的二次开发模式和集成二次发模式。而从目前的应用上来看,集成二次开发模式已经成为GIS 开发的主流。而组件式地理信息系统则是以这种集成二次开发模式为基础而产生的。

ArcGIS Engine是美国ESRI公司推出的用于建立自定义程序的嵌入式GIS组件的一个完整类库,由ArcEngine Developer Kit和Arc-Engine Runtime 两部分组成。包括基础服务、数据存取、地图表达、开发组件及运行时选项等五部分。用户可以使用ArcEngine将GIS功能嵌入到现有的应用程序中,包括Microsoft Office的Word和Excel等产品中,也可以建立能分发给众多用户的自定义高级GIS 系统应用程序。ArcEngine开发工具包(DeveloperKit)是一个基于组件的软件开发产品,用于建立和部署自定义GIS和制图应用程序,使用ArcEngine开发工具包,开发人员在建立定制的地图接口方面具有前所未有的灵活性。

2 设计的内容

2.1 功能分为三大类:地图的基本操作;查询功能;空间分析功能

(1)地图的基本操作:加载并显示地图,可对地图进行大小缩放、移动、漫游等操作。

(2)查询功能:能够查询学校各类服务设施、教学场所、宿舍区等的相关信息。本系统采用了两种查询方式:点击查询(通过点击图像上的任意地物所处的位置,查出该位置所属地物的属性信息);属性查询(通过选择待查询的地物的属性,找到查询对象并高亮显示其在地图中的位置)。

(3)空间分析功能:系统可以实现图层间的缓冲区分析、图上地物的距离面积量算等相关功能。

2.2 目标

(1)以天津城建大学为例,建立校园信息查询系统,实现对天津城市建设学院的所有建筑信息的检索查询,可通过点击、搜索菜单进行点击查询或进行属性查询来确定地物位置。

(2)可以直接在地图上通过量算工具得到两点间距离或者指定范围的面积计算,实现不同图层间的缓冲区分析功能。

2.3 程序工作的基本框架

见图1。

2.4 功能需求

本设计中的系统主要由地图操作子系统、信息查询子系统、空间分析子系统这三个部分组成。相关实现的功能模块主要有:

(1)地图操作模块:地图的缩放与漫游、图层操作;

(2)信息查询模块:空间属性信息查询、地理实体相关信息点击查询;

(3)空间分析模块:缓冲区分析、距离面积量算。

各个功能模块与系统的联系如图2所示。

3 应用实例

(1)数据准备:采用ArcGIS中调入设计中所用的CAD数据文件--各地物图形的数据, 将其转化为ArcGIS可用的shp格式文件,将CAD文件进行格式转换的方法有很多种,本设计中采用的属性分层法。

(2)图形属性数据的整理、分类、修改:由于采用属性分层的方法进行了对应的数据转换,所得到的图像文件继承了原有数据中的属性表,但是其中有很多属性数据是无用的,所以我们要对对应文件的属性表进行修改、整理。

(3)界面设计:首先对系统主界面进行设计,打开visual studio 2008,在打开的界面上新建一个以C#为开发语言的工程,并添加将要用的ArcEngine相关组件。.在窗体中添加如下组件以实现相关功能。其次其他界面的设计,通过ArcEngine提供的控件可实现主要的地图操作功能,所以笔者只做了查询功能的相关界面设计。如属性查询功能,是一个GIS查询系统必备的基本查询功能,也是现下比较流行和实用的一项功能,使用者可以利用相关属性定位,该属性所属实体位置。新建一个窗体,在窗体上添加三个lable控件、两个combobox控件,一个textbox控件,一个listbox控件,一个groupbox控件,以及四个控制按钮。

(4)功能实现:本系统中实现地图的基本操作的功能是通过向ArcGIS Engine ToolbarControl中添加对应的按钮实现的。具体实现代码见附录。

将对应代码输入程序最终可以将本系统用到的对应功能按钮添加进ToolBarControl控件中,最终程序实现功能如图3所示。

4 结语

组件式地理信息系统具有良好的通用性和兼容性等多种特性,可以在各种通用的开发环境(如C、C++、C#、VB等)中进行使用,因此对于该系统的开发应用越来越广,本文运用ArcEngine相关组件开发了校园信息查询系统,实现了地图的缩放与漫游、图层操作,空间属性信息查询、地理实体相关信息点击查询,缓冲区分析、距离面积量算等功能。

参考文献

[1] 宋超,董东林,肖伟鹏.基于AE-GIS的城市出行查询系统研发[J].电脑编程技巧与维护,2010(6).

[2] 蒋汪洋.基于ArcEngine的GIS开发[D].哈尔滨:东北林业大学,2012.

[3] 张会会.基于ArcEngine 的城市房产信息查询系统设计与实现[D].泰安:山东农业大学资源与环境学院,2011.

[4] 朱仕杰,南卓铜.基于ArcEngine的GIS软件框架建设[J].遥感技术与应用,2006,21(4):385-390.

[5] 陈祖刚.基于GIS的郑州大学教室查询系统的设计与实现[D].郑州:大学水利与环境学院,2012.

[6] 韩鹏,王泉,王鹏,等.地理信息系统开发—— ArcEngine方法[M].武汉:武汉大学出版社,2008.

[7] 刘仁义,刘全.ArcGIS开发宝典[M].北京:科学出版社,2009.endprint

摘 要:该文主要介绍了基于C#和ArcEngine的组件式校园信息查询系统的设计方法。设计的主要内容有:通过VisualStudio2008平台,利用C#语言对ArcEngine进行二次开发,利用其相关组件,实现一个可进行地图基本操作、基于空间位置的地图点击查询、根据属性进行地理实体位置查询以及简单的缓冲区分析和距离面积量算等操作的校园地理信息系统。

关键词:组件式地理信息系统 信息查询 实体位置咨询

中图分类号:P208 文献标识码:A 文章编号:1674-098X(2014)07(b)-0201-02

1 组件式地理信息系统介绍

由于面向对象技术的发展以及它在地理信息系统开发中的应用,地理信息系统的传统设计方法和思想也随之发生了改变,于是组件式地理信息系统应运而生。组件式地理信息系统是用几个能够完成不同功能的ActivX标准组件来实现各大功能模块构建而成的,这些标准组件可以完成诸如图形编辑、坐标转换、数据查询、数据分析和数据处理等功能。这种标准组件的生产建立在相当严格的标准之下,具有良好的通用性和兼容性,可以在各种通用的开发环境(如C、C++、C#、VB等)中进行使用;各组件之间,均可通过如本设计中用到的Visual Studio 2008这一类的可视化的软件开发工具集成起来,形成最终的地理信息系统。组件式地理信息系统开发方法大致可分为如下三种: 独立的底层开发模式、单纯的二次开发模式和集成二次发模式。而从目前的应用上来看,集成二次开发模式已经成为GIS 开发的主流。而组件式地理信息系统则是以这种集成二次开发模式为基础而产生的。

ArcGIS Engine是美国ESRI公司推出的用于建立自定义程序的嵌入式GIS组件的一个完整类库,由ArcEngine Developer Kit和Arc-Engine Runtime 两部分组成。包括基础服务、数据存取、地图表达、开发组件及运行时选项等五部分。用户可以使用ArcEngine将GIS功能嵌入到现有的应用程序中,包括Microsoft Office的Word和Excel等产品中,也可以建立能分发给众多用户的自定义高级GIS 系统应用程序。ArcEngine开发工具包(DeveloperKit)是一个基于组件的软件开发产品,用于建立和部署自定义GIS和制图应用程序,使用ArcEngine开发工具包,开发人员在建立定制的地图接口方面具有前所未有的灵活性。

2 设计的内容

2.1 功能分为三大类:地图的基本操作;查询功能;空间分析功能

(1)地图的基本操作:加载并显示地图,可对地图进行大小缩放、移动、漫游等操作。

(2)查询功能:能够查询学校各类服务设施、教学场所、宿舍区等的相关信息。本系统采用了两种查询方式:点击查询(通过点击图像上的任意地物所处的位置,查出该位置所属地物的属性信息);属性查询(通过选择待查询的地物的属性,找到查询对象并高亮显示其在地图中的位置)。

(3)空间分析功能:系统可以实现图层间的缓冲区分析、图上地物的距离面积量算等相关功能。

2.2 目标

(1)以天津城建大学为例,建立校园信息查询系统,实现对天津城市建设学院的所有建筑信息的检索查询,可通过点击、搜索菜单进行点击查询或进行属性查询来确定地物位置。

(2)可以直接在地图上通过量算工具得到两点间距离或者指定范围的面积计算,实现不同图层间的缓冲区分析功能。

2.3 程序工作的基本框架

见图1。

2.4 功能需求

本设计中的系统主要由地图操作子系统、信息查询子系统、空间分析子系统这三个部分组成。相关实现的功能模块主要有:

(1)地图操作模块:地图的缩放与漫游、图层操作;

(2)信息查询模块:空间属性信息查询、地理实体相关信息点击查询;

(3)空间分析模块:缓冲区分析、距离面积量算。

各个功能模块与系统的联系如图2所示。

3 应用实例

(1)数据准备:采用ArcGIS中调入设计中所用的CAD数据文件--各地物图形的数据, 将其转化为ArcGIS可用的shp格式文件,将CAD文件进行格式转换的方法有很多种,本设计中采用的属性分层法。

(2)图形属性数据的整理、分类、修改:由于采用属性分层的方法进行了对应的数据转换,所得到的图像文件继承了原有数据中的属性表,但是其中有很多属性数据是无用的,所以我们要对对应文件的属性表进行修改、整理。

(3)界面设计:首先对系统主界面进行设计,打开visual studio 2008,在打开的界面上新建一个以C#为开发语言的工程,并添加将要用的ArcEngine相关组件。.在窗体中添加如下组件以实现相关功能。其次其他界面的设计,通过ArcEngine提供的控件可实现主要的地图操作功能,所以笔者只做了查询功能的相关界面设计。如属性查询功能,是一个GIS查询系统必备的基本查询功能,也是现下比较流行和实用的一项功能,使用者可以利用相关属性定位,该属性所属实体位置。新建一个窗体,在窗体上添加三个lable控件、两个combobox控件,一个textbox控件,一个listbox控件,一个groupbox控件,以及四个控制按钮。

(4)功能实现:本系统中实现地图的基本操作的功能是通过向ArcGIS Engine ToolbarControl中添加对应的按钮实现的。具体实现代码见附录。

将对应代码输入程序最终可以将本系统用到的对应功能按钮添加进ToolBarControl控件中,最终程序实现功能如图3所示。

4 结语

组件式地理信息系统具有良好的通用性和兼容性等多种特性,可以在各种通用的开发环境(如C、C++、C#、VB等)中进行使用,因此对于该系统的开发应用越来越广,本文运用ArcEngine相关组件开发了校园信息查询系统,实现了地图的缩放与漫游、图层操作,空间属性信息查询、地理实体相关信息点击查询,缓冲区分析、距离面积量算等功能。

参考文献

[1] 宋超,董东林,肖伟鹏.基于AE-GIS的城市出行查询系统研发[J].电脑编程技巧与维护,2010(6).

[2] 蒋汪洋.基于ArcEngine的GIS开发[D].哈尔滨:东北林业大学,2012.

[3] 张会会.基于ArcEngine 的城市房产信息查询系统设计与实现[D].泰安:山东农业大学资源与环境学院,2011.

[4] 朱仕杰,南卓铜.基于ArcEngine的GIS软件框架建设[J].遥感技术与应用,2006,21(4):385-390.

[5] 陈祖刚.基于GIS的郑州大学教室查询系统的设计与实现[D].郑州:大学水利与环境学院,2012.

[6] 韩鹏,王泉,王鹏,等.地理信息系统开发—— ArcEngine方法[M].武汉:武汉大学出版社,2008.

[7] 刘仁义,刘全.ArcGIS开发宝典[M].北京:科学出版社,2009.endprint

摘 要:该文主要介绍了基于C#和ArcEngine的组件式校园信息查询系统的设计方法。设计的主要内容有:通过VisualStudio2008平台,利用C#语言对ArcEngine进行二次开发,利用其相关组件,实现一个可进行地图基本操作、基于空间位置的地图点击查询、根据属性进行地理实体位置查询以及简单的缓冲区分析和距离面积量算等操作的校园地理信息系统。

关键词:组件式地理信息系统 信息查询 实体位置咨询

中图分类号:P208 文献标识码:A 文章编号:1674-098X(2014)07(b)-0201-02

1 组件式地理信息系统介绍

由于面向对象技术的发展以及它在地理信息系统开发中的应用,地理信息系统的传统设计方法和思想也随之发生了改变,于是组件式地理信息系统应运而生。组件式地理信息系统是用几个能够完成不同功能的ActivX标准组件来实现各大功能模块构建而成的,这些标准组件可以完成诸如图形编辑、坐标转换、数据查询、数据分析和数据处理等功能。这种标准组件的生产建立在相当严格的标准之下,具有良好的通用性和兼容性,可以在各种通用的开发环境(如C、C++、C#、VB等)中进行使用;各组件之间,均可通过如本设计中用到的Visual Studio 2008这一类的可视化的软件开发工具集成起来,形成最终的地理信息系统。组件式地理信息系统开发方法大致可分为如下三种: 独立的底层开发模式、单纯的二次开发模式和集成二次发模式。而从目前的应用上来看,集成二次开发模式已经成为GIS 开发的主流。而组件式地理信息系统则是以这种集成二次开发模式为基础而产生的。

ArcGIS Engine是美国ESRI公司推出的用于建立自定义程序的嵌入式GIS组件的一个完整类库,由ArcEngine Developer Kit和Arc-Engine Runtime 两部分组成。包括基础服务、数据存取、地图表达、开发组件及运行时选项等五部分。用户可以使用ArcEngine将GIS功能嵌入到现有的应用程序中,包括Microsoft Office的Word和Excel等产品中,也可以建立能分发给众多用户的自定义高级GIS 系统应用程序。ArcEngine开发工具包(DeveloperKit)是一个基于组件的软件开发产品,用于建立和部署自定义GIS和制图应用程序,使用ArcEngine开发工具包,开发人员在建立定制的地图接口方面具有前所未有的灵活性。

2 设计的内容

2.1 功能分为三大类:地图的基本操作;查询功能;空间分析功能

(1)地图的基本操作:加载并显示地图,可对地图进行大小缩放、移动、漫游等操作。

(2)查询功能:能够查询学校各类服务设施、教学场所、宿舍区等的相关信息。本系统采用了两种查询方式:点击查询(通过点击图像上的任意地物所处的位置,查出该位置所属地物的属性信息);属性查询(通过选择待查询的地物的属性,找到查询对象并高亮显示其在地图中的位置)。

(3)空间分析功能:系统可以实现图层间的缓冲区分析、图上地物的距离面积量算等相关功能。

2.2 目标

(1)以天津城建大学为例,建立校园信息查询系统,实现对天津城市建设学院的所有建筑信息的检索查询,可通过点击、搜索菜单进行点击查询或进行属性查询来确定地物位置。

(2)可以直接在地图上通过量算工具得到两点间距离或者指定范围的面积计算,实现不同图层间的缓冲区分析功能。

2.3 程序工作的基本框架

见图1。

2.4 功能需求

本设计中的系统主要由地图操作子系统、信息查询子系统、空间分析子系统这三个部分组成。相关实现的功能模块主要有:

(1)地图操作模块:地图的缩放与漫游、图层操作;

(2)信息查询模块:空间属性信息查询、地理实体相关信息点击查询;

(3)空间分析模块:缓冲区分析、距离面积量算。

各个功能模块与系统的联系如图2所示。

3 应用实例

(1)数据准备:采用ArcGIS中调入设计中所用的CAD数据文件--各地物图形的数据, 将其转化为ArcGIS可用的shp格式文件,将CAD文件进行格式转换的方法有很多种,本设计中采用的属性分层法。

(2)图形属性数据的整理、分类、修改:由于采用属性分层的方法进行了对应的数据转换,所得到的图像文件继承了原有数据中的属性表,但是其中有很多属性数据是无用的,所以我们要对对应文件的属性表进行修改、整理。

(3)界面设计:首先对系统主界面进行设计,打开visual studio 2008,在打开的界面上新建一个以C#为开发语言的工程,并添加将要用的ArcEngine相关组件。.在窗体中添加如下组件以实现相关功能。其次其他界面的设计,通过ArcEngine提供的控件可实现主要的地图操作功能,所以笔者只做了查询功能的相关界面设计。如属性查询功能,是一个GIS查询系统必备的基本查询功能,也是现下比较流行和实用的一项功能,使用者可以利用相关属性定位,该属性所属实体位置。新建一个窗体,在窗体上添加三个lable控件、两个combobox控件,一个textbox控件,一个listbox控件,一个groupbox控件,以及四个控制按钮。

(4)功能实现:本系统中实现地图的基本操作的功能是通过向ArcGIS Engine ToolbarControl中添加对应的按钮实现的。具体实现代码见附录。

将对应代码输入程序最终可以将本系统用到的对应功能按钮添加进ToolBarControl控件中,最终程序实现功能如图3所示。

4 结语

组件式地理信息系统具有良好的通用性和兼容性等多种特性,可以在各种通用的开发环境(如C、C++、C#、VB等)中进行使用,因此对于该系统的开发应用越来越广,本文运用ArcEngine相关组件开发了校园信息查询系统,实现了地图的缩放与漫游、图层操作,空间属性信息查询、地理实体相关信息点击查询,缓冲区分析、距离面积量算等功能。

参考文献

[1] 宋超,董东林,肖伟鹏.基于AE-GIS的城市出行查询系统研发[J].电脑编程技巧与维护,2010(6).

[2] 蒋汪洋.基于ArcEngine的GIS开发[D].哈尔滨:东北林业大学,2012.

[3] 张会会.基于ArcEngine 的城市房产信息查询系统设计与实现[D].泰安:山东农业大学资源与环境学院,2011.

[4] 朱仕杰,南卓铜.基于ArcEngine的GIS软件框架建设[J].遥感技术与应用,2006,21(4):385-390.

[5] 陈祖刚.基于GIS的郑州大学教室查询系统的设计与实现[D].郑州:大学水利与环境学院,2012.

[6] 韩鹏,王泉,王鹏,等.地理信息系统开发—— ArcEngine方法[M].武汉:武汉大学出版社,2008.

[7] 刘仁义,刘全.ArcGIS开发宝典[M].北京:科学出版社,2009.endprint