查看: 2433|回复: 0

[IOS开发教程] ArcGIS Runtime SDK是什么?

发表于 2018-1-12 08:00:00

如上图,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。



回复

使用道具 举报