如上图,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是什么?的更多相关文章

  1. ArcGIS Runtime SDK for Android 10.2.5新开发平台安装配置指南

    ArcGIS Runtime SDK for Android 10.2.5版本在年前发布,其中一个重大的变化是:新版本使用了新的开发环境,在10.2.5版本中Esri使用了官方提供的新的Android ...

  2. 安装 ArcGIS Runtime SDK for Android

    ArcGIS for Android 开发:Android 平台搭建 - liyong20080101的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liyong ...

  3. 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 ...

  4. 点聚合功能---基于ARCGIS RUNTIME SDK FOR ANDROID

    一直不更新博客的原因,如果一定要找一个,那就是忙,或者说懒癌犯了. 基于ArcGIS RunTime SDK for Android的点聚合功能,本来是我之前做过的一个系统里面的一个小部分,今天抽出一 ...

  5. ArcGIS RunTime SDK for Android之Features and graphics

    今天是我开通博客园的第一天,希望以后可以多在博客园上分享自己的学习心得,记录自己的学习历程.最近在学习ArcGIS RunTime SDK for Android,所以第一篇随笔就从这里来吧.官网的教 ...

  6. ArcGIS Runtime SDK for iOS开发地图图层-图形图层

    注:本文翻译自:https://developers.arcgis.com/ios/objective-c/guide/creating-a-graphics-layer.htm        创建图 ...

  7. ArcGIS Runtime SDK for iOS之符号和渲染

    符号定义了图形外观的非地理方面.它包括了图形的颜色.线宽.透明度等等.ArcGIS Runtime SDK for iOS包含了许多符号类,其中的每个类可以让你以独特的方式指定符号.每个符号的类型也是 ...

  8. 《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境

    1.前言 2015年1月15日,发布ArcGIS Runtime SDK for Android v10.2.5版本.从该版本开始默认支持android studio开发环境,示例代码的默认开发环境也 ...

  9. ArcGIS Runtime SDK for Android 授权(arcgis android 去除水印)

    ArcGIS Runtime SDK for Android 授权 ESRI中国北京 要下载和安装 ArcGIS Runtime SDK for Android,您需要注册开发者账户,进而便拥有了访问 ...

  10. 《ArcGIS Runtime SDK for Android开发笔记》——(5)、基于Android Studio构建ArcGIS Android开发环境(离线部署)(转)

    1.前言 在上一篇的内容里我们介绍了基于Android Studio构建ArcGIS Runtime SDK for Android开发环境的基本流程,流程中我们采用的是基于Gradle的构建方式,在 ...

随机推荐

  1. JavaWeb框架SSH_Struts2_(三)

    1. Struts2的拦截器(使用拦截器实现权限控制) 拦截器简介 拦截器概述 拦截器工作原理 拦截器的配置 Struts2的内建拦截器 内建拦截器的介绍 内建拦截器的配置 自定义拦截器 实现自定义拦 ...

  2. 《java.util.concurrent 包源码阅读》04 ConcurrentMap

    Java集合框架中的Map类型的数据结构是非线程安全,在多线程环境中使用时需要手动进行线程同步.因此在java.util.concurrent包中提供了一个线程安全版本的Map类型数据结构:Concu ...

  3. react入门到进阶(二)

    一.react属性与事件 1.State属性 State,翻译过来是状态的意思,所以它就代表着组件的状态.React把用户界面(UI)当做是状态机,想象它有不同的状态然后渲染这些状态,可以轻松让用户界 ...

  4. Python带参数的装饰器

    在装饰器函数里传入参数 # -*- coding: utf-8 -*- # 2017/12/2 21:38 # 这不是什么黑魔法,你只需要让包装器传递参数: def a_decorator_passi ...

  5. RabbitMQ Cluster群集安装配置

    #RabbitMQ Cluster群集安装配置 openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ########## ...

  6. 数据库索引------Hash索引的使用限制

    1.hash索引必须进行二次查找. 2.hash索引无法进行排序. 3.hash索引不支持部分索引查找也不支持范围查找. 4.hash索引中hash码的计算可能存在hash冲突.

  7. extjs 关于dom操作的几个库

    经过几天的学习研究,发现ext与jquery的设计思路完全是来自两个方向. jquery是内聚,把所有东西都放在$的下面,而ext是采用分模块的设计思路,每个功能封装一个库.这样就形成了各自的实用风格 ...

  8. 》》Jqurey html

    第1部分:jQuery HTML 1.获取内容和属性 -- 获取内容: text():设置或获取所选元素的文本内容 html():设置或获取所选元素的内容(包括HTML标记) val():设置或获取表 ...

  9. 单源最短路径 dijkstra算法实现

    本文记录一下dijkstra算法的实现,图用邻接矩阵表示,假设图为无向图.而且连通,有向图,不连通图的做法相似. 算法简述: 首先确定"单源"的源.假设是第0个顶点. 维护三个数组 ...

  10. JAVA8之lambda表达式具体解释,及stream中的lambda使用

    前言: 本人也是学习lambda不久,可能有些地方描写叙述有误,还请大家谅解及指正! lambda表达式具体解释 一.问题 1.什么是lambda表达式? 2.lambda表达式用来干什么的? 3.l ...