在ArcGIS系列产品中,ArcGIS Desktop、ArcGIS Engine和ArcGIS Server都是基于核心组件库ArcObjects搭建的。

所谓ArcObjects,现在一般都是指ArcGIS Desktop版本的组件开发集,即需要安装ArcGIS桌面版软件后才能安装这些组件开发集,它是所有版本中组件最全的版本,如果想对ArcGIS产品及其开发有个详尽的了解,学习ArcObject是最恰当的。

ArcObjects组件库包括了所有的类库,其中包括ArcMap、ArcMapUI、ArcCatalog、ArcCatalogUI等组件库,这些组件库必须在安装了桌面版软件后才能使用。组件库有3000多个对象可供开发人员调用,为开发人员集成了大量的GIS功能,可以快速的帮助开发人员进行GIS项目的开发。由于ArcGIS Desktop、ArcGIS Engine和ArcGIS Server三个产品都是基于ArcObjects搭建的应用,那么对于开发人员来说ArcObjects的开发经验在这三个产品中是通用的。开发人员可以通过ArcObjects来扩展ArcGIS Desktop,定制ArcGIS Engine应用,使用ArcGIS Server实现企业级的GIS应用。ArcGIS可以在多种编程环境中进行开发,其中包括:C++、支持COM的编程语言、.NET、Java


ArcObjects二次开发

(1)ArcGIS Desktop SDK(Software Development Kit,即软件开发工具包)(即ArcObjects)
ArcGIS Desktop SDK包含在ArcView、ArcEditor和ArcInfo中,支持COM和.NET开发。用户可以应用ArcGIS Desktop SDK来扩展ArcGIS Desktop的功能,例如添加一些新的工具,定制用户界面,增加新的扩展模块等。
(2)ArcGIS Server SDK
ArcGIS Server实现了一套标准的Web GIS服务(例如:制图,访问数据,地理编码等),支持企业级应用。ArcGIS Server SDK使得开发人员可以建立集中式的GIS服务器来实现GIS功能,发布基于Web的GIS应用,执行分布式GIS运算等。
(3)ArcGIS Engine
2004年,美国ESRI发布ArcGIS Engine,ArcGIS Engine开发包提供了一系列可以在ArcGIS Desktop框架之外使用的GIS组件,ArcGIS Engine的出现对于需要使用ArcObjects的开发人员来说是个福音,因为ArcGIS Engine发布之前,基于ArcObjects的开发只能在庞大的ArcGIS Desktop框架下进行。
ArcGIS Engine 是对ArcObjects的再封装,有两种产品:

  • ArcGIS Engine SDK—包括开发者建立解决方案所需的组件和工具集。【开发环境安装】
  • ArcGIS Engine Runtime—运行定制的ArcGIS Engine应用程序所需的基础设施。【运行环境客户机安装】
  • 【注:大约ArcGIS10.1及以后版本(待落实),runtime不再单独列出,合成为engine】

由于使用ArcObjects开发的程序必须安装桌面版软件,这使得它的开发成本大大增加。处于产品策略上的考虑,ESRI将ArcObjects中的某些组件集单独封装出来,起名为ArcGIS Engine,使用ArcGIS Engine开发的软件需要在一个Runtime下运行,而不需要安装ArcGIS软件。
因此,ArcGIS Engine只是ArcObjects的一个子集,使用ArcGIS Engine开发的软件,在ArcObjects环境中使用没有问题,但是ArcObjects开发的程序,如果使用的组件库不被包含在ArcGIS Engine中,就无法使用,比如IIdentifyDialog对象,就是只有在ArcObjects中才能使用。除此以外,ArcObjects版本的控件只有MapControl和PageLayoutControl两个,而ArcGIS Engine的控件就丰富的多。

【这句话的意思是ArcObject并没有完全包含ArcEngine吗?】

参考:http://www.cnblogs.com/GISmanWJ/archive/2006/10/10/525184.html

参考:http://blog.csdn.net/foreverling/article/details/33740367

【转】ArcObject与ArcEngine的联系与区别的更多相关文章

  1. ArcObjects与ArcEngine的联系与区别

    ArcObjects与ArcEngine的联系与区别 AO一般指的是桌面产品开发组件,需要在桌面环境中才能够使用,最典型的就是嵌入式VBA开发.但是这样带来的弊端和OFFICE等相关软件一样明显,就是 ...

  2. arcengine 开发经典帖

    http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=25575&page=1&extra= 使用ArcGIS Engine 开发自定义 ...

  3. arcengine 开发经典帖 【强烈推荐仔细研读】

    转自原文 arcengine 开发经典帖 使用ArcGIS Engine 开发自定义GIS应用: 第一部分:使用ArcGIS Engine 发布自定义GIS应用软件-全面了解ArcGIS Engine ...

  4. 浅谈MapControl控件和PageLayoutControl控件

    1.MapControl控件是ArcObject(ArcEngine)中使用非常普遍的一个控件,它对应ArcMap中的DataView视图.MapControl控件实现的功能: 1)管理控件的外观.显 ...

  5. C#读写Shapefile

    Shapefile文件是ArcGIS存储矢量要素的标准格式,要读写Shapefile最简单的方法当然是基于ArcObject(或者ArcEngine)开发,不过网上也有一些开源的解译Shapefile ...

  6. ArcEngine开发中StartEditing和StartEditOperation的区别

    背景: 最近在开发一个管道数据维护系统的新增模块,牵涉到将这个模块的数据编辑统一到整个系统的编辑处理框架内的问题:即这个系统的所有对数据产生的编辑都需要处在整个系统唯一的开始.保存.回滚编辑的入口内. ...

  7. AE与AO的区别

    在ArcGis9.0之前,ArcObject还不是一个独立的产品,一直捆绑在Desktop产品中,只要你购买了desktop产品中的一个,你就可 以使用arcboject开发.从ArcGis9.0开始 ...

  8. 在VisualStudio2012环境下安装ArcEngine 10.0

    因为ArcEngine10.0默认对应的开发工具为VS2010,在安装了VS2012的情况下安装ArcEngine10.0(注意:我自己的环境为VS2012和ArcEngine10.0,对于其他版本在 ...

  9. ArcEngine C++ 10 程序的运行环境,ArcEngine RT的授权

    以前我一直以为 必须安装 Arcgis Desktop才可以授权,发现我错了,原来是这个样子的. 一.安装License manager,并授权许可server.txt 当然这个license也可以安 ...

随机推荐

  1. Java进程Runtime、Process、ProcessBuilder调用外部程序

    原文地址:https://blog.csdn.net/c315838651/article/details/72085739 通过Java执行系统命令,与cmd中或者终端上一样执行shell命令,最典 ...

  2. pymongo中使用聚合查询

    在使用mongo数据库时,简单的查询基本上可以满足大多数的业务场景,但是试想一下,如果要统计某一荐在指定的数据中出现了多少次该怎么查询呢?笨的方法是使用find 将数据查询出来,再使用count() ...

  3. Java随机访问文件

    使用随机访问文件,我们可以从文件读取以及写入文件.使用文件输入和输出流的读取和写入是顺序过程.使用随机访问文件,可以在文件中的任何位置读取或写入.RandomAccessFile类的一个对象可以进行随 ...

  4. js图片放大境效果

    放大境效果如下图所示,当鼠标放到小图时,就会出现浅黄色的小块,而右边方框也出现了,并且右边方框的内容时根据浅黄色小块的内容变换而变换: 原理: 1,准备2张图,一大一小,如上图所示,小图的盒子div1 ...

  5. 【Codeforces】450 B(div2)

    题目链接:http://codeforces.com/problemset/problem/450/B 题意: 求这个的第n项. 题解:$f_{i+1} = f_i - f_{i-1} $ \begi ...

  6. 项目中UX设计1到2的设计提升总结

  7. 2019-3-1-win10-uwp-在-VisualStudio-部署失败,找不到-Windows-Phone-可能的原因

    title author date CreateTime categories win10 uwp 在 VisualStudio 部署失败,找不到 Windows Phone 可能的原因 lindex ...

  8. usermod -修改使用者帐号

    总览 SYNOPSIS usermod [-c comment] [-d home_dir [-m]] [-e expire_date] [-f inactive_time] [-g initial_ ...

  9. eclipse打包jar及第三方jar包一起导出(生成SDK)

    一.前言: 因公司需求,需要将某个工具类供外部使用,所以需要生成jar文件.但是jar内还包含了第三方的jar,普通的打包方式无法将lib下的第三方jar包提取. 这将会导致工具jar无法运行,或Ex ...

  10. 2变量与基本类型之const限定符

    一.const介绍: const对象一旦被创建其值就不能再改变,所以const对象必须初始化.任何试图对const赋值的行为都会引发错误. 二.初始化和const: 对const对象的主要限制就是只能 ...