arcgis runtime sdk for android - · pdf file• arcgis runtime sdks ... – opengl es...

50

Upload: hoangnhu

Post on 18-Mar-2018

246 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0
Page 2: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

ArcGIS Runtime SDK for Android

Page 3: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

• ArcGIS Runtime SDKs简介• 产品体系

• Esri移动产品和技术

• ArcGIS Runtime SDK for Android介绍• 简介

• 环境搭建

• 常用技术

• 程序部署• 数据准备

• 许可程序

• 演示

目录

Page 4: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

ArcGIS Runtime SDKs简介

• 产品体系• 移动产品和技术

Page 5: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

ArcGIS Runtime简介

提供一组用于快速构建GIS应用程序并部署到不同平台的开发工具

• 集成地图和地理处理工具• 支持多平台• C++架构

Page 6: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

ArcGIS Runtime产品体系

Spatial Reference

Geometry

Feature Cache

Graphics

Messaging

3D

Symbols Map Grids

TilesMap Display

More…

Sync Framework

ArcGIS Runtime的核心组件

ArcGIS Runtime SDKs

Windows Mobile

(.NET)

Java

(Linux & Windows)Mac OS X

(Objective C)

Android

(Java)

Windows

Store apps

Qt

Windows\Mac\

Android\iOS

Windows

(WPF)

WinPhone

(.NET)

Desktop Drives

iOS

(Objective C)

Smartphones &

Tablets

Page 7: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

支持的平台:– Windows(…/8)

– Linux

– Mac OS X

– Android

– iOS

– Windows Phone 7.x/8

– Windows Mobile

ArcGIS Runtime支持绝大多数主流平台

Desktop

EmbeddedPhone

Qt

JavaSE

WPF

OS X

Windows

StoreiOS

Android

WP

WM

Page 8: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Esri的移动产品和技术

JavaScript

平台APIs

Apps

设备

类型

iOS Linux

Windows 7/8

AndroidWindows Phone

Windows Mobile

Objective-C

WPF

Java C++

智能手持机

平板

工业级设备

ArcPad

ArcGIS

Collector

Explorer

Page 9: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

ArcGIS Runtime SDK for Android

• 简介• 环境搭建• 常用技术

Page 10: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

显示并导航地图

连接在线服务

使用设备的GPS定位

绘制标绘图形(点、线、面)

地理编码

查询地图图层和数据

在/离线数据编辑

地理处理服务

……

作用

Page 11: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

ArcGIS Runtime SDK for Android版本

ArcGIS Runtime SDK for Android环境需求– Mac OS X (Intel), Linux, and Windows-based

– ArcGIS for Server 10.0或更高

– Portal for ArcGIS 10.2或更高

– Eclipse 3.6.2 (Helios) 或更高版本 (IntelliJ IDEA)

– Java Development Kit 6

– Android SDK platforms 2.3.3 (API 10) 或更高

– OpenGL ES 2.0

简介

2011.2月测试版 2011.12月 2012.4月 2012.5月 2014.4月

Page 12: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

https://developers.arcgis.com/android/

下载SDK

Page 13: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

环境搭建-Eclipse在线地址:https://developers.arcgis.com/android/eclipse/updatesite/

离线地址:arcgis-android-sdk-v10.2.3/tools/eclipse-plugin/arcgis-android-

eclipse-plugin.jar

Page 14: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

ArcGISRuntime SDK for Android

依赖的jar包

帮助文档

丰富例子

开发辅助工具

组成

Page 15: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

一些常用技术

ArcGIS

– Mapping

– Graphic

– Symbol

– Tasks

– Editing

– Portal

– Geodatabse

– ……

Page 16: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Mapping

MapView

Map Services

ArcGIS for Server

ArcGISOnline

Portal for ArcGIS

Layer

TiledLayer

DynamicLayer

GraphicsLayer

GroupLayer

Mapping

Page 17: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Mapping

Page 18: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Geometry

Envelope MultPath

Polyline Polygon

MultiPoint Point Segment

Line

Geometry

Page 19: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Geometry

Page 20: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Symbol

Symbol

LineSymbol

SimpleLineSymbol

MarkerSymbol

PictureMarkerSymbol

SimpleMarkerSymbol

TextSymbol

FillSymbol

PictureFillSymbol

SimpleFillSymbol

SymbolHelper

SymbolHelper作用:将JSON表达式转换成Symbol的实用类

Page 21: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Graphic

Geometry

SymbolAttributes

Graphic

Point p=new Point(123,24);

SimpleMarkerSymbol sym = new

SimpleMarkerSymbol(Color.GREEN, 15,

SimpleMarkerSymbol.STYLE.CIRCLE);

HashMap<String, Object> atts =

new HashMap<String, Object>();

atts.put(“name", “test");

atts.put(“code", “201408");

Graphic g=new Graphic(p,sym,atts);

作用:用于描绘地图要素

Page 22: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

SimpleRenderer

UniqueValueRenderer

ClassBreaksRenderer

Renderer

Renderer Layer

Symbol Graphic

Page 23: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

TaskIdentifyTask

Geodatabase

SyncTaskGeoprocessor

Locator

Task种类IdentifyTask:

•参数:IdentifyParameters

•返回: IdentifyResult[]

•模式: ALL_LAYERS、VISIBLE_LAYERS、

TOP_MOST_LAYER

Geoprocessor:•参数: List<GPParameter>()

•返回: GPResultResource

Locator:

•参数:Point或Map<String,String>

•返回: LocatorGeocodeResult[] 或LocatorReverseGeocodeResult

GeodatabaseSyncTask•generateGeodatabase

•syncGeodatabase

AsyncTask :通过服务获取数据的各类任务都是比较耗

时的操作。

AsycTask:doInBackground()

Page 24: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Query– QueryTask

– QueryParameters

– FeatureSet

Identify– IdentifyTask

– IdentifyParameters

– IdentifyResult

Find– FindTask

– FindParameters

– FindResult

要素查询与识别

单个图层 /MapServer/0

属性过滤、图形过滤

多个图层 /MapServer

属性过滤、图形过滤

多个图层 /MapServer

属性过滤

Page 25: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

QueryTask

Page 26: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

创建要素

• MapView事件绑定

• 解析JSON

编辑现有要素

• 选择要素(Query/Identify)

• 提供编辑工具(Geometry Engine)

属性编辑

• 探测字段类型及可编辑状态

• 可编辑字段的呈现

Editing

Page 27: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

• ArcGISFeatureLayer

• addAttachment

• applyEdits

• getFields

• queryFeatures

• selectFeatures

Editing

Page 28: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

• GeometryEngine

• Buffer

• Clip

• Simplify

• Intersect

• Difference

• geometryToJson(int wkid, Geometry geometry)

• jsonToGeometry(JsonParser json)

Editing

Page 29: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

• 定义:

允许您在组织内与其他人共享地图、应用程序和其他地理信息。

• 功能:• 管理用户单位自己的地理信息资源

• 访问一组通用的地理底图、GIS工具和分析服务

• 在线创建地图、Web应用

• 在用户单位内外,分享地图和Web应用

• 将本地、现有的ArcGIS Server服务注册进来进行管理

• 基于群组实现日常工作的协同办公

Portal for ArcGIS

Page 30: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Portal

LicenseInfo

PortalInfo

PortalGroup

PortalItem

WebMap

PortalUser

Portal主要组成部分

Page 31: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Portal

Page 32: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Portal

PortalItem.getItemId()方法取得ID;

WebMap.newInstance(itemId, portal, new

CallbackListener<WebMap>());

Page 33: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Geodatabse

• Geodatabase

• GeodatabaseFeatureTable

• GeodatabaseFeatureServiceTable

• GeodatabaseFeature

• Relationship

Page 34: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Geodatabase

GeodatabaseTaskGeodatabase

GeodatabaseFeatureTable

GdbFeature

FeatureLayer

Layer

Graphic

Feature

fetchFeatureServiceInfo()

new GenerateParams(fsInfo) - generateGeodatabase(params)

Geodatabase.getSyncParams() - syncGeodatabase()isSyncEnabled()

getFeatureTables()

hasLocalEdits()

createNewFeature()

queryRelated()

getAttachments()

getFields()

getFeatures(x,y)

selectFeatures()

get/setRenderer()

hideFeature()geometry()

attributes()

FeatureTableadd()

update()

delete()

query()

getFields()

Page 35: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

离线要素编辑

params:int[] 图层数组,

Geometry 范围,

SpatialReference 输入空间参考,

boolean 是否有附件,

SyncModel 同步类型,

SpatialReference 输出空间参考

Page 36: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

离线要素编辑

同步

Page 37: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

程序部署

• 数据准备• 许可程序

Page 38: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

离线的底图数据

离线的地理编码

离线的路径分析

离线的要素编辑(geodatabase)

离线数据

Page 39: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Offline With Desktop

Tile Package

Runtime ContentView

Query

Analyze

Geocode

Directions

制图

ArcGIS for Desktop

Tpk其他方式:(1)切片服务-Manager Cache-Export Cache

(2)tilecache包下的ExportTileCacheTask接口将MapServer的切片导出

Page 40: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0
Page 41: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Offline With ArcGIS for Server

制图发布服务

View

Query

Analyze

Edit

同步

下载

ArcGIS for Desktop

ArcGIS for Server

ArcSDE Add Global IDs

Enable Archiving

Page 42: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Offline With ArcGIS for Server

Page 43: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Offline With Portal for ArcGIS

制图 数据准备

View

Query

Analyze

Edit

同步

下载

Page 44: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

许可程序

Page 45: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

许可级别 允许的操作

Developer (仅限于开发和测试) 所有功能(地图显示水印)

Basic

以下功能外的其他所有功能:•离线地理编码•离线路径分析•本地geodatabase编辑•本地geodatabase同步

Standard 所有功能

三种级别

Page 46: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

登录developers.arcgis.com

创建Application

获取Runtime SDK Licensing

许可应用程序ArcGISRuntime.setClientId("myClientID");

基础版许可

Page 47: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

License code

Portal for ArcGIS

连接Portal-获取Portal的许可-许可应用程序

标准版许可

Page 48: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

Demo演示

离线操作视频

Page 49: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0

1、 Android Developers:https://developers.arcgis.com/android/

2、ArcGIS在线体验中心 http://tm.arcgisonline.cn/

3、Esri中国社区 : http://bbs.esrichina-bj.cn/ESRI

4、ArcGIS Online中国: http://www.arcgisonline.cn

5、新浪微博 ArcGIS_Mobile: http://weibo.com/arcgismobiles

6、ArcGIS官方博客: http://blog.csdn.net/arcgis_all

相关资源

Page 50: ArcGIS Runtime SDK for Android -  · PDF file• ArcGIS Runtime SDKs ... – OpenGL ES 2.0