ArcObjects与ArcEngine的联系与区别

ArcObjects与ArcEngine的联系与区别

AO一般指的是桌面产品开发组件,需要在桌面环境中才能够使用,最典型的就是嵌入式VBA开发。但是这样带来的弊端和OFFICE等相关软件一样明显,就是软件成本高,需要用户购买整套桌面版的产品才能进行二次开发。

AE是ESRI推出的单独的开发包,和JAVASDK的角色相同,开发好应用程序后,部署在安装了AERUNTIME(和JRE类似)的环境中即可,用户不需再购买新的桌面版产品,AE不但提供了更多控件与更灵活的开发方式,还为用户节省了成本,使用起来更加灵活。

如果从功能方便考虑,AO强于AE,但AE已经能够满足大多数应用的需要。不管ARCGISDESKTOP还是AE,都是以AO为基础的,差别只是AE是中等粒度到大粒度的组件开发包。

----------------------------------------------------------------------------------

ArcObjects与ArcEngine的联系与区别
  联系:1.ArcEngine包括核心ArcObjects的功能,是对AO中的大部分接口、类等进行封装所构成的嵌入式组件。2.AE中的组件接口、方法、属性与AO是相同的。
  区别:1.开发环境:ArcObjects必须依赖ArcGIS Desktop桌面平台,即购买安装了ArcGISDesktop的同时,安装ArcObjects,才能利用AO进行开发;ArcEngine是独立的嵌入式组件,不依赖ArcGISDesktop桌面平台,直接安装ArcEngine Runtime和DeveloperKit后,即可利用其在不同开发语言环境下开发。2.功能:AO的功能更强大,AE的功能相对弱些,AE不具备AO的少部分功能。
  ArcEngine具有简洁、灵活、易用、可移植性强等的特点。

时间: 2024-10-29 19:11:22

ArcObjects与ArcEngine的联系与区别的相关文章

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

转自原文 arcengine 开发经典帖 使用ArcGIS Engine 开发自定义GIS应用: 第一部分:使用ArcGIS Engine 发布自定义GIS应用软件-全面了解ArcGIS Engine的产品. 第二部分:ArcEngine9.2的新特性及变化.(续)--类对比及变化.(续)--(代码转换插件).(续)--ArcEngine新命令,工具.菜单和面板 第三部分:使用 ArcGIS Engine开发应用程序(自定义或嵌入) 第四部分:开发Engine 应用程序的基本原理.(续).(续)

AE与AO的区别

在ArcGis9.0之前,ArcObject还不是一个独立的产品,一直捆绑在Desktop产品中,只要你购买了desktop产品中的一个,你就可 以使用arcboject开发.从ArcGis9.0开始,ESRI公司推出了ArcGis Engine它使得ArcObject可以作为独立的产品使用.如果你所以开发一个让其他用户使用的产品,只需要购买ArcGis Engine开发就行.ArcGis Engine包括ArcGis Runtime和ArcObject sdk(for   dotnet.vb.

Arcengine 二次开发添加右键菜单

最近在搞arcengine 二次开发,遇到了好多问题,也通过网上查资料试着慢慢解决了,把解决的步骤记录下来,有需要帮助的可以看一下,也欢迎各位来批评指正. 想给自己的map application在图层上添加右键菜单,谷歌了一下,找到了解决的方法,原文的地址edndoc.esri.com/arcobjects/9.2/NET/1ED14BF2-A0E3-4e56-A70D-B9A7F7EC7880.htm.然后我根据这个添加了自己的右键菜单,又有一些改动. 效果如图所示(有点简陋),仅仅是简单的

c# 调用ArcEngine的GP工具

转自原文c# 调用ArcEngine的GP工具,AE调用GP工具 IAoInitialize m_AoInitialize = new AoInitializeClass(); esriLicenseStatuslicenseStatus = esriLicenseStatus.esriLicenseUnavailable; licenseStatus = m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCod

利用ICommand和ITool重写Arcengine中控件的事件

Arcengine窗体开发中,不同命令或者工具可能会触发同一控件的同一事件,这样会造成该事件中代码的混乱.以主窗体的AxMapcontrol控件为例,当开始画图时因为有很多种类型的Feature,所以在AxMapcontrol控件的OnMouseDown.OnMouseMove.OnMouseUp等事件中都需要作相应的处理. 最简单的方法时利用if语句在各事件中做状态判断,来执行相应的语句.但是当你的程序达到一定规模的时候,你的这些事件中的代码将变的非常庞大,严重影响代码的可读性和可维护性,如图

ArcEngine 一些实现代码

[030]?? ArcEngine 一些实现代码 ---------------------------------------------------------------------------------------------------------原文链接:http://www.cnblogs.com/alex-bn-lee/archive/2012/04/08/2437358.html ●·● 目录: A1 ………… 实现:鼠标滑过显示要素 tipA2 ………… 实现:通过鼠标选择

在VisualStudio2012环境下安装ArcEngine 10.0

因为ArcEngine10.0默认对应的开发工具为VS2010,在安装了VS2012的情况下安装ArcEngine10.0(注意:我自己的环境为VS2012和ArcEngine10.0,对于其他版本在理论上同样可行,有兴趣的可以试一下),会出现如下图所示的提示,ArcObject SDK for the Microsoft .NET Framework requires a supported editon of Microsoft Visual Studio 2010... 如果我们安装的是低

【ArcGIS】安装ArcEngine 10的顺序

Step1.安装VS 2010Step2.安装ArcGIS Desktop(不可跳过这步),如果直接安装ArcEngine,将出现如下错误提示因此必须首先安装ArcGIS Desktop或者ArcGIS Server A. 安装License Manager  B. 将破解用的service.txt覆盖c:\program files\arcgis\license10.0\bin下的同名文件,并且修改第一行信息SERVER *** ANY 27000 ---**为本机名  C.安装ArcInfo

ArcEngine打开本地数据库

先看一下GeoDatabase核心结构模型图: 1  工作空间工厂WorkspaceFactory对象 WorkspaceFactory是GeoDatabase的入口,是一个抽象类,拥有很多子类,例如SdeWorkspaceFactory, AccessWorkspaceFactory, ShapfileWorkspaceFactory  CadWorkspaceFactory等 IWorkspaceFactory接口定义了所有工作空间对象的一般属性和方法    public IWorkspac