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、C++、java)。这样你就不需要购买昂贵的desktop去开发。
经常听到AO(ArcObject)开发与AE(ArcGis Engine)开发,本质没什么不同的,都在使用ArcObject。AE使用ArcGis Runtime这个运行时来运行程序,AO则需要desktop产品支持。AE几乎包含所有的ArcGis的组件,能够嵌入其他程序,开发自己的程序。所 以,AO开发的程序必须安装desktop才能运行,而AE开发的只需要安装运行时ArcGis Runtime,这两个价格相差是很大的。
所以不要认为AE开发不需要ArcObject。

AE全称为ArcEngine,是用于嵌入式开发的组件类库,或叫开发包,可以供使用者在现有的MS系统中嵌入地图服务等功能。AE从类库或是从体系架构上来说,是AO的子集,其功能没有AO那么强大,但凡是在ArcGIS Desktop中能实现的功能,用AE开发基本都能实现。
和AE开发很相像,因为AE是AO的子集的缘故,但由于AE的定位是开发包,因此比AO少了很多UI的东西,就是少了许多图形界面的工具及对话框,不过功能不差,开发人员需根据自己需要利用AE进行“组装”。这是在开发方法和功能方面,在最终程序的部署过程中由于所需要的运行环境不同,因此需要在运行你程序的机器上安装ArcGIS Desktop(提供AO环境)或是ArcEngine
RunTime,由于这两者的价格相差甚远,因此大家都会选用AE做开发,说白了AE开发出来的程序可以脱离ArcGIS平台环境。
由于使用AO开发的程序必须安装桌面版软件,这使得它的开发成本大大增加。出于产品策略上的考虑,ESRI将AO中的某些组件集单独封装出来,起名为AE,使用AE开发的软件需要在一个RUNTIME下运行,而不需要安装ArcGIS软件。
因此,将AO和AE二者区别与联系总结如下:
Python是阿姆斯特丹国家数学和计算机科学研究所Guido Van Rossum于1991年第一次公开发行的一门脚本语言,它集成了诸多语言的特性,如ABC,Molula等等。是一门动态脚本语言。
2、做ArcGIS开发上的一些区别和联系
VBA:ArcGIS
Desktop产品内嵌了一套VBA环境,可通过Tools->Macors->Visual Basic
Editor菜单进入,进入VBA环境后,会发现和VB的IDE环境基本相同。基于VBA,用户可以对ArcGIS
Desktop产品进行定制,如:菜单加载些什么选项等等,最重要的是可以基于VBA运用AO开发自己关心而ArcGIS所没有提供的功能,由于此VBA
属ArcGIS自身内嵌,所以开发是基于AO进行的。
Python:是ArcGIS
9后被包含在桌面产品的安装包中,9.2之前,大家多用Python语言来写批处理,而9.2之后为ArcToolBox中的每个工具都提供了Batch
功能,不用大家在自己写脚本来做批处理工作了。利用Python可以很好的调用GP(Geoprocesing)工具及Model
builder创建的Model,关于Python开发,很好的例子是ArcToolBox中的带有文件表示的工具,可以鼠标右键打开,查看源码,因为这
些工具都是用Python写的。
关于VBA开发和Python的写法,帮助中都会有,不过对于定制开发而言,多会首选ArcGIS内嵌的VBA。
AE与AO的区别的更多相关文章
- 再记AE与AO的区别与联系
原文地址:转:ArcObjects与ArcEngine作者:梦游 ArcObjects(简称AO),一般都是指ArcGIS Desktop版本的组件开发集,即需要安装ArcGIS桌面版软件后才能安 ...
- J2EE(java)后台调用ArcGIS Engine(AE)的部署和代码
arcgis的BS开发解决方案一直是个坑,主推的地图服务查询速度慢,需要异步,功能少.相对来说主要用于CS的AE功能更强大全面,只是部署有点复杂 本文软件环境: win7 sp1 64位 MyEcli ...
- C#控制台下的AO程序
好几年没写过控制台程序了(上一次是大二时写坐标转换时用过),因为我觉得用户难以接受没有良好操作界面的应用程序,我不想偷懒,今天来将应用程序改写为控制台程序,记录一下,忘记的内容: 1.数据的交互 不管 ...
- Sharepoint 高级筛选
先看看效果吧.............. 默认情况下:不做任何筛选. 添加一个筛选条件: 条件:如果是int类型那么可以有> < = 等 如果是string的话那么就没有这么多条件,当然这 ...
- js实现省市区联动
先来看看效果图吧,嘻嘻~~~~~~~~~~~~~~~~~~~· 代码在下面: 示例一: html: <!DOCTYPE html> <html> <head> &l ...
- ArcEngine9.3迁移至ArcObject10.1
以前写的程序,现在看起来真是相当的青涩,当时写的东西是显得多么地无知啊,很多应该写成一个类,有些需要优化,需要多线程,代码需要加密--总一种想修改的冲动.但这也需要时间和精力.下面准备将原来的程序进行 ...
- select2插件改造之设置自定义选项 源码
改造特性: 适应业务需要,选项里面包含“其他”其它”,可以点击填写并设置自定义选项 效果图: 具体代码不做阐述,如有类似需求,请私信.主要源码: /* Copyright 2012 Igor Vayn ...
- Python实现WEB QQ 登录与消息发送(第一版本 2015.06.26)
WEB QQ的登录步骤与协议,需要的度娘下,很多. 转载说明来源:http://www.cnblogs.com/ryhan/p/4602762.html 我这实现是参考了度娘搜的 和自己抓包分析的. ...
- (转)用Lottie制作动画,我的月薪翻了一番!!
Lottie是Airbnb发布的开源动画库. 帮助动效落地.学会使用Lottie,会极大地提高工作效率. Lottie是一种新的开发动画的方式. 学会使用Lottie,会极大改善你和开发小哥哥撕逼的情 ...
随机推荐
- 2013山东省ICPC结题报告
A.Rescue The Princess 已知一个等边三角形的两个顶点A.B,求第三个顶点C,A.B.C成逆时针方向. 常规的解题思路就是用已知的两个点列出x,y方程,但这样求出方程的解的表达式比较 ...
- javascript-权威指南读书笔记(1)
<script type="text/javascript"> //数组与object的关系 var obj = { name: "刘建伟", Ag ...
- POJ1573Robot Motion
http://poj.org/problem?id=1573 #include<stdio.h> #include<stdlib.h> #include<cstring& ...
- VS2010彻底卸载
下载Microsoft Visual Studio 2010 Uninstall Utility来移除,默认情况下,这将删除 Visual Studio 和支持组件,但不会删除与计算机上的其他应用程序 ...
- Lambda Action Func练习
namespace lambda { delegate void TestDelegate(string s); class Program { static void Main(string[] a ...
- Java多线程3:Thread中start()和run()的区别
原文:http://www.cnblogs.com/skywang12345/p/3479083.html start() 和 run()的区别说明start():它的作用是启动一个新线程,新线程会执 ...
- SQL Server数据库多种方式查找重复记录
摘要:SQL Server是一个关系数据库管理系统,SQL Server数据库的应用是很多的,SQL Server数据库赢得了广大用户的青睐,本文将主要为大家介绍关于SQL Server数据库中查找重 ...
- 机器学习 —— 概率图模型(Homework: MCMC)
除了精确推理之外,我们还有非精确推理的手段来对概率图单个变量的分布进行求解.在很多情况下,概率图无法简化成团树,或者简化成团树后单个团中随机变量数目较多,会导致团树标定的效率低下.以图像分割为例,如果 ...
- 非常实用的PHP代码片段推荐
当使用PHP进行开发的时候,如果你自己收 藏 了一些非常有用的方法或者代码片段,那么将会给你的开发工作带来极大的便利.今天我们将介绍10个超级好用的PHP代码片段,希望大家能够喜欢! 1. 使用te ...
- 演练:Office 编程(C# 和 Visual Basic)
https://msdn.microsoft.com/zh-cn/library/ee342218(v=vs.110).aspx PIA的全称是 primary interop assembly 主 ...