ArcGIS Runtime SDK是什么?

如上图,Runtime SDK是什么东西?居然还有安卓、苹果手机、Mac、QT的版本?
是不是意味着ArcGIS的编辑数据和空间分析可以通过编程的方法在每个平台上满地跑了?
答案是:是,也不是。
1. 与AO/AE的区别
AO是ArcGIS Desktop和ArcGIS Server的底层技术,有C++、Java、.NET三种实现方式。
AO包装一层,就是AE,其绝大部分语法是与AO兼容的。
只要你能力足够,使用AO可以完全再造一款ArcGIS Desktop软件出来,当然也可以造一款ArcGIS Server;
也就是说有了AO/AE,可以定制出一款从数据编辑、空间分析、制图输出、数据管理都能做的很好的二次开发软件。
1.1 Runtime SDK
早期用户可能听说过ArcGIS Engine Runtime等一系列乱七八糟的“Runtime”,这里不废话,以免混淆。
为了完成在各种平台(Linux、iOS、安卓、Windows、Mac)上进行数据的显示和简单的数据统计、简单的空间分析,但是数据源(地图数据、矢量栅格数据)并不存在于本机,而在远程服务器端(通常是服务器电脑上的ArcGIS Server、ArcGIS Portal、Datastore等),进行的空间分析也不是在本机进行的,仅仅作为远程服务器进行的GP(地理处理,GeoProcess,ArcGIS Server的一个功能,十分强大)的运行结果的显示,就有了Runtime SDK。
画图所示:

Runtime SDK就是为了创造各个平台上的这种客户端而存在的一套开发包。
其中,QT的特点使得在Linux/Windows都可以跑Runtime SDK.
1.2 与B/S架构的ArcGIS API for JavaScript的区别
这个更像C/S架构,Runtime SDK的API帮助文档、类结构与Js 4.x API的API极其相似,在不同的编程语言上有所区别而已。
例如,Js API用Task完成浏览器端处理GP服务的请求、接收远程GP服务生成的结果;
Runtime SDK也能找到类似的Task类。
因为Js 4.x API在4.5中已经出现了数据编辑的工具,这就意味着Runtime SDK早就应该具备了简单的数据编辑工作。
但是,与ArcMap和ArcGIS Pro的“工作站”式编辑工具还是有很大差距的,例如不能完成字段的批量计算、不能完成拓扑、不能方便数据导入导出等,只能简单的画点画线画面。
1.3 Runtime SDK产出
开发生成的应用程序是绿色的,不需要依赖庞大的运行库,也不需要安装ArcGIS套件,直接双击就能使用。
随之会产生一些dll(Windows下),随着exe一起携带即可。
Linux、Mac、安卓、iOS表示不清楚~有兴趣的同学可以自行了解。
2. 个人猜想
Runtime SDK全线都更新到了100.x这个版本,旗帜鲜明的与ArcGIS Pro对接,也就是说大数据、多线程、3DGIS的加入。
显然,Runtime SDK就是为了解决AO/AE中数据显示/简单分析的功能而出现的,因为让只需要查看数据、地理数据统计、轻量分析的用户去购买AE是不划算的,Esri考虑到了这一点,将繁重的数据编辑、数据管理、空间分析过程集中到了新的ArcGIS Pro平台上,使用Datastore、Portal进行发布和管理云端数据,再使用Runtime SDK编写轻量化的客户端进行访问,这符合实际的需求。如下图:

当然,为了方便拓展ArcGIS Pro,已经有了帮助开发ArcGIS Pro插件的SDK。
ArcGIS Runtime SDK是什么?的更多相关文章
- ArcGIS Runtime SDK for Android 10.2.5新开发平台安装配置指南
ArcGIS Runtime SDK for Android 10.2.5版本在年前发布,其中一个重大的变化是:新版本使用了新的开发环境,在10.2.5版本中Esri使用了官方提供的新的Android ...
- 安装 ArcGIS Runtime SDK for Android
ArcGIS for Android 开发:Android 平台搭建 - liyong20080101的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liyong ...
- ArcGIS Runtime SDK for WPF已不更新,后续将被ArcGIS Runtime SDK for .NET取代
ArcGIS Runtime SDK 10.2.5 for WPF is now available! by mbranscomb and Rex Hansen on January 27, 2015 ...
- 点聚合功能---基于ARCGIS RUNTIME SDK FOR ANDROID
一直不更新博客的原因,如果一定要找一个,那就是忙,或者说懒癌犯了. 基于ArcGIS RunTime SDK for Android的点聚合功能,本来是我之前做过的一个系统里面的一个小部分,今天抽出一 ...
- ArcGIS RunTime SDK for Android之Features and graphics
今天是我开通博客园的第一天,希望以后可以多在博客园上分享自己的学习心得,记录自己的学习历程.最近在学习ArcGIS RunTime SDK for Android,所以第一篇随笔就从这里来吧.官网的教 ...
- ArcGIS Runtime SDK for iOS开发地图图层-图形图层
注:本文翻译自:https://developers.arcgis.com/ios/objective-c/guide/creating-a-graphics-layer.htm 创建图 ...
- ArcGIS Runtime SDK for iOS之符号和渲染
符号定义了图形外观的非地理方面.它包括了图形的颜色.线宽.透明度等等.ArcGIS Runtime SDK for iOS包含了许多符号类,其中的每个类可以让你以独特的方式指定符号.每个符号的类型也是 ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境
1.前言 2015年1月15日,发布ArcGIS Runtime SDK for Android v10.2.5版本.从该版本开始默认支持android studio开发环境,示例代码的默认开发环境也 ...
- ArcGIS Runtime SDK for Android 授权(arcgis android 去除水印)
ArcGIS Runtime SDK for Android 授权 ESRI中国北京 要下载和安装 ArcGIS Runtime SDK for Android,您需要注册开发者账户,进而便拥有了访问 ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(5)、基于Android Studio构建ArcGIS Android开发环境(离线部署)(转)
1.前言 在上一篇的内容里我们介绍了基于Android Studio构建ArcGIS Runtime SDK for Android开发环境的基本流程,流程中我们采用的是基于Gradle的构建方式,在 ...
随机推荐
- CM5(5.11.0)和CDH5(5.11.0)离线安装
概述 文件下载 系统环境搭建 日志查看 Q&A 参考 概述 CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支 ...
- 基于Flink秒级计算时CPU监控图表数据中断问题
基于Flink进行秒级计算时,发现监控图表中CPU有数据中断现象,通过一段时间的跟踪定位,该问题目前已得到有效解决,以下是解决思路: 一.问题现象 以SQL02为例,发现本来10秒一 ...
- [阿里云部署] Ubuntu+Flask+Nginx+uWSGI+Mysql搭建阿里云Web服务器
部署地址:123.56.7.181 Ubuntu+Flask+Nginx+uWSGI+Mysql搭建阿里云Web服务器 这个标题就比之前的"ECS服务器配置Web环境的全过程及参考资料&qu ...
- Model中设置表单验证方法
Model类里面定义$_validate属性支持的验证因子格式: 格式:array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间). 验证条件: (1)Model::EXISTS_TO_ ...
- 如何使用python将MySQL中的查询结果导出为Excel----xlwt的使用
如何在MySQL中执行的一条查询语句结果导出为Excel? 一.可选方法 1.使用sql yog等远程登录,执行查询语句并导出结果集为Excel 适用于较简单的查询结果集的导出 如果需要多个SQL语句 ...
- 独家分析:安卓“Janus”漏洞的产生原理及利用过程
近日,Google在12月发布的安卓系统安全公告中披露了一个名为"Janus"安卓漏洞(漏洞编号:CVE-2017-13156).该漏洞可以让攻击者绕过安卓系统的signature ...
- JavaScript学习总结(一)——ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
一.JavaScript简介 JavaScript是一种解释执行的脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型,它遵循ECMAScript标准.它的解释器被称为JavaScript引 ...
- mysql复习秘籍
mysql复习 一:复习前的准备 1:确认你已安装wamp 2:确认你已安装ecshop,并且ecshop的数据库名为shop 二 基础知识: 1.数据库的连接 mysql -u -p -h -u 用 ...
- C++ IO操作API及注意事项(包含一个日志类的实现)
C++是一个抽象程度比C高很多的语言,在使用C++时,编译器做了很多工作,如果我们不对C++的某些特性的实现机制进行了解,那么编程时也许会有很多疑惑,我们也许知道怎样做才是正确的,但不知道为什么要这样 ...
- HTML5标签总结笔记
HTML5标签笔记 1.格式标签 元素名和属性一般不区分大小写,特殊的如id和class需要区分 格式标签: <acronym> 定义只取首字母的标签 <abbr>定义缩写 & ...