ArcGis for Android 使用记录

一.ArcGIS 介绍

构成
![总体构成](https://img-blog.csdn.net/20171109135225358?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2l0aHViXzM3NDkwMDY0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![主要功能](https://img-blog.csdn.net/20171109135212356?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2l0aHViXzM3NDkwMDY0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
注:
        最先版本是100.1.0,该版本中已经整合了完整的三维展示方案.
常用的功能:
  • 支持在线数据和离线数据。
  • 在有网络连通的情况下,可以使用ArcGIS GIS Server、ArcGIS
  • Online等在线资源;如果在断网的情况下,可以使用本地数据包,包括MPK、GPK、GCPK等。
  • 地图(2D)显示,使用新的渲染引擎,大大提高了地图浏览的速度。
  • 地图(3D)显示。
  • 符号化展示。
  • GPS位置追踪。可连接GPS设备实时定位追踪,也支持本地GPS文件位置回放。
  • 支持数据编辑。
  • 支持地理处理工具。
  • 支持地理编码和反地理编码。
  • 支持空间分析、网络分析及3D分析。
  • 支持Windows、Linux、Mac OS X桌面环境。
  • 支持Android、iOS和 Windows Phone等移动设备。
  • 提供编辑同步功能。
  • 进一步加强离线的数据分析(网络分析,地理编码分析和查询)。
  • 支持静态和动态模式的符号图层(Graphics overlays)。
  • 此外还将提供更多的离线的分析,对本地矢量数据和栅格数据的支持,以及3D功能。
  • 支持本地文件地理数据库。
  • 集成Portal for ArcGIS图层。
注:
    MMPK、MPK、TPK、VTPK、GPK和GCPK分别对应最新地图数据包格式、地图数据包、切片数据包、矢量切片,地理处理工具包以及地理编码工具包。MPK、TPK、GPK、GCPK需要在ArcMap(ArcMap是旧的制图工具,最新的工具未Arcgis pro)中制作生成。
    Mobile map package(MMPK): 通过ArcGIS Pro可以制作包含基础底图(Basemap)的MMPK,MMPK文件解析后,基础底图(Basemap)中的图层会解析为MobileBasemapLayer,只提供浏览功能
    Map package(MPK):包含地图文档(mxd)以及图层引用的数据,这样便于用户或组织在ArcGIS Online上进行分享。
    Tile package(TPK):包含地图文档的缓存数据,也就是切片后的数据,TPK一方面便于用户或组织在ArcGIS Online上分享数据,另一方面也为离线条件下访问数据提供一种方案。
    Vector Tile Package(VTPK): 矢量切片(VTPK)在于解决文件太大的问题
Geoprocessing package(GPK):是将一个能够成功运行的地理处理模型创建成一个压缩文件,以方便分享分析和地理处理的工作流程。
    Locator package(GCPK):是将包含一个定位器或复合定位器的工具打包成一个方便、便携的文件,便于用户或组织在ArcGIS Online上分享。

二.使用配置:

1.在线配置
    1)在project的 build.gradle添加如下内容:
allprojects {
  [...]
  dependencies {
    repositories {
      jcenter()
      // Add the Esri public Bintray Maven repository
      maven {
        url 'https://esri.bintray.com/arcgis'
      }
    }
  } 
  [...]
}
    2)在moudle的build.gradle添加如下内容:
dependencies { 
  compile 'com.esri.arcgisruntime:arcgis-android:100.1.0' 
  [...]
}
    3)添加权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
2.离线配置(未尝试是否可行)
参考:
http://blog.csdn.net/peckerzeng/article/details/78126690
http://blog.csdn.net/allenlu2008/article/details/71106993

三.功能介绍

1.基础知识
在ArcGIS Runtime 的体系中,地图通过与一个 map view(MapView对象)在手机平板的屏幕上来可视化地理数据。 
地图(ArcGISMap)指定了地理内容(数据),地理内容可来自于各种各样的地图资源(Map sources)
         - Feature Table
         - Mobile Map Package(.mmpk文件)
    地图视图( MapView )呈现地图的内容,控制用户浏览地图和与地图交互。 
        - Rotation(旋转) 
        - Panning(平移) 
        - Zooming(缩放) 
        - Viewpoint(当前视图) 
        - Graphic overlays(要素绘制)
        1) MapView
        ![这里写图片描述](https://img-blog.csdn.net/20171109141609176?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2l0aHViXzM3NDkwMDY0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

ArcGIS Online/Portal for ArcGIS通过其 map viewer(地图查看器)创建的资源称之为 Web Map。

    2) Layers
    ![这里写图片描述](https://img-blog.csdn.net/20171109142345315?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2l0aHViXzM3NDkwMDY0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 
WebGIS根据地图使用的方式不同,将地图分为基础底图(Basemap) 、 业务图层(OperationalLayers)以及绘制图层( Temporary Graphics )。 

图层(Layer)用来在地图(ArcGISMap) 中显示地理数据:
- Map Service URL
- Geodatabase Table
图层(Layer)通过渲染器(Renderer)来符号化(可视化)数据。图层(Layer)的数据源(Data sources):
- Map Services (Tiled and Dynamic)
- Tiled 使用 tiled layer
- Dynamic 使用 map image layer
- Feature services使用 feature layer
例如我们常说的Map Services来源于ArcGIS Server ;Feature services来源于ArcGIS Server、ArcGIS Online、Portal for ArcGIS。
MapView 与Layers的关系:
这里写图片描述
MapView作为屏幕展示容器,接收ArcGISMap。ArcGISMap可由Web Map、MMPK文件直接填充也可由Basemap和OperationLayers组合填充。绘制图层(GraphicsOverLay)依托于MapView展示。基础底图(Basemap)可由在线的、离线的切片地图服务(ArcGISTiledLayer、ArcGISVectorTiledLayer)填充。业务图层(OperationLayers)可由在线的要素服务(FeatureLayer)、离线的本地文件(MMPK、.geodatabase)填充。
2. 2D功能
1)放大缩小旋转
这里写图片描述
2)空间要素(绘制点线多边形)
I.Geometry(几何)
Geometries用以在特定地理位置上通过形状来表达真实世界的对象。图层范围、视图范围、GPS定位都是通过Geometries表达实现进一步的数据编辑、空间分析、地理处理、位置与面积量算都离不开空间要素。
这里写图片描述
II.Features 与 Graphics
Feature(com.esri.arcgisruntime.data.Feature),存储于Feature Table中,在 Feature Layer中进行显示。包含的Geometry 必须同一类型。包含的属性信息其字段信息必须相同。用以Feature Table中进行更新、删除等操作。
Graphic(com.esri.arcgisruntime.mapping.view. Graphic ),存储于运行内存中,在Graphics OverLay中进行显示。包含的Geometry类型可以不统一。通过类对象直接创建,仅用以绘制性显示。
3)栅格图层
用以加载展示移动端本地文件、移动镶嵌数据集、影像服务。
这里写图片描述
影像服务(ImageServiceRaster):加载ArcGis server 的航拍数据
3. 3D功能

        SceneView  <----->  MapView
        ArcGISScene <-----> ArcGISMap
        高程表面:       <-----> 无
        (ArcGISTiledElevationSource:将在线服务作为高程表面 ;RasterElevationSource:将本地DEM文件作为高程表面)
        setViewpointCamera()<----->setViewpoint()
        表面置放模式  <----->无
        (DRAPED:空间要素紧贴场景表面(surface layer),不考虑空间要素的高程值(Z-values) 默认

ABSOLUTE:空间要素通过其高程值(Z-values)设置距离球体表面(海平面)的高度
RELATIVE:空间要素通过其高程值(Z-values)设置距离场景表面(surface layer)的高度)
2D/3D的Overly <—–> 2D的Overlay

参考资料:

    官网 博客:http://blog.csdn.net/arcgis_all
    官网 英文Demo:https://developers.arcgis.com/android/latest/sample-code/sample-code.htm
    官网 GitHub Demo: https://github.com/Esri/arcgis-runtime-samples-android (Demo 比较多)
    博客 使用:http://blog.csdn.net/allenlu2008/article/category/6897272/1

注意点:
1.定位:
在网络状态较好和无网有GPS的情况下,可以获取到当前位置的经纬度,但是,在网络较差地图加载不成功且灭有取消加载的时候就获取不到当前的经纬度.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值