欢迎来到天天文库
浏览记录
ID:21547755
大小:1.02 MB
页数:44页
时间:2018-10-22
《c#+ae二次开发方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C#+AE二次开发方法主讲:蔡忠亮第五章Arc/Info环境下的GIS二次开发技术一、基于工具型地理信息系统二次开发语言的软件开发。VBA—VisualBasicforApplicationsAML—ARCMacroLanguage二、基于有关地理信息系统的控件(或构件)的软件开发MapObject(MO),ArcObject(AO),ArcEngine(AE)AO/AE关系什么是AOAO是ESRI公司ArcGIS™家族中应用程序ArcMap™,ArcCatalog™和ArcScene™的开发平台,它是基于Microsoft®COM技术所构建的一系
2、列COM组件集。到目前为止,AO还不是一个独立的应用产品,是依附在ArcGISDeskTop产品中的软件开发包。也就是说,购买了ArcGISDesktop的任何一个产品,不管是ArcView还是ArcInfo,都有了这套强大的AO组件集,利用AO提供的组件对象来进行应用开发。AO、AE、MO比较AO-ArcObjects,有上千个对象和接口,可以在其基础上开发出业界最强大的GIS应用程序。完全支持空间数据引擎。但由于运行时需要安装ArcGIS核心产品和开发时用到的扩展模块产品,软件发布成本不菲,其下一代产品ArcGISEngine则有望解决这个问题
3、。AE-ArcGisEngine是一个创建定制的GIS桌面应用程序的开发产品。ArcGISEngine包括构建ArcGIS产品ArcView,ArcEditor,ArcInfo,和ArcGISServer.的所有核心组件。使用ArcGISEngine可以创建独立界面版本(stand-alone)的应用程序,或者对现有的应用程序进行扩展。MO-MapObjects,只有十多个对象,用于简单的GIS应用程序开发,对空间数据引擎的支持度较低,但软件发布成本很低。AO是主流,AO的分析功能比MO强,AO支持的格式更多,开发时的模式和可扩展性等强些,也复杂多
4、了。AO、AE、MO比较MO使用简单,也很不错。其实,如果非特别专业和特别要求,MO没问题的。MO也可以连接geodatabase的,建议你采用AO,因为MO现在基本上已经没有新版本了。AO其实是一组COM接口,适用于任何语言,如VC++,VB,DELPHI等开发语言,而MO是一个产品。AO不能独立存在,只要安装成功ARCGIS就可以使用AO开发,听说今后arcgis的版本中AO可以单独发行了。AO是AE、ArcGISDesktop、ArcGISServer三者的集合,按功能AO大于AE大于MO,AO面向桌面扩展开发,需要有desktop支持,不能
5、开发出独立发布的程序AE不需要desktop支撑,包括了AO中的大部分库,可以开发出独立发布的应用程序,MO功能简单,主要面向小型的系统开发如地图浏览,查询系统等等,或结合MIS系统运行。AE编写的代码可以在同版本的AO环境下运行,AO环境下编写的一部分对象在AE下可能无法使用。基于AE的GIS二次开发(AE+C#)一、安装C#环境(VS2005)二、安装AE环境三、基于AE二次开发GIS系统AE环境配置1、安装ArcGISEngineRuntime(9.2)2、安装ArcGISEngineDeveloperKit(9.2)DeveloperKit
6、内容Help---包含开发帮助文件:AODev.chm,ArcObjects.chm等Kits---附加的开发者素材诸如投影引擎头文件,类别ID文件和ESRI示例命令的源代码(在最新的9.2版本中,该代码位置有所变化)ObjectModelDiagrams---包括所有的PDF格式对象模型图Samples---包含所有示例工程文件的源代码Utilities---包含ESRI对象浏览器等工具安装ArcGISEngineDeveloperKit基于AE二次开发GIS系统(AE+C#)新建C#工程(选择ARCGIS/Enginge工程)基于AE二次开发G
7、IS系统(AE+C#)选择需要引入的库(也可以在向导完成后手动引入)基于AE二次开发GIS系统(AE+C#)完成后在窗口插入AE控件基于AE二次开发GIS系统(AE+C#)C#中设置MapControl初始值基于AE二次开发GIS系统(AE+C#)设计器中预览设置控件属性Size:在NET环境下,可以直接设置控件的anchor属性(例如left,top,right,bottom),不需要写Resize事件中调整控件位置。代码编写C#的语言风格与C++相似,IDE与VB6.0下相似,大大简化了开发过程。一般来说,C#开发过程比VC简单,初学者容易上手
8、,功能上比VB强大很多。C#语言风格1.变量类型及定义方式与C++相似。例如:inti=0;doubled=0.00;2.
此文档下载收益归作者所有