文档介绍:C# + AE 二次开发方法主讲:蔡忠亮第五章 Arc/Info 环境下的 GIS 二次开发技术?一、基于工具型地理信息系统二次开发语言的软件开发。? VBA — Visual Basic for Applications ? AML — ARC Macro Language ?二、基于有关地理信息系统的控件(或构件)的软件开发? MapObject(MO),Ar cObject(AO),ArcEngine(AE) AO/AE 关系什么是 AO ? AO 是 ESRI 公司 ArcGIS ?家族中应用程序 ArcMap ?, atalog ?和 ArcScene ?的开发平台,它是基于 Microsoft ? COM 技 组件集。到目前为止, AO 还不是一个独立的应用产品, 是依附在 ArcGIS DeskTop 产品中的软件开发包。也就是说,购买了 ArcGIS Desktop 的任何一个产品,不管是 ArcView 还是 ArcInfo , 都有了这套强大的 AO 组件集,利用 AO 提供的组件对象来进行应用开发。 AO 、 AE 、 MO 比较? AO - ArcObjects ,有上千个对象和接口,可以在其基础上开发出业界最强大的 GIS 应用程序。完全支持空间数据引擎。但由于运行时需要安装 ArcGIS 核心产品和开发时用到的扩展模块产品,软件发布成本不菲, 其下一代产品 ArcGIS Engine 则有望解决这个问题。? AE - ArcGis Engine 是一个创建定制的 GIS 桌面应用程序的开发产品。 ArcGIS Engine 包括构建 ArcGIS 产品 ArcView, ArcEditor, ArcInfo, 和 ArcGIS Server. 的所有核心组件。使用 ArcGIS Engine 可以创建独立界面版本(stand-alone) 的应用程序,或者对现有的应用程序进行扩展。? MO - MapObjects ,只有十多个对象, 用于简单的 GIS 应用程序开发,对空间数据引擎的支持度较低,但软件发布成本很低。? AO 是主流, AO 的分析功能比 MO 强, AO 支持的格式更多,开发时的模式和可扩展性等强些,也复杂多了。 AO 、 AE 、 MO 比较? MO 使用简单,也很不错。其实,如果非特别专业和特别要求, MO 没问题的。 MO 也可以连接 geodatabase 的,建议你采用 AO ,因为 MO 现在基本上已经没有新版本了。? AO 接口,适用于任何语言,如 VC++,VB,DELPHI 等开发语言,而 MO 是一个产品。 AO 不能独立存在,只要安装成功 ARCGIS 就可以使用 AO 开发,听说今后 arcgis 的版本中 AO 可以单独发行了。? AO 是 AE 、 ArcGIS Desktop 、 ArcGIS Server 三者的集合,按功能 AO 大于 AE 大于 MO , AO 面向桌面扩展开发,需要有 desktop 支持,不能开发出独立发布的程序 AE 不需要 desktop 支撑,包括了 AO 中的大部分库,可以开发出独立发布的应用程序, MO 功能简单,主要面向小型的系统开发如地图浏览,查询系统等等,或结合 MIS 系统运行。 AE 编写的代码可以在同版本的 AO 环境下运行, AO 环境下编写的一部分对象在 AE 下可能无法使用。基于 AE 的 GIS 二次开发( AE+C# ) ?一、安装 C#环境(VS2005) ?二、安装 AE 环境?三、基于 AE 二次开发 GIS 系统 AE 环境配置? 1 、安装 ArcGIS Engine Runtime ( ) ? 2 、安装 ArcGIS Engine Developer Kit ( ) ? Developer Kit 内容? Help --- 包含开发帮助文件: , 等 Kits --- 附加的开发者素材诸如投影引擎头文件,类别 ID 文件和 ESRI 示例命令的源代码(在最新的 版本中,该代码位置有所变化) Object Model Diagrams --- 包括所有的 PDF 格式对象模型图 Samples --- 包含所有示例工程文件的源代码 Utilities --- 包含 ESRI 对象浏览器等工具安装 ArcGIS Engine Developer Kit 基于 AE 二次开发 GIS 系统(AE+C#) ?新建 C# 工程(选择 ARCGIS/Enginge 工程)