ArcGIS Engine Developer Guide ArcGIS9.0开发文档《Engine_Developers_Guide.pdf》376 ,花了两三天看完了。
guide特点:
1 guide里面的基础性的东西很多,涉及com开发应用,开发语言,环境和ao架构介绍的内容
2 介绍.net开发ae(当然也有别的环境)的资料太少,抄袭《explorering arcobjects》的成分太多,如果与ao guide对比,发现ae的成分特少,不到1/4吧。
3 从这里可以看出ao的重要性。
4 但ae开发api和架构的资料似乎太少,单纯从guide,远远不能满足开发要求。
5 可以看出ae开发还算是简单(虽然比mapx,mapxtreme,mapobjects,supermap objects都复杂),毕竟是基于coarse grain(粗粒度)组件。
一个晚上,把示例完成了:MapCtrol, PagelayoutControl, TOCControl, ToolBarControl的应用,
包括加载地图(mxd,pmf),
MapControl, TOCControl, ToolBarControl的SetBuiddy,MapControl的Overview,
ToolBarControl的系统Tool,Command(tool是排斥的,Command是OneClick)等。
ArcGIS的所有开发还是离不开AO(在使用AE时,同样经常要使用AO组件),所以还是要好好看看ao9.2的开发文档。
AE特点:
1. AE架构比别的组件开发架构(如MapX,MapObjects,SuperMap Objects)都要好得多(SuperMap Objects宣传起来好听,用起来特恶心)。
2. 显示与数据分离,是一个组件的基本原则,而在这一点上,那些控件式开发组件(Mapx,supermap objects)都没法与ae相提并论。ae的可扩展性也是非常好的(不用对比了)。
3. AE的功能强大,别的平台无法与之相比。一方面是因为ae的封装和框架的关系,另一方面,ae可与ao的共同使用,ae是对ao的部分封装,主要是可视化操作的封装,可类比mfc与win api。从这个意义上来说,ae和ao的结合,是gis平台开发的唯一正确设计原则。如果不提供底层api,任何二次开发,都有力不从心的时候。所有的windows开发,都藉以api调用而扩充功能,GIS开发,做到这一步,可以达到统一平台的目的。
4. ae开发的简单与功能的强大相结合。ao已经是com,粒度层次已经很高,开发很简单,很多时候,没有进一步封装的必要,而ae主要封装UI,这就使得功能强大而开发简洁。
下载ESRI-license.rar