4月8日《离,或者不离,ArcGIS移动的“在离线一体化”就在那里!》移动公开课已经结束,针对公开课上粉丝们重点关注的问题,本博客进行了详细的解答。答疑主要围绕最新的Runtime SDKs、最新的离线功能的使用、新版本的授权等多方面进行。
更多详细内容请访问公开课视频:http://www.gisall.com/video.php?mod=videolist&catid=11
Q1:ArcGIS Runtime SDKs都包含了哪些SDKs?
A: ArcGIS Runtime SDKs 10.2.2包括好多个SDKs,公开课视频开始就讲到了,Runtime SDK 10.2和10.2.2的组成有所变化,10.2.2之前的SDKs共包括了9个SDKs,10.2.2后改成了7个,将Windows平台上的两个开发包进行了合并,即将ArcGIS Runtime SDK for Windows Phone和WindowsStore重新整合成了一个全新的.Net SDK。如下图所示:
目前发布的是Android和iOSSDK 10.2.2版本,其它的Runtime SDK有10.1版本的,有10.2版本的。
Q2: ArcGIS Runtime SDK for .Net是什么SDK,以前没听说过?
A:ArcGISRuntime 10.2.2中,将ArcGIS Runtime SDK for Windows Phone和Windows Store这两个SDK整合成了一个,即,想开发面向windows phone和Windows Store平台的开发者,以后就不用下载和安装那么多SDK了,一个.NET SDK搞定。
Q3: 移动SDK 10.2.2已经发布其他产品此版本已经发布了吗?
A:ArcGIS for Desktop 和ArcGIS for Server目前最新的版本是10.2.1,可在Esri官网上下载到桌面产品的60天试用版本。ArcGIS for Desktop和 Server的10.2.2版本将于不久后发布,请大家保持关注。要使用最新的离线功能,使用目前的10.2.1版本即可。
Q4:要使用最新的离线功能,都需要什么版本的软件?
A:需要ArcGIS for Desktop 10.2.1及以上版本来生成只读型.geodatabase数据文件;需要10.0及以上版本的Desktop来制作离线的路网数据集和地理编码库;需要ArcGIS for Server 10.2.1及以上的版本才能使用服务模式,实现数据下载和同步的功能。我们强烈推荐您使用统一的ArcGIS 10.2.1及以上的版本来体验离线功能。
Q5: 最新的离线功能必须使用Server吗?
A:10.2.2新推出的离线功能有桌面模式和服务模式,桌面模式可以制作离线的数据包,将制作的离线数据部署到移动端进行浏览、查询等操作是无需Server支持的。但是目前桌面模式导出的数据文件适用于只读模式,不能进行编辑之后的同步操作,因此,有编辑和数据实时同步更新需求的用户需要使用服务模式,即将数据发布成要素服务,并从服务下载数据,这种情况下需要ArcGIS for Server 10.2.1及以上版本的支持。
Q6:桌面模式和服务模式有什么区别?
A:桌面模式导出的数据文件是适用于无编辑和同步需求的只读场景,因为目前桌面尚未提供同步功能;服务模式下下载的数据文件是可编辑和实时同步的。目前很多企业级应用对离线浏览和查询的需求很大,但不要求移动端编辑,桌面模式很符合这部分用户的需求;但如果需要进行实时的外业数据采集和更新等操作,建议用户选择服务模式。
Q7:离线的数据是存在哪里的?桌面模式导出的数据是只读的,那如何才能在移动终端实时的保存数据?
A:无论您使用的是桌面模式还是服务模式,业务数据在移动端都存在统一的.geodatabase中,它是基于SQLite封装的一个数据模型,不过前者是用桌面软件导出的,后者是从服务上下载的。前者导出的数据文件其实也可以实时保存和编辑数据(依靠移动端的API来操作),只不过目前没有提供桌面的同步工具,保存的数据不能同步回源数据;后者也就是服务模式下,您可以在移动端实时编辑.geodatabase,保存数据,并在有网络的情况下实时同步。
Q8:离线后,终端用户可以进行地图点击查询和编辑吗?其授权是怎样的?
A: 可以,移动端提供了相应的类和接口,来查询和编辑离线数据的各种信息,最常用的是Geodatabase类、GeodatabaseFeature和GeodatabaseFeatureTable等类,其中离线编辑和保存需要标准版许可,浏览和查询仅需基础版许可,即用户使用ArcGIS for Developer或ArcGIS Online企业级账号(30天试用账号也可)即可使用。关于具体的授权策略请咨询Esri中国行业销售经理。
Q9:.geodatabase在Android客户端渲染的时候,能自己设定颜色吗?比如一个线图层,我要根据线的一个属性,渲染成不同的颜色。
A: 可以,Android API中有render和symbol,自己在图层中设置样式就可以。.geodatabase只是存储数据,可使用移动端SDK来读取和渲染数据。
Q10:用户要求在iOS和Android端实现功能一致的离线浏览和查询操作,无需编辑和同步,请问现在两个平台都能做到吗?
A:ArcGIS RuntimeSDK for Android和iOS基于同一的核心框架设计,并提供一致的API设计,两个平台功能一致,并且最新的离线功能,其桌面模式就能完全满足您的需求,请放心使用。可以用使用10.2.1及以上的桌面产品将业务数据导出,存为.geodatabase文件,然后拷贝到移动端,进行浏览查询等操作。
Q11:矢量离线的.geodataase文件,有办法加密吗?如何保证数据安全?
A:目前不能直接对导出的数据文件进行加密,但数据安全是可以保证的。首先,.geodatabase本来就是封装过的,只有移动端API可以读取,连ArcGIS for Desktop都不能直接打开的;其次,可以从系统和应用的层面设置加密,比如依靠系统的文件夹加密方式;给应用设置不同的用户权限;另外,在服务模式下,还可以使用加密的服务,这样,只有知道口令的用户才能下载和使用数据。
Q12: 请问有针对Flex Mobile的离线应用支持么?
A:Flex Mobile是用来开发跨平台的移动应用的,目前使用ArcGIS Flex API加一些第三方框架可以实现跨平台的移动应用,Flex跨平台使用的是Adobe AIR。Flex API属于WebAPI,目前都只能打造在线的应用。
Q13: 离线切片生成时可以按照区域生成不?