《ArcGIS Runtime SDK for Android学习笔记》-2、ArcGIS for Android介绍

Author Avatar
wshunli 4月 06, 2016
  • 在其它设备中阅读本文章

ArcGIS for Android介绍

Android是Google公司推出的开源移动操作系统,自2007年推出后,飞速发展,目前已经成为市场占有率最高的移动操作系统。
Android SDK支持使用Java语言开发应用程序,Esri为Android平台提供了专门的开发包ArcGIS Runtime SDK for Android,便于开发者打造炫酷的地图应用,开发好的应用能够部署在Android智能手机、平板电脑和其他智能终端上,支持华为、小米、联想、HTC、Google、三星等国内外众多品牌。

产品简介

ArcGIS Runtime SDK for Android包括一个用于Android Studio的lib-project,用于eclipse等环境的jar函数库,提供了丰富的工具、文档和示例,使用户能够使用Java构建移动应用程序(这些应用程序将运用ArcGIS for Server提供的强大的制图、地理编码、地理处理和自定义功能)并将它们部署到Android系统的智能手机和平板上。

ArcGIS Runtime SDK for Android可以通过ArcGIS for Server REST服务获取数据和服务资源。Esri发布了 GeoServices REST Specification ,这一标准规定了ArcGIS REST Service各种接口的访问参数及返回数据的结构,ArcGIS Runtime SDK for Android正是基于这一标准封装的。其实,ArcGIS基于REST接口的API,包括ArcGIS Runtime SDK for Android/iOS/Windows Phone,ArcGIS API for Flex/ Silverlight/ JavaScript,以及ArcGIS Runtime SDK for Java/.NET,都是基于这一标准进行封装的。尽管不同平台、不同语言的开发包有其自己的特性,但其对应服务端的编程模型是一致的。下图能很好的说明这一点。

![](https://img.wshunli.com/ArcGISforAndroid/2/ArcGISforAndroid%E4%BB%8B%E7%BB%8D1.png)

除了ArcGIS for Server,ArcGIS Runtime SDK for Android还可以通过Portal API轻松访问ArcGIS Online和Portal for ArcGIS上的资源,即与云建立密切的联系。另外,在10.2的版本中,ArcGIS Android SDK也能使用本地离线的数据,作为应用的重要数据源,这也是10.2的重大更新,被多数用户和开发者所关注,后面教程中也会详细介绍。截止目前写稿为止,ArcGIS Runtime SDK for Android最新版本是10.2.6-u2。有关ArcGIS Runtime SDK for Android 10.2.6-u2的所有资料,包括安装包下载、系统支持、安装环境说明、API接口说明、Sample、在线帮助等,都能从最新的ArcGIS for Developer站点 https://developers.arcgis.com/android/ 查找到。

发展历程

ArcGIS for Android从产品上来讲分为两个部分,一是给开发者准备的ArcGIS Runtime SDK for Android开发包,专用来开发Android设备上的移动GIS应用;另一个是名为“ArcGIS”的app,它使用ArcGIS Runtime SDK for Android开发包开发,具备常用的和典型的GIS功能,拿来即用,并可在Google Play等商店免费下载。

ArcGIS Runtime SDK for Android开发包的发展历程如下:

  • 约在2011年6月份,发布ArcGIS Runtime SDK for Android beta版,就是开发者常说的0.9版本。它是一个测试版本,支持2.1,2.2的android系统。因为是第一个支持android智能操作系统的版本,虽然是测试版,也备受开发者关注。这个版本中,可以使用ArcGIS for Server中的地图服务、要素服务来进行移动端的地图浏览和简单查询操作,使用设备的GPS坐标,等等;
  • 2011年12月14日,发布了ArcGIS Runtime SDK for Android v1.0.1,这是第一个正式版的Android SDK。该正式版包含了beta全部功能,对其中一些bug进行了修复,并新增了许多功能,重要的功能如支持本地缓存的松散型切片,迈出了离线应用的第一步;总体上的功能已经比较完善,包括与Online和Portal的集成,使用设备的GPS,进行简单的外业数据采集和编辑,使用Server和Online上的分析功能,能进行identify操作,可以显示popup up,进行高级的几何计算等。为以后的版本功能提升提供了较好的原型;与0.9版本比较,1.0及以后的版本,SDK架构发生了很大的变化,主要变化在于核心功能改由C/C++编写,SDK层(Java)通过JNI的方式调用,以此提高效率。因此,需要支持OpenGL ES2.0的GPU。
  • 2012年4月7日,发布ArcGIS Runtime SDK for Android v1.1。这个版本的改进主要是增加了高级符号,支持一个应用中多个MapView,以及Group Layer中支持对所有子图层的操作,另外,与Online和Portal的结合更加深入,可以搜索组织的内容、用户、组等信息;
  • 2012年5月10日,发布ArcGIS Runtime SDK for Android v1.1.1版本。这个版本仅对v1.1版本进行了一个修复——让Eclipse能够更好的、更正确的识别Android依赖库;
  • 2012年6月22日,发布ArcGIS Runtime SDK for Android v2.0版本。这个版本最大的变化是对云的支持全面加强,支持ArcGIS 10.1的桌面、服务器和云产品,并正式推出Portal API来操作云中的资源。可以说这是在云计算的兴起之下,Esri的“云端”应用模式的全面体现。同时,发布了同步的ArcGIS app for Android v2.0版本,也是全面的加强与云的集成;
  • 2013年1月16日,发布ArcGIS Runtime SDK for Android v10.1.1版本。这个版本中新增了对网络分析、PKI认证的加密服务的支持,新增对KML、WMS、OpenStreetMap等第三方地图服务的支持;更为重要的是,Runtime SDK的版本号从这个版本开始发生了巨大的变化,从2.0直接升级到了10.1.1,同时,其它Runtime SDK(包括Java SE, WPF, Windows Phone等)版本号全部都更新至10.1.1;
  • 2013年7月1日,发布ArcGIS Runtime SDK for Android v10.1.1 update 1。这个版本的升级变化也很小,主要是支持了Android Support Library 13,并支持ArcGIS Online上的OAuth2类型的资源的访问;同时,这个版本提供了Javadoc;
  • 2013年10月29日,发布ArcGIS Runtime SDK for Android v10.2版本。10.2版本与之前的版本相比变化较大,一是新增了很多类和框架来辅助开发人员开发,如MapOptions和Application Framework for ArcGIS Android框架;同时,GraphicsLayer新增动态模式,性能极大提升;GeometryEngine中也新增了很多诸如测地线、偏移量、椭圆等方法来完成几何计算;另一方面,更大的变化是推出了Beta版的离线功能,提供相应的类和接口,来实现业务数据的离线存储、编辑,以及离线的地理编码和路径分析功能,这是国内用户需求最大、备受关注的功能之一,因此一经推出便引起广泛关注。只可惜这些离线的功能只是Beta版,并且需要10.2.1的Desktop和Server产品配合使用,因此离线功能并不能真正用于实践;
  • 2014年3月8日,发布ArcGIS Runtime SDK for Android v10.2.2版本。这个版本有两个最大的变化,一是正式推出了离线功能,10.2版本中Beta版的离线功能全部正式对用户提供,包括离线的要素编辑和同步,离线的地理编码,离线的路径分析功能,以及按需动态缓存地图切片到移动端等;另一大变化是授权的变化。ArcGIS Runtime SDK统一变更了授权方式,未经过授权的用户只可使用其中基础的功能,并且应用程序在分发时还会打上水印。
  • 2014年4月21日,发布ArcGIS Runtime SDK for Android v10.2.3版本。这个版本的主要变化在于它提供了一个全新的GeodatabaseFeatureServiceTable类来使用ArcGIS Feature Services,达到同时使用离线和在线数据的目的。
  • 2014年10月6日,发布ArcGIS Runtime SDK for Android v10.2.4版本。在这个版本中,更新了最低支持Android平台版本的android 4.0.1(API级别14)。直接支持本地矢量格式和栅格格式,包括shapefiles、KML、geopackages,可以直接影像数据,包括:ASRP/USRP、CIB1,5,10、DTED0, 1, 2、GeoPackage、GeoTIFF、HFA、HRE、IMG、JPEG、JPEG2000、NITF、PNG、RPF、SRTM1, 2。支持离线的空间分析功能,视线和视域分析(beta)(暂不支持x86设备),优化GeodatabaseFeatureServiceTable,使得在线离线都可以使用功能单一的API。网络地图服务得到了增强,支持了WMTS服务、Imager服务。离线API的质量得到了改进,包括地图的行为和性能改、callout显示增强。
  • 2015年1月15日,发布ArcGIS Runtime SDK for Android v10.2.5版本。支持android studio开发环境,示例代码默认开发环境基于Android Studio。Eclipse插件被弃用。从版本10.2.5,Esri公司不再提供的Eclipse IDE工具插件的形式,但是,它是可以继续使用jar包引用方式通过Eclipse完成开发工作。
  • 2015年6月19日,发布ArcGIS Runtime SDK for Android v10.2.6版本。该版本中大量的小bug得到了改进和更新。截稿至今2015年9月10日目前最新的版本为v10.2.6-u2。
  • 未来版本:“Quartz”,它是ArcGIS Runtime SDK下一个大版本的代号。这一版本包括了一系列显著的功能增强,正式版本预期于2016年第一季度发行,之前会有几个beta版本发行,第一个测试版定于2015年8月发行。(2015 UC)- - ArcGIS Runtime Quartz版本的新功能,包括:1) 地图性能改进2) 支持更多数据格式,矢量数据包括移动地理数据库(Runtime geodatabase),shapefile文件,KML;栅格图像主要包括JPEG, JPEG2000, NITF, GeoTIFF, MrSID, CADRG, ECRG, DTED, SRTM, HRE以及激光雷达。此外,还支持OGC的GeoPackage,以及自定义的矢量和栅格数据源3) 本地分析在内的更多GIS分析功能4) 支持智能制图,矢量切片和读写在线地图的功能5) 支持3D场景,浏览、分析3D数据6) 支持Xamarin,允许.NET开发人员构建跨平台运行的应用程序。

功能概述

使用ArcGIS Runtime SDK for Android,用户能够开发出功能强大的移动端GIS应用程序并将它们部署到Android系统的智能手机和平板上,主要功能可覆盖:

  • 地图浏览:实现常见的地图缩放、平移、旋转操作,并且支持手势响应;能加载和显示图例、指南针、罗盘等多种地图辅助元素;
  • 地图测量:能实现长度、面积、周长及测地线等的测量;
  • 数据查询:提供多种类和接口,用来进行基于图层的搜索、关键词搜索、模糊查询、周边搜索等,还能实现空间查询和非空间查询的结合;
  • 几何计算:包括简单的叠加分析、缓冲区分析,以及并、交、差等空间关系的运算;
    分析:包括最小/最短路径分析、地理编码、通视分析等;
  • 数据编辑:可编辑要素的空间信息或属性信息,空间信息包括更改要素的符号,改变要素的形状,移动要素的位置等,属性信息可更改其名称、照片等;还可新增、删除要素,并对编辑的数据进行保存;
  • 离线功能:可将数据下载到本地,或者直接使用本地数据源,在移动端实现数据的编辑、保存等功能,从而实现离线的外业作业流程;
  • 数据可视化:可使用多种要素符号、弹出框、图标、表格、柱状图等多种方式对数据进行展示和直观表达;
  • 访问云中的资源:可轻松访问ArcGIS Online和Portal for ArcGIS中的资源和服务,实时同步,随时随地的使用云中资源;
  • GPS定位:使用设备的GPS模块,进行准确的定位和导航,精度能满足大众和专业用户的需求。

本文出处: http://www.cnblogs.com/gis-luq/p/4765993.html

转载文章以下声明无效

如果本文对您有所帮助,且您手头还很宽裕,欢迎打赏赞助我,以支付网站服务器和域名费用。 https://paypal.me/wshunli 您的鼓励与支持是我更新的最大动力,我会铭记于心,倾于博客。
本文链接:https://www.wshunli.com/posts/61d96b3d.html