在上一篇文章《分享
2011年Esri用户大会技术亮点总结之二:ArcGIS Runtime》中,大家已经对ArcGIS Runtime产品有了基本的了解。本文试图解读ArcGIS Runtime SDKs及其本质,与ArcGIS移动SDK,for
iOS/Windows Phone/Android之间的关系,以及这三种移动SDK后续发展的一些猜想。
ArcGIS Runtime SDKs是随ArcGIS 10.1 beta一起发布的一套横跨桌面、跨移动端、跨平台、轻量级的GIS开发SDK的总称。
从上图中我们可以看出,ArcGIS Runtime SDKs家族包括了以下成员:
-
ArcGIS Runtime SDK for Android
-
ArcGIS Runtime SDK for iOS
-
ArcGIS Runtime SDK for Windows Phone
-
ArcGIS Runtime SDK for Windows Mobile
-
ArcGIS Runtime SDK for Java
-
ArcGIS Runtime SDK for Qt
-
ArcGIS Rutnime SDK for WPF
之所以说ArcGIS Runtime SDKs横跨桌面和移动端,是因为它既包含了iOS/Windows
Phone/Android等移动平台的开发SDK,也包含了可以开发传统桌面程序(C/S程序)的WPF、Java、QT等SDK;而后三种SDK则可开发出Windows和Linux平台下具有丰富交互效果和良好体验的应用程序。其实ArcGIS
Runtime还包括了一些现成的应用程序,比如iOS/Windows Phone/Android各自应用商店上都能下载到的“ArcGIS”程序,ArcGIS
Mobile中的“ArcGIS”程序等。
说起轻量级,首先要看看ArcGIS 10.1产品架构的一些变化。
ArcGIS 10.1中,产品的划分更加明确和简单。主要分为四个部分,桌面GIS(传统的ArcMap,ArcGlobe等),ServerGIS(全新架构的ArcGIS
Server),轻量级GIS(ArcGIS Explorer,Runtime SDKs及其对应的应用程序)和ArcGIS
Online。前三部分都是围绕ArcGIS Online这个云GIS平台的,在不同程度上都与ArcGIS Online有交互,或可将数据直接部署上去,或作为它的客户端(云+端)。而轻量级GIS就是为了能够在任何地点,任何平台,任何设备上访问云平台提供的GIS资源。
ArcGIS Runtime SDKs正是在这种背景下诞生的。其实它也分为狭义和广义上的两种解释。狭义的ArcGIS Runtime SDK是指桌面上的WPF,Java和Qt,它们的消息早在半年前就已经公布。它们的出现,是为了逐步替代强大而相对臃肿的ArcGIS
Engine这个产品。做过Engine开发的朋友都知道,即使是最简单的显示地图的需求,理论上都必须在客户机上安装ArcGIS Engine Runtime这个运行时(注意不是ArcGIS
Runtime),安装包通常400M左右。而利用新的ArcGIS Runtime SDK for WPF/Java/Qt开发出的程序,完全是绿色程序,不需要在客户机上安装任何部件(.Net
Framework和JRE不计)即可运行,把所有的依赖库直接和程序拷贝在一起即可。如果你喜欢ArcGIS Runtime SDK开发的程序的部署过程——拷贝到U盘里/插入目标计算机/运行,那么你一定也喜欢它的卸载过程——关闭程序/拔掉U盘。
广义上的ArcGIS Runtime SDKs是上述列表中,诸多SDKs的统称。除了包含狭义的ArcGIS
Runtime SDK,可以看到加入了移动端部分:ArcGIS Runtime SDK for iOS/Windows Phone/Android/Windows Mobile,而它们其实是由以前的产品衍生出来的,分别对应以前的ArcGIS SDK for
iOS/Windows Phone/Android和ArcGIS Mobile,只是换了产品名称而已。当然,更换名称,把ArcGIS Mobile也囊括进来是有原因的,这得从ArcGIS
Runtime SDK的功能说起。
做过ArcGIS Web API(ArcGIS API for Javascript/Flex/Silverlight)开发的朋友,应该可以很快理解狭义Runtime这个产品的所有功能。目前ArcGIS
Runtime的功能与ArcGIS Web API,ArcGIS移动API(iOS/Windows
Phone/Android)基本相同,都是基于ArcGIS REST API的。比如地图服务(动态/缓存)的加载,GraphicsLayer/FeatureLayer,基于FeatureService的数据编辑,Identify/Find/Query操作,GeometryService,Geoprocessing
Service的调用等。它们的开发思路和代码编写几乎是一样的,比如ArcGIS API for Silverlight和目前的ArcGIS Runtime SDK for WPF,如出一辙(后者的前身就是ArcGIS
API for WPF)。但狭义上的ArcGIS Runtime SDK与ArcGIS Web API不同之处在于,前者可以加载本地数据,包括Map
Package/Tile Package/Locator Package/Geoprocessing Package。Map Package是包括.mxd文档和所有引用数据在内的压缩包,其余类似。最早的Package是9.3.1产品中的LayerPackage,它不仅包含了.lyr图层配置信息,还打包了图层所引用的实际数据。早期的ArcGIS
Online平台允许用户上传LayerPackage以便分享,现在看来,直到此时Runtime产品的出现才将Package的概念发扬光大,并且为以后的云GIS提供了更多的数据共享途径。对本地数据的读取是否破坏了基于ArcGIS
REST API的框架呢?其实没有。ArcGIS API for WPF/Java/QT中,都内置了一个C++写的Web Server,读取本地数据后,会自动发布成这个Web
Server上的REST服务来供Runtime SDK使用,所以一切功能,还是由REST API提供的。收起题外话,ArcGIS
Runtime SDK的框架,是针对轻量级GIS产品(不包括ArcGIS Web API)的,它拥有统一的编程模型,可以用一致的开发思路,做出C/S,及移动端应用(Web
API开发出B/S应用),为开发人员提供了极大的便利。这也是为什么将它们统称为ArcGIS Runtime SDKs的原因。
再来说说ArcGIS Runtime for Windows Mobile(原来的ArcGIS Mobile)这个产品。之所以将它也归为ArcGIS
Runtime SDK,是不无道理的。使用过ArcGIS Mobile的朋友一定知道,它的一个核心理念就是将数据划分为Basemap Layer和Operational
Layer。前者是指起可视化参考作用的数据,一般是栅格底图或地图服务切片;后者是包含矢量信息在内的业务数据。ArcGIS Runtime中所涉及到Package,恰好与之对应。Tile
Package对应Basemap Layer,Map Package对应Operational Layer。可以说,ArcGIS
Mobile的设计理念,在整个ArcGIS Runtime产品家族中,得到了很好的延续。不得不说,一直以来ArcGIS Mobile都是个十分优秀的产品。
到此,新的三个移动SDK(iOS/Windows Phone/Android)也归为ArcGIS Runtime SDKs的原因也就明了了,主要原因是都基于REST
API的框架。另外基本可以肯定,它们都会使用相同的数据模型,即各种Package。由此不难推断,以后iOS/Windows Phone/Android平台上移动SDK的离线功能,也会依赖于Tile
Package和Map Package。上周刚刚发布的ArcGIS API for iOS 2.1(以后要叫ArcGIS Runtime
SDK for iOS)版本中,已经印证了这种猜测——加入了对Tile Package的支持,实现了原生的底图数据离线功能。其它两个移动平台的离线功能,敬请期待。
由iPad这个产品引发的变革已经展开,移动设备数量正在爆炸性的增长,桌面设备和移动设备之间的概念会越来越模糊。Windows 8的发布预示着微软已经做出了改变,它即可以运行在桌面电脑上,也可以运行在平板设备中。有人说Windows
8的意义对于微软不亚于当年的Windows 95,我赞同这个观点。Esri也做出了积极的改变,新的产品体系,新的产品命名,新的ArcGIS
Runtime。
原文转自菩提老王的博客
分享到:
相关推荐
ArcGIS Runtime SDK for Java 100.12.0 的...如需在生产环境中使用ArcGIS Runtime SDK for Java,请联系ESRI公司获得授权,现在也有国产替代产品GeoScne Runtime SDK for Java,可以联系易智瑞公司获得相关资源和授权。
arcgis runtime sdk for .net 100.4-100.6版本+arcgis runtime local server sdk 100.6,由于文件过大,百度网盘链接,有需要的朋友可以下载
ArcGIS Runtime SDK for WPF 10.2.5 版本破解License standard版本 测试可以使用,无弹出信息 测试环境:vs2013 win7_64
arcgis-runtime-sdk-android-100.6.0
在arcgis开发者官网下载的rumtime 100.11开发包,由于官网抽风经常上不去,我下载了上传造福大家
ArcGIS Runtime SDK for Android开发介绍,来自Esri 中国技术人员的培训材料。
Esri.ArcGISRuntime.100.3.0.nupkg Esri.ArcGISRuntime.LocalServices.100.3.0.nupkg Esri.ArcGISRuntime.Hydrography.100.3.0.nupkg Esri.ArcGISRuntime.UWP.100.3.0.nupkg Esri.ArcGISRuntime.Xamarin.Forms.100.3...
ArcGIS for Android的sdk,可以用Android studio编译示例代码。
如题,ESRI官方下载的ArcGIS Runtime SDK for .NET v100.3 官方开发包,方便没有帐号的同志们下载。开发包较大,但请勿使用迅雷下载。
如题,ESRI官方下载的ArcGIS Runtime SDK for .NET v100.4 官方开发包(官方原版),方便没有帐号的同志们下载。开发包较大,但请勿使用迅雷下载。
Esri.ArcGISRuntime.100.5.0.nupkg Esri.ArcGISRuntime.Hydrography.100.5.0.nupkg Esri.ArcGISRuntime.UWP.100.5.0.nupkg Esri.ArcGISRuntime.WPF.100.5.0.nupkg Esri.ArcGISRuntime.Xamarin.Forms.100.5.0.nupkg
如题,此为官网下载的ArcGIS Runtime SDK for Android v100.2.1版的官方开发包和英文版开发指南。PS:请浏览器直接下载,不要用迅雷,不要用迅雷,不要用迅雷。
arcgis-runtime-sdk-android-100.5 官网下载的安卓 arcgis runtime sdk
arcgis runtime samples android master
包含三个版本: arcgis-android-sdk-v10.2.9 arcgis-runtime-sdk-vandroid-100.0.0 arcgis-runtime-sdk-vandroid-100.1.0
arcgis runtime for wpf
利用ArcGIS Runtime API for Java把空间数据从CGCS2000转WGS84和BD09。提供了完整的环境构建和代码示例。开箱即用,并对构建运行环境的操作步骤提供离线和在线两种方式。
ArcGIS Runtime SDK for Android v1.1发布啦,增强和改进如下: API: 1、从ArcGIS.com上搜索和使用content、users和groups; 2、支持要素定义存储在本地设备上的要素的高级符号化渲染; 3、支持单个应用程序中多个...
ArcGIS Runtime SDK for iOS 100.5 压缩包1请配合压缩包2一起解压 压缩包1地址:https://download.csdn.net/download/onajiniyo/11547060 压缩包2地址:https://download.csdn.net/download/onajiniyo/11547096
在介绍ArcGIS Runtime的时候我们说了ArcGIS Runtime很容易部署,到底怎么个容易法呢?不用安装,而且是按需部署,用到哪些类库就部署哪些类库。下面我们看以下这个部署步骤: