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

更新时间:2023-11-01 18:11:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

ArcGIS Engine二次开发实习初级讲义

遥感信息工程学院地理信息工程方向实习材料

指导老师:秦昆

文档编写:张文、郭善昕、余万里

武汉大学遥感信息工程学院

ArcEngine 二次开发实习初级讲义

目录

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 -

- 2 -

ArcEngine 二次开发实习初级讲义

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功能

- 3 -

ArcEngine 二次开发实习初级讲义

? 使用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 Model,组件对象模型)和.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的开发平台。

- 4 -

ArcEngine 二次开发实习初级讲义

ArcGIS Desktop是一系列GIS软件系统:ArcInfo,ArcEditor和ArcView。这些系统服务于GIS,例如地理数据组织、控件编辑、分级可视化等功能。

ArcGIS Desktop系统包含一系列的应用,例如ArcCatalog、ArcMap、ArcToolBox和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系统与他人分享。ArcGIS Engine由一个软件开发包(software development kit,SDK)和一个给所有ArcGIS应用提供平台的运行许可(runtime)构成。

构成ArcGIS Engine的五部分分别如下:

1)基本服务——几乎任何GIS应用都需要的核心GIS ArcObjects,例如几何(geometry),显示(display)等。

2)数据访问——ArcGIS Engine提供许多栅格和矢量数据的访问方式,包括与geodatabase相当的能力和灵活性。

3)地图表达——ArcObjects使用符号、注记和专题地图来生成和表达地图。

4)开发组件——用来快速定制应用开发程序的高度封装用户接口以及开发过程中全面的帮助系统。

5)运行许可——ArcGIS Engine运行许可可以部署标准功能或者加入一些附加的高级功能。

这中间除了运行许可之外的任何一部分,都打包集成到ArcGIS Engine开发包(SDK)中。ArcGIS Engine运行许可及其选项,尽管是开发完整的GIS应用程序中的一部分,但包含了应用部署,所以被单独打包。

1.3.1 ArcGIS Engine Software Developer Kit

ArcGIS Engine SDK是用来开发和部署GIS及地图方面应用程序的组件化软件开发产品。ArcGIS Engine SDK不是终端产品而是共应用开发者使用的软件包。它能构建基本的地图浏览或者全面的、动态的GIS编辑工具。使用ArcGIS Engine SDK,作为开发者,您在定制地图功能接口方面有空前的自由。您可以使用许多API中的一些来构建独一无二的应用程序或者将ArcGIS Engine组建与其他软件组建整合,来实现地图和用户需要的其他信息之间的完美结合。

使用ArcGIS Engine,地图既能够作为应用程序的核心,也可以作为一个可选项。例如,如果您的应用主要是数据库中的商务信息,当您查询数据库的时候,ArcGIS Engine能够将您感兴趣的商业信息在地图上高亮显示定位出来。

ArcGIS Engine SDK提供了大量的GIS组件,或者称为ArcObjects,按照之前的介绍,包括基本服务、数据访问和地图表达。之前提到的ArcGIS Engine的第四部分,也就是开发组件,也包含在SDK中间。这些都是用来构建一个高质量地图接口的开发控件。下面列

- 5 -

本文来源:https://www.bwwdw.com/article/49v2.html

Top