第5章 ArcGIS Engine二次开发初级讲义

  • 格式:doc
  • 大小:5.42 MB
  • 文档页数:62

ArcGIS Engine二次开发实习初级讲义遥感信息工程学院地理信息工程方向实习材料指导老师:秦昆文档编写:张文、郭善昕、余万里武汉大学遥感信息工程学院目录1 ArcGIS、ArcObjects和ArcGIS Engine简介.................................................................... - 3 -1.1 ArcGIS简介 ................................................................................................................ - 3 -1.2 ArcObjects简介 .......................................................................................................... - 4 -1.3 ArcGIS Engine简介.................................................................................................... - 5 -2 ArcGIS控件介绍.................................................................................................................... - 7 -2.1 ArcGIS控件简介 ........................................................................................................ - 7 -2.2重要控件简介............................................................................................................... - 9 -3 ArcGIS Engine二次开发入门 ............................................................................................ - 16 -3.1 ArcGIS Engine开发起步——第一个简单的地图显示程序 .................................. - 16 -3.2 属性查询.................................................................................................................... - 23 -3.3 空间查询.................................................................................................................... - 27 -3.4 BaseCommand开发实例 .......................................................................................... - 36 -3.5 BaseTool开发实例.................................................................................................... - 38 -3.6通过代码添加图层..................................................................................................... - 42 -3.7基于比例尺显示地图................................................................................................. - 44 -3.8 构建一个简单的GIS应用........................................................................................ - 46 -4.问题解决方法及帮助文档的使用........................................................................................ - 58 -4.1使用ArcObjects开发帮助系统............................................................................... - 58 -4.2阅读对象模型图(Object Model Diagram)......................................................... - 62 -1 ArcGIS、ArcObjects和ArcGIS Engine简介1.1 ArcGIS简介ArcGIS提供了一个可伸缩的框架,可以为独立用户或者多用户,既可以在桌面端也可以在服务器端提供GIS。

ArcGIS 9是用来构建一个完整GIS应用的GIS软件产品集成。

它是基于共享的GIS软件组件——ArcObjects。

ArcGIS 9由以下四部分组成:●ArcGIS Desktop——高级GIS应用的集成●ArcGIS Engine——根据应用程序接口来构建基本应用的嵌入式GIS组件库●ArcGIS Server——在企业级或者网络框架下构建服务器端GIS应用的平台,用来构建Web服务和Web应用●ArcIMS——通过公开的因特网协议来发布地图、数据和元数据的GIS Web服务器图1 ArcGIS产品结构图每一个GIS框架同样包含ArcSDE网关,这是在关系数据库(RDBMS)上组织地理数据的接口。

ArcGIS是构建地理信息系统的平台。

ArcGIS 9在地理数据处理、3D可视化表达和开发工具方面做了新的扩展。

两个新的产品——ArcGIS Engine和ArcGIS Server在这个版本中发布,是ArcGIS成为一个应用程序及服务端开发的完整产品。

●使用ArcGIS能够开发出一系列的产品,开发者可以:●配置/定制ArcGIS的应用,例如ArcMap和ArcCatalog●扩展ArcGIS的结构和数据模型●利用ArcGIS Engine在其他应用程序中嵌入地图和GIS功能●使用ArcGIS Engine构建并部署桌面版应用程序●使用ArcGIS Server构建Web服务和应用ArcGIS系列产品是通过称之为ArcObjects的软件组件加以构建和扩展的。

ArcObjects 包括一系列不同的程序组件,从高度封装的组件(例如独立的geometry objects)到低级组件(例如能够同已有的ArcMap文档集成的地图组件)。

这些组件为开发者集成了大量的GIS 功能。

ArcGIS 9的全线产品都具备开发功能(Engine,Server和Desktop)。

作为一个开发者,您能够使用标准程序框架结合ArcObjects来扩张ArcGIS Desktop;能够用ArcGIS Engine定制应用;能够使用ArcGIS Server构建企业级的GIS应用。

图2 ArcGIS开发结构图ArcGIS Desktop包含了一些列的Windows桌面应用程序(例如,地图、目录、工具箱、地球方面的应用)。

ArcGIS Desktop包含了三种功能级别(ArcView,ArcEditor和ArcInfo),使用ArcGIS Desktop开发包能够进行客户化和扩展。

ArcGIS Desktop的软件开发包(software developer kit,SDK)包含在ArcView,ArcEditor和ArcInfo内,支持COM(Component Objects Mode l,组件对象模型)和.NET 程序框架。

许多开发者利用Desktop SDK扩展功能,创建新的GIS工具,定制用户界面,完善ArcGIS Desktop应用中专业GIS产品的扩展功能。

ArcGIS Server不仅定义和实现了一系列标准的GIS Web服务(例如,地图、数据访问、地理编码等),同时还支持利用ArcObjects进行企业级的服务端应用开发。

ArcGIS Server开发包让开发者能构建GIS服务器用来向多用户提供可供访问的GIS 功能,能通过客户端对大型GIS中央服务器进行处理,能构建和分发GIS Web应用,能进行分布式GIS运算。

1.2 ArcObjects简介ArcObjects是ArcGIS Desktop的开发平台。

ArcGIS Desktop是一系列GIS软件系统:ArcInfo,ArcEditor和ArcView。

这些系统服务于GIS,例如地理数据组织、控件编辑、分级可视化等功能。

ArcGIS Desktop系统包含一系列的应用,例如ArcCatalog、ArcMap、ArcT oolBox和ArcScene,并且能够集成大量不同的扩展产品,例如ArcGIS Spatial Analyst(空间分析模块),ArcGIS Geostatistical Analyst(地理统计分析模块),ArcGIS 3D Analyst(三维分析模块)等。

ArcObjects是使用微软的组件对象模型(Component Objects Model,COM)书写。

因此,凡是支持COM标准的开发语言都能使用ArcObjects。

您能向ESRI(Environment System Research Institute,环境系统研究所)的开发者一样,使用同样的方式来扩展ArcObjects中的任何一部分。

1.3 ArcGIS Engine简介ArcGIS Engine是开发者用来构建应用程序的一整套嵌入式GIS组件。

使用ArcGIS Engine,您可以将一些GIS功能嵌入到已有的应用程序中,这包括Microsoft Office产品,例如Word和Excel,建造有针对性的客户应用程序用来将高级GIS系统与他人分享。