第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 -
正在阅读:
第5章 ArcGIS Engine二次开发初级讲义 - 图文11-01
五福临门是哪五福02-19
学校财务报帐员个人事迹材料08-23
酶工程思考题有答案01-17
给排水课程设计L - 图文11-01
无锡物流的现状与发展09-23
蓝天幼儿园小班周计划活动表03-29
眼望清明祭英灵作文600字07-09
从丧葬习俗看人的生死观_以五台山地区为例06-06
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 讲义
- 初级
- 图文
- ArcGIS
- Engine
- 开发
- 1 核酸的结构与功能 - 图文
- 黑武士和白武士的故事
- 火工品管理办法
- 《公共政策分析》课程分析
- 2015年北师大版七年级数学上册例题精讲及练习题(全套含答案)
- 25Hz相敏轨道电路的测试与调整
- 浙江省2018年初中毕业生学业考试科学分类汇编(八年级上册) - 图文
- MyEclipse 2014 自定义主题图文教程
- 儿童阅读与阅读教学 崔峦
- 反恐怖主义法解读试题及答案
- 屋面挂瓦技术交底 - 图文
- 基数调整资料1:参保企业医保缴费基数申报办法
- 数字信号的最佳接收性能的研究
- 厦门市2018届高三年级第一学期期末质检英语试题 - 图文
- 电力系统分析基础部分习题答案
- 2014数据结构实验报告
- 11.人才培养模式改革方案(服装设计与工艺专业、服装展示与礼仪专业)
- 广告公司管理规章制度
- 铣工实操技能训练教学大纲
- 2017-2018学年度瓜州一中高一第二学期期中考试试卷