如上图,Runtime SDK 是什么东西?居然还有安卓、苹果手机、Mac、QT 的版本?
是不是意味着 ArcGIS 的编辑数据和空间分析可以通过编程的方法在每个平台上满地跑了?
答案是:是,也不是。
AO 是 ArcGIS Desktop 和 ArcGIS Server 的底层技术,有 C++、Java、.NET 三种实现方式。
AO 包装一层,就是 AE,其绝大部分语法是与 AO 兼容的。
只要你能力足够,使用 AO 可以完全再造一款 ArcGIS Desktop 软件出来,当然也可以造一款 ArcGIS Server;
也就是说有了 AO/AE,可以定制出一款从数据编辑、空间分析、制图输出、数据管理都能做的很好的二次开发软件。
早期用户可能听说过 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.
这个更像 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 的 "工作站" 式编辑工具还是有很大差距的,例如不能完成字段的批量计算、不能完成拓扑、不能方便数据导入导出等,只能简单的画点画线画面。
开发生成的应用程序是绿色的,不需要依赖庞大的运行库,也不需要安装 ArcGIS 套件,直接双击就能使用。
随之会产生一些 dll(Windows 下),随着 exe 一起携带即可。
Linux、Mac、安卓、iOS 表示不清楚~ 有兴趣的同学可以自行了解。
Runtime SDK 全线都更新到了 100.x 这个版本,旗帜鲜明的与 ArcGIS Pro 对接,也就是说大数据、多线程、3DGIS 的加入。
显然,Runtime SDK 就是为了解决 AO/AE 中数据显示 / 简单分析的功能而出现的,因为让只需要查看数据、地理数据统计、轻量分析的用户去购买 AE 是不划算的,Esri 考虑到了这一点,将繁重的数据编辑、数据管理、空间分析过程集中到了新的 ArcGIS Pro 平台上,使用 Datastore、Portal 进行发布和管理云端数据,再使用 Runtime SDK 编写轻量化的客户端进行访问,这符合实际的需求。如下图:
当然,为了方便拓展 ArcGIS Pro,已经有了帮助开发 ArcGIS Pro 插件的 SDK。
来源: https://www.cnblogs.com/onsummer/p/8169266.html