所谓ArcObject,现在一般都是指ArcGIS Desktop版本的组件开发集,即需要安装ArcGIS桌面版软件后才能安装这些组件开发集,它是所有版本中组件最全的版本,如果想对ArcGIS产品及其开发有个详尽的了解,学习ArcObject是最恰当的。ArcObject版本包括了所有的类库,其中包括ArcMap、ArcMapUI、ArcCatalog、ArcCatalogUI等组件库,这些组件库必须在安装了桌面版软件后才能使用。、 由于使用ArcObject开发的程序必须安装桌面版软件,这使得它的开发成本大大增加。处于产品策略上的考虑,ESRI将ArcObject中的某些组件集单独封装出来,起名为ArcGIS Engine,使用ArcGIS Engine开发的软件需要在一个RUNTIME下运行,而不需要安装ArcGIS软件。 因此,ArcGIS Engine只是ArcObject的一个子集,使用ArcGIS Engine开发的软件,在ArcObject环境中使用没有问题,但是ArcObject开发的程序,如果使用的组件库不被包含在ArcGIS Engine中,就无法使用,比如IIdentifyDialog对象,就是只有在ArcObject中才能使用。除此以外,ArcObject版本的控件只有MapControl和PageLayoutControl两个,而ArcGIS Engine的控件就丰富的多。
出处:http://blog.sina.com.cn/s/blog_4b5829930100d1bo.html
在ArcGIS 9系列产品中,ArcGIS Desktop、ArcGIS Engine和ArcGIS Server都是基于核心组件库ArcObjects搭建。 ArcObjects组件库有3000多个对象可供开发人员调用,为开发人员集成了大量的GIS功能,可以快速的帮助开发人员进行GIS项目的开发。由于ArcGIS Desktop、ArcGIS Engine和ArcGIS Server三个产品都是基于ArcObjects搭建的应用,那么对于开发人员来说ArcObjects的开发经验在这三个产品中是通用的。开发人员可以通过ArcObjects来扩展ArcGIS Desktop,定制ArcGIS Engine应用,使用ArcGIS Server实现企业级的GIS应用。ArcGIS可以在多种编程环境中进行开发,其中包括:C++、支持COM的编程语言、.NET、Java等。 ArcGIS Desktop的开发包(SDK)包含在ArcView、ArcEditor和ArcInfo中,支持COM和.NET开发。用户可以应用ArcGIS Desktop SDK来扩展ArcGIS Desktop的功能,例如添加一些新的工具,定制用户界面,增加新的扩展模块等。 ArcGIS Server实现了一套标准的Web GIS服务(例如:制图,访问数据,地理编码等),支持企业级应用。ArcGIS Server SDK使得开发人员可以建立集中式的GIS服务器来实现GIS功能,发布基于Web的GIS应用,执行分布式GIS运算等。 2004年,美国ESRI发布ArcGIS Engine,ArcGIS Engine开发包提供了一系列可以在ArcGIS Desktop框架之外使用的GIS组件,ArcGIS Engine的出现对于需要使用ArcObjects的开发人员来说是个福音,因为ArcGIS Engine发布之前,基于ArcObjects的开发只能在庞大的ArcGIS Desktop框架下进行。 ArcObjects与ArcEngine的联系与区别 联系:1.ArcEngine包括核心ArcObjects的功能,是对AO中的大部分接口、类等进行封装所构成的嵌入式组件。2.AE中的组件接口、方法、属性与AO是相同的。 区别:1.开发环境:ArcObjects必须依赖ArcGIS Desktop桌面平台,即购买安装了ArcGIS Desktop的同时,安装ArcObjects,才能利用AO进行开发;ArcEngine是独立的嵌入式组件,不依赖ArcGIS Desktop桌面平台,直接安装ArcEngine Runtime和Developer Kit后,即可利用其在不同开发语言环境下开发。2.功能:AO的功能更强大,AE的功能相对弱些,AE不具备AO的少部分功能。 ArcEngine具有简洁、灵活、易用、可移植性强等的特点。 出处:http://mxf-gis./logs/29653266.html |
|