ArcObjects疑难解答(一)

     在一个团队中,不乏编程的高手,但有时却缺乏GIS高手。结合自己的工作,以ArcGIS为例,来补充解答ArcObjects的问题。面对问题,大家一起探讨,我们会将所有的问题日益完善,并解答。非常欢迎大家的留言及后续补充,同时个别解答不完善的地方,欢迎指正。

 

     1、AO、AE与SOE

     ArcObjects(AO)是构建所有ArcGIS应用的底层类库,是实现ArcGIS功能的核心;ArcGIS Engine则是基于AO的C/S模式开发框架。

     ArcGIS Engine(AE)开发,通常用于C/S模式的应用系统开发,它需要安装有ArcGIS Engine Runtime;

     AO开发,则可以适用于Desktop和Server的开发,没有ArcGIS Engine同样可以。AO开发可以实现:Desktop功能拓展(如Desktop的工具条、各种工具)、Server服务端的功能拓展(开发服务器端的底层功能实现)

     所以 AO>AE,甚至可以说 AO>>AE

     SOE(Server Object Extension),即是Server服务器端的拓展开发。这也是未来ArcGIS Server 10.1版本之后拓展Server功能的基本方式,它同样也是基于AO实现的。我会今后整理这一方面内容,并与大家分享。

 

   2、.Net中的类比AO中的类多了class后缀

   比如AO中是Point类,而.NET中却多了个PointClass类,等等

   其实简化理解就可以了。Point类是基于COM的纯AO类,而PointClass是AO类经.Net封装后形成的类。仅此而已,两者在使用中没有区别。

 

   3、ArcGIS Engine中的AxMapControl是什么类,与MapControl什么关系

    AxMapControl非AO类,它是AO的MapControl经.NET封装后形成的,因此在ArcObjects的帮助文档中查无此类。欲知AxMapControl的属性和方法,查询ArcObjects帮助中的IMapControl相应接口,基本相当。

    其实,出现AxMapControl的本质在于:Engine多是创建.NET窗体程序,MapControl对象虽为Map控件,但它并不能直接添加在.NET的Form中显示。只有将MapControl封装为.NET的控件,即AxMapControl,才可以在Form程序中运行显示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值