89
Migrating to ArcGIS Runtime 100.0 Eric Bader Mike Branscomb @ArcGISRuntime

Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Embed Size (px)

Citation preview

Page 1: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating to ArcGIS Runtime 100.0

Eric Bader

Mike Branscomb

@ArcGISRuntime

Page 2: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating to ArcGIS Runtime 100.0

• ArcGIS Runtime 10.2.x

• ArcGIS Engine

• ArcGIS Runtime SDK for Windows Mobile

• ArcGIS Explorer SDK (.NET)

• MapObjects

• ArcGIS Runtime 100

• AppStudio for ArcGIS

• Apps: Collector, Workforce, Navigator…

• ArcGIS Pro SDK for .NET

Page 3: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating…

• ArcGIS Engine

• ArcGIS Runtime 10.2.x• ArcGIS Runtime 100

Modern Devices

Modern Architecture

Modern ArcGIS Capabilities

Page 4: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating…

• ArcGIS Engine • JavaScript

• ArcGIS Runtime?

Page 5: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

ArcGIS Runtime session tracks at DevSummit 2017

• ArcGIS Runtime SDKs share a common core, architecture, and design

• Product sessions promote specific development experiences

• Functional sessions promote common capabilities and workflows

- An Introduction to the API and Architecture

- Migrating to ArcGIS Runtime 100.0

- Working with Your Portal

- Building Great User Experiences

- Styling Maps

- Working with Maps Online and Offline

- Editing Your Data Online and Offline

- Maximizing Performance of Your Apps

- Analysis

- Building 3D Applications

• Demo theaters highlight examples of specific technical capabilitiesShared workflows, any platform, any device

.NET

Xamarin

iOS

macOS

Android Java Qt

ArcGIS Runtime

Page 6: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating to ArcGIS Runtime 100.0

.NET

Xamarin

iOS

macOS

Android Java Qt

ArcGIS Runtime

Page 7: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating to ArcGIS Runtime 100.0

.NET

Xamarin

iOS

macOS

Android Java Qt

ArcGIS Runtime

Analysis

3D

Routing &

Geocoding

Editing

Maps & Data

Page 8: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating to ArcGIS Runtime 100.0

• Documents, data, and workflows

- ArcGIS Engine

- ArcGIS Runtime 10.2.X

• ArcGIS Runtime 100.0 equivalent

- Promoted workflows

- Additional capabilities

.NET

Xamarin

iOS

macOS

Android Java Qt

ArcGIS Runtime

Analysis

3D

Routing &

Geocoding

Editing

Maps & Data

Page 9: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating to ArcGIS Runtime 100.0

.NET

Xamarin

iOS

macOS

Android Java Qt

ArcGIS Runtime

Analysis

3D

Routing &

Geocoding

Editing

Maps & Data

Page 10: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating to ArcGIS Runtime 100.0

.NET

Xamarin

iOS

macOS

Android Java Qt

ArcGIS Runtime

Analysis

3D

Routing &

Geocoding

Editing

Maps & Data

Page 11: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating Data & Maps

• ArcGIS Engine

• ArcGIS Runtime 10.2.x• ArcGIS Runtime 100

Page 12: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating from ArcGIS Engine

• From an ArcObjects world to an ArcGIS Runtime / Pro / Portal world

Page 13: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating from ArcGIS Engine

• ArcGIS 8.x / 9.x / 10.x

• Documents

- ArcMap document .mxd

- Map Package .mpk

- Layer file .lyr

- Layer package .lpk

Page 14: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating from ArcGIS EnginePromoted workflows

• ArcMap .mxd

• Map Package .mpk

• Maps from ArcGIS Platform

• Mobile Maps from ArcGIS Pro

Page 15: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating from ArcGIS Engine

• ArcMap .mxd

• Map Package .mpk• Maps ArcGIS Platform

Promoted workflows

Page 16: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating to ArcGIS Runtime 100.0ArcMap documents .mxd, Map Packages .mpk

https://developers.arcgis.com/web-map-specification/working-with-web-maps/

• Maps from Portals

• Read/write in Online, Pro, and Runtime

• Webmap spec

• JSON

• Online layers & embedded content

- Feature Collection

- Feature Layer

- Map Image Layer

- Tiled Layer

- Vector Tiled Layer

• Include app configuration properties

- Search, measure, routing, location, editable layers

Page 17: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating from ArcGIS Engine

• ArcMap .mxd

• Map Package .mpk• Mobile Maps from ArcGIS Pro

Promoted workflows

Page 18: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating to ArcGIS Runtime 100.0ArcMap documents .mxd, Map Packages .mpk

http://pro.arcgis.com/en/pro-app/help/sharing/overview/mobile-map-package.htm

• Maps from ArcGIS Pro

• Mobile Map Package .mmpk

• Mobile map spec

• JSON

• .mmpk Includes layers and data

- Feature Layers and tables

- Tile Layer (as a .tpk)

- Vector Tile Layer (from existing .vtpk)

• Include locators and networks

- Geocoding and routing offline

Page 19: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating from ArcGIS EngineAdditional capabilities

• Map Package .mpk

• Layer file .lyr

• Layer package .lpk

• Local Map Service

• Local Feature Service

• Local Geoprocessing Service

Page 20: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating from ArcGIS EngineAdditional capabilities

• Map Package .mpk• Local Map Service

• Local Feature Service

Page 21: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Local

Feature

Service

Local

Map

Service

Local Server

Maps: Migrating to ArcGIS Runtime 100.0Map Packages .mpk

• Map Packages cont. to be supported with Local Server

• Available on Windows and Linux desktops

- With ArcGIS Runtime SDKs for .NET, Java, & Qt

• Create Map Packages with ArcMap 10.4.1

• Use the ArcGIS Runtime API to start local services

ArcObjects

.NET Java Qt

REST API

Page 22: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating from ArcGIS EngineAdditional capabilities

• Map Package .mpk

• Layer file .lyr

• Layer package .lpk

• Local Geoprocessing Service

Page 23: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Local

Geoprocessing

Service

.NET Java Qt

REST API

Local Server

Maps: Migrating to ArcGIS Runtime 100.0Map Package .mpk, Layer File .lyr, Layer Package .lpk

• Map Packages, Layer Files, and Layer Packages supported

with Local Server

• Available on Windows and Linux desktops

- With ArcGIS Runtime SDKs for .NET, Java, & Qt

• Read via local geoprocessing services

• Start from Geoprocessing Packages .gpk

• Create .gpks in ArcMap 10.4.1 with Model Builder or

Python

ArcObjects

Python

Model Builder

Page 24: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Data: Migrating from ArcGIS Engine

• ArcGIS 8.x / 9.x / 10.x

• Data

- Geodatabases (personal, file, and ArcSDE)

- Shapefiles

- Raster datasets

- ArcGIS Server map services, image services

- ArcIMS map services, feature services

- OGC WMS, WCS

- TIN

- CAD

Page 25: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Data: Migrating from ArcGIS EnginePromoted workflows

• Shapefile

• Personal Geodatabase

• File Geodatabase

• Mobile Geodatabase

• Shapefile (roadmap)

Page 26: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating to ArcGIS Runtime 100.0Shapefile .shp, Personal geodatabase .mdb, File geodatabase .gdb

http://pro.arcgis.com/en/pro-app/tool-reference/data-management/create-mobile-map-package.htm

http://server.arcgis.com/en/server/latest/publish-services/windows/prepare-data-for-offline-use.htm

• Mobile Geodatabase .geodatabase

• Based on SQLite – portable, efficient

• Contains schema, data and rendering information

• Created:

- ArcGIS Pro – Mobile Map Package .mmpk

- Sync-enabled feature service

- Create Runtime Content (older 10.2.X workflow)

Page 27: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Data: Migrating from ArcGIS EnginePromoted workflows

• ArcSDE • Feature Service

Page 28: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating to ArcGIS Runtime 100.0ArcSDE

http://server.arcgis.com/en/server/latest/publish-services/windows/author-feature-services.htm

• Feature Service

• Hosted on ArcGIS Server

• Display, query, and edit data in Enterprise or Workgroup

geodatabases

• ArcGIS Runtime API accesses via calls to REST API

• Feature services can be shared as web layers in your Portal

• Create mobile geodatabases

- Synchronize features, records, attachments

• Simple feature access

Page 29: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Data: Migrating from ArcGIS EnginePromoted workflows

• Raster data • Raster Layer

Page 30: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating to ArcGIS Runtime 100.0Raster

http://pro.arcgis.com/en/pro-app/tool-reference/data-management/mosaic-dataset-to-mobile-mosaic-dataset.htm

• ArcGIS Runtime supports direct read of many raster formats

• Raster renderers applied by the API

- Blend, Colormap, Hillshade, RGB, and Stretch

• Apply functions on the fly

- Subset of Image Server raster functions

- Mask, Clip, Pansharpen, Raster Calculator…

• Mosaic Datasets

- Store, manage, view, and query collections of raster data as a catalog

- Data model implemented in geodatabase

- Visualize as a single mosaicked image

- Create in ArcGIS Pro using GP tool

- Create ArcGIS Runtime API via API

Page 31: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Data: Migrating from ArcGIS EnginePromoted workflows

• ArcGIS Server map services

• ArcGIS Server image services

• ArcIMS map services

• ArcIMS feature services

• OGC WMS

• Feature services

• Map services

• Image services (roadmap)

• WMTS (roadmap)

• WMS (roadmap)

• WFS (roadmap)

Page 32: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating to ArcGIS Runtime 100.0ArcGIS Server map & image services, ArcIMS map & feature services, OGC WMS

• ArcGIS Server, Portal, and hosted services

• REST based API

• Map services

- Dynamically renders map images

- Based on preconfigured layers, renderers

- Can override via DynamicLayer (roadmap)

• Feature services

- Query and edit features

- Extract mobile geodatabases

- Synchronize features, records, attachments

Page 33: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Data: Migrating from ArcGIS EngineAdditional capabilities

• Shapefile

• File geodatabase

• ArcSDE

• Local feature services

• Local map services

Page 34: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Local

Feature

Service

Local

Map

Service

.NET Java Qt

REST API

Local Server

Maps: Migrating to ArcGIS Runtime 100.0Shapefile .shp, File geodatabase .gdb, ArcSDE

http://pro.arcgis.com/en/pro-app/help/sharing/overview/mobile-map-package.htm

• Shapefiles, File geodatabase and ArcSDE supported

with Local Server

• Available on Windows and Linux desktops

- With ArcGIS Runtime SDKs for .NET, Java, & Qt

• Map Package .mpk created with ArcMap 10.4.1

- Contains data converted to file geodatabase

- References data (use this for ArcSDE)

ArcObjects

Page 35: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating Maps & Data

• ArcGIS Engine

• ArcGIS Runtime 10.2.x• ArcGIS Runtime 100

Page 36: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating from ArcGIS Runtime 10.2.x

• From an ArcGIS Desktop / Server world to ArcGIS Runtime / Pro / Portal

Page 37: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating from ArcGIS Runtime 10.2.x

• ArcGIS >= 10.2.1

• Documents

- Tile Package .tpk

- Map Package .mpk (Local Server)

- Create Runtime Content

- Webmap

Page 38: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating from ArcGIS Runtime 10.2.xPromoted workflows

• Create Runtime Content

• Tile Package .tpk

• Map Package .mpk

• Webmap

• Webmap

• Mobile Map Package .mmpk

• Tile Package .tpk

• Vector Tile Package .vtpk

Page 39: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating to ArcGIS Runtime 100.0Webmap

• ArcGIS Runtime 100.x adopts the Map as a central concept

• Read and write maps from/to the Platform

• Common fundamental layer model

- Operational Layers

- Basemap Layers

• Webmaps were available in ArcGIS Runtime 10.2.x

- Peripheral and inconsistent workflows across Runtime APIs

Page 40: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating to ArcGIS Runtime 100.0Create Runtime Content

• Mobile Map Package supersedes Create Runtime Content

- Same content

- Mobile .geodatabase

- Tile Package .tpk

- Runtime network dataset

- Runtime locator

- New Mobile Map(s)

- Vector

- Created in ArcGIS Pro

• Create Runtime Content is a ‘Share As…’ workflow and

GP tool in ArcMap (>10.3.x)

• Created a folder containing data artifacts

.mmpk

Page 41: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating to ArcGIS Runtime 100.0Tile Package .tpk

• Tile packages .tpk continue to be supported in 100.x

• Good for raster and image data

• New vector tile packages .vtpk

• Contain collection of vector tiles and style resources

• Vector tiles contain vector representations of data across a range of scales

• Adapt to resolution of the device display

• Can be customized on the device for multiple uses e.g. day / night styling

• Faster to generate, smaller packages

Page 42: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating from ArcGIS Runtime 10.2.xAdditional Capabilities

• Map Package .mpk • Map Package .mpk

Page 43: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating to ArcGIS Runtime 100.0Map Package .mpk

• Map Packages in ArcGIS Runtime 100.x continue to be supported via Local Server

• Superseded by Mobile Map Package and direct data format support in many workflows

- May still be required for some scenarios e.g. CAD layer

• Local Server now a standalone SDK

- Download from ArcGIS Developers site

• Available on Windows and Linux desktops

- With ArcGIS Runtime SDKs for .NET, Java, & Qt

• Map Packages must be created with ArcMap 10.4.1

- Local Server 100.x includes ArcObjects 10.4.1

• Promoted for Geoprocessing Packages

Local

Feature

Service

Local

Map

Service

.NET Java Qt

REST API

Local Server

ArcObjects

Page 44: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Data: Migrating from ArcGIS Runtime 10.2.x

• ArcGIS >= 10.2.1

• Data

- Mobile geodatabase

- Shapefile

- Map services, Feature services

- WMS, WMTS, KML

- Bing, OpenStreetMap

- CSV, GeoRSS

- S57

Page 45: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Maps: Migrating from ArcGIS Runtime 10.2.xPromoted Workflows

• Mobile geodatabase

• Shapefile

• Map, Feature, and Image services

• WMS, WMTS, KML

• Bing, OpenStreetMap

• CSV, GeoRSS

• S57

• Mobile geodatabase

• Raster data

• Map services, Feature services

• Shapefile (roadmap)

• Image services (roadmap)

• WMS, WMTS, KML (roadmap)

• Bing, OpenStreetMap (roadmap)

• CSV, GeoRSS (roadmap)

• S57 (roadmap)

Page 46: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Roadmap for maps & data in ArcGIS Runtime 100.x

• Mobile Map Package enhancements

- Take maps offline

- Edit contents of mobile map package and share with Pro

- Manage local mobile packages

• ArcGIS Server image services

• WMTS

• WMS

• Open Street Map

• Bing

• KML

• Shapefile

• S57 ENC

• Utility networks

Page 47: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Recommended DevSummit Sessions

• ArcGIS Runtime: API and Architecture

• ArcGIS Runtime: Editing Your Data Online and Offline

• ArcGIS Runtime: Maximizing Performance of your Apps

• ArcGIS Runtime: Styling Maps

• ArcGIS Runtime: Working with Maps Online and Offline

• ArcGIS Runtime: Working with Your Portal

Page 48: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating to ArcGIS Runtime 100.0

.NET

Xamarin

iOS

macOS

Android Java Qt

ArcGIS Runtime

Analysis

3D

Routing &

Geocoding

Editing

Maps

Page 49: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating Editing

• ArcGIS Engine

• ArcGIS Runtime 10.2.x• ArcGIS Runtime 100

Page 50: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating from ArcGIS Engine

• From an ArcObjects world to an ArcGIS Runtime / Pro / Portal world

Page 51: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Editing: Migrating from ArcGIS Engine

• ArcGIS Engine editing workflow mirrors ArcMap

• Editable data formats

- Personal, File, ArcSDE geodatabases, and Shapefiles

• Editable content

- Simple features / feature classes

- Point, Polyline, Polygon, Multipoint

- Complex features

- Geometric networks, Topologies

- Geodatabase schemas

• Workflow

- Set target vector dataset (IFeatureLayer)

- Edit features in an edit session via edit operations

- Use geodatabase replication for offline editing

ArcGIS Engine

Page 52: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Editing: Migrating from ArcGIS EnginePromoted Workflows

• Editable data formats

- Personal geodatabase

- File geodatabase

- ArcSDE geodatabases

- Shapefiles

• Editable content

- Simple features / feature classes

- Complex features

- Geodatabase schemas

• Feature services

• Mobile geodatabase

• Feature Collection

• Shapefile (roadmap)

Page 53: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Editing: Migrating to ArcGIS Runtime 100.0

• Editable data formats

- Feature service

- ArcGIS Server and Portal feature services

- Mobile geodatabase

- Sync-able mobile geodatabases

- Created from feature service with the GeodatabaseSyncTask

- Static feature collection editing

- Feature collections (map and item based)

• Editable content

- Simple feature editing

- Points, lines, polygons, multipoint

- Simple feature classes

- Features, attributes, attachments

Editable data formats and content

Page 54: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Editing: Migrating to ArcGIS Runtime 100.0

• Create or get a Feature from the Table

• Modify Feature geometry, attributes, attachments

• Apply Feature edits to Table via async Add, Update, Delete operations

• If editing an online service feature table

- Call ApplyEdits to push edits up to service

• If editing a geodatabase table from an offline sync-enabled geodatabase

- Use GeodatabaseSyncTask to sync with service

• If editing a static Feature Collection Table

- Saved the map or portal item

Workflow

Page 55: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating Editing

• ArcGIS Engine

• ArcGIS Runtime 10.2.x• ArcGIS Runtime 100

Page 56: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Editing: Migrating from ArcGIS Runtime 10.2.x

• ArcGIS Runtime 10.2.x editing workflows

- Online feature service editing

- ArcGIS Server and Portal feature services

- Offline geodatabase feature table editing and synchronization

- Sync-able mobile geodatabases

- Offline map package .mpk editing

- Map packages created in ArcMap used with Local Server

• ArcGIS Runtime 10.2.x supports simple feature editing

- Points, lines, polygons, multipoint

- Simple feature classes

- Features, attributes, attachments

ArcGIS Runtime 10.2.x

Page 57: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Editing: Migrating from ArcGIS Runtime 10.2.xPromoted Workflows

• Editable data formats

- Feature Service

- Mobile Geodatabase

• Editable content

- Simple features / feature classes

• Feature service

• Mobile geodatabase

• Feature Collection

• Shapefile (roadmap)

Page 58: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Editing: Migrating to ArcGIS Runtime 100.0

• ArcGIS Runtime 100.0 supports same formats and content as 10.2.x

• + Feature Collections

- Features, geometry, and attributes

- Stored in maps ‘by value’

- Portal items ‘by reference’

• Offline Map Package .mpk editing via Local Server

- Still supported in 100.0

- Only option for editing File geodatabases

- But complex workflow for integrating edits to enterprise geodatabase

- Many .mpk workflows superseded by sync-enabled feature services and mobile geodatabases

- Roadmap may support editing of ArcGIS Pro Mobile Map Package .mmpk

Editable data formats and content

Page 59: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Roadmap for editing in ArcGIS Runtime 100.x

• Shapefile read / write

• KML read / write

• Edit mobile geodatabases inside Mobile Map Packages .mmpk

• Apply service edits at root feature server level

- Enables roll back of edits on all edited tables on failure

Page 60: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Recommended DevSummit Sessions

• ArcGIS Runtime: Editing Your Data Online and Offline

• ArcGIS Runtime: Working with Maps Online and Offline

Page 61: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating to ArcGIS Runtime v100.0

.NET

Xamarin

iOS

macOS

Android Java Qt

ArcGIS Runtime

Analysis

3D

Routing &

Geocoding

Editing

Maps

Page 62: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

3D: Migrating from ArcGIS Engine

• ArcGIS 8.x / 9.x / 10.x

• ArcGlobe document .3dd

• ArcScene document .sxd

• Multipatch feature classes

• GlobeControl

- Caching and cache management

• SceneControl

- ‘Local’ scenes

Page 63: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

3D: Migrating from ArcGIS Runtime 10.2.x

• 3D was available only in ArcGIS Runtime SDK for .NET >= 10.2.6

• Most 2D content supported in 3D

- Tiled map services, Feature layers

• 3D content

- Scene services

- 3D specific symbols and renderers for graphics and features

• Raster data for elevation data only

• SceneView and Scene

Page 64: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

3D: Migrating to ArcGIS Runtime 100.x

• Available in all ArcGIS Runtime SDKs

- In 100.0 3D is beta on mobile

• Scene Service Layers

- Published using ArcGIS Pro

- ArcGIS Online

- ArcGIS Enterprise

• Scene Layer Packages .slpk

- Created using ArcGIS Pro

- Use offline

• Elevation services and local raster datasets

• Key API types

- SceneView, Scene, Surface, ArcGISSceneLayer,

SceneSymbol, Camera

ArcGlobe

ArcScene

.sxd

.3dd

Page 65: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Roadmap for 3D in ArcGIS Runtime 100.x

• Web Scene read / write

• Location Display on SceneView

• Vector Tile Layer support

• SketchEditor on SceneView

• ‘Local’ Scenes

Page 66: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Recommended DevSummit Sessions

• ArcGIS Runtime: API and Architecture

• ArcGIS Runtime: Building 3D Applications

Page 67: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating to ArcGIS Runtime v100.0

.NET

Xamarin

iOS

macOS

Android Java Qt

ArcGIS Runtime

Analysis

3D

Routing &

Geocoding

Editing

Maps

Page 68: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Analysis: Migrating from ArcGIS Engine

• ArcGIS 8.x / 9.x / 10.x

• Topological relationships

- Geometric objects: point, polyline, polygon…

- Geometry objects implemented interfaces

- IProximityOperator: nearest, distance…

- IRelationalOperator: contains, crosses…

- ITopologicalOperator: boundary, buffer...

• Analysis of layers, processing of data

- Geoprocessing

• Extensions

- NetworkAnalyst

- SpatialAnalyst

- 3DAnalyst

Page 69: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Analysis: Migrating from ArcGIS Runtime 10.2.x

• Geometry Service

- Some ArcGIS Runtime 10.2.x SDKs supported

the online Geometry Service

• Geometry Engine

- Individual geometry based operations

• Geoprocessing

- Online geoprocessing services

- Geoprocessing packages .gpk and Local Server

• Visualization

- Renderers

Page 70: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Analysis: Migrating to ArcGIS Runtime 100.x

• Geometry Engine

- Operates on individual geometries

- Not bound to data or services

- Very efficient synchronous operations

- The foundation for many workflows e.g. click > buffer > query > project > display

• Geoprocessing

- Local geoprocessing service using LocalServer

- Create geoprocessing package .gpk using ArcMap

- ArcGIS Server

- Publish your own services

- ArcGIS Online

- Services hosted by esri

• Visualization

- Renderers

Page 71: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Roadmap for analysis in ArcGIS Runtime 100.x

• Geoprocessing additional tools for Local Server

• Renderers and additional support for smart mapping

• 3D on-the-fly visual analysis e.g. viewshed, line of sight

Page 72: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Recommended DevSummit Sessions

• ArcGIS Runtime: API and Architecture

• ArcGIS Runtime: Analysis

Page 73: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Migrating to ArcGIS Runtime v100.0

.NET

Xamarin

iOS

macOS

Android Java Qt

ArcGIS Runtime

Analysis

3D

Routing &

Geocoding

Editing

Maps

Page 74: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Routing & Geocoding: Migrating from ArcGIS Engine

• ArcGIS 8.x / 9.x / 10.x

• Routing performed on ArcGIS Network Datasets

- Requires Network Analyst extension

- Execute via ArcObjects

- Execute via geoprocessing tools

- Use ArcGIS Server network analyst services

- Solvers

- Route, Closest Facility, Service Area, Origin-Destination Cost

Matrix, Vehicle Routing Problem (VRP) Solver, Location-

Allocation Solver

• Geocoding performed on ArcGIS Locators

- Execute via ArcObjects

- Execute via geoprocessing tools

Page 75: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Routing & Geocoding: Migrating from ArcGIS Runtime 10.2.x

• ArcGIS Runtime 10.2.x routing and geocoding workflows varied depending on lineage of

individual Runtime SDKs

• Routing

- ArcGIS Network Datasets

- ArcGIS Server network analysis services

- Geoprocessing services

- Only some ‘Solvers’ supported

- Execute routing via RouteTask

- All Runtime 10.2.x SDKs supported online

- Some Runtime 10.2.x SDKs supported offline

- Plus online ServiceAreaTask and ClosestFacilityTask

• Geocoding

- ArcGIS Locators

- Execute via Locator Task

- Online Geocode services and local ArcGIS locators (from Create Runtime Content)

Page 76: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Routing & Geocoding: Migrating to ArcGIS Runtime 100.x

• Routing

- ArcGIS Network Datasets

- Specific optimized Network Analysis service types and associated API ‘Task’ types

- Route, Service Area, ClosestFacility

- ArcGIS Runtime provides local equivalent

- Route

- Service Area (roadmap)

- Closest (roadmap)

- Packaged into Mobile Map Packages .mmpk with ArcGIS Pro

- Oher network analysis types available as Geoprocessing services

• Geocoding

- ArcGIS Locators

- Published as services (GeocodeServer endpoint)

- Packaged into Mobile Map Packages .mmpk with ArcGIS Pro

Promoted workflows

Page 77: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Roadmap for routing & geocoding in ArcGIS Runtime 100.x

• Local Service Area Task

• Local Closest Facility Task

Page 78: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Recommended DevSummit Sessions

• ArcGIS Runtime: API and Architecture

• ArcGIS Runtime: Building a Routing Application

Page 79: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Additional resourcesMigrate to 100.0 Guide Topics

https://developers.arcgis.com/android/latest/guide/migrate-to-100-0-0.htm

Page 80: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Eric Bader

What else do you need to know?

Page 81: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

ArcGIS Runtime SDK Product Life Cycles

Version General availability Extended Mature Retired

100.0 Nov 2016 – Oct 2017 Nov 2017- Oct 2018 Nov 2018 – Oct 2020 Nov 2020

Version General availability Extended Mature Retired

10.2.x Oct 2016 - Nov 2018 Dec 2018 – Nov 2019 Dec 2019

10.2.x – 2 years Extended, 1 year Mature

Extended = Hot fixes and patches, but no new platforms

Mature = Support only

Page 82: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

ArcGIS Engine Product Life Cycle – how long do I have?

Page 83: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Reminders and resources

• Be aware of your Product Life Cycles!

http://support.esri.com/other-resources/product-life-cycle

• A few deprecation notices:

• https://blogs.esri.com/esri/supportcenter/2016/06/09/release-of-the-deprecated-features-plan-

for-arcgis-10-4-and-10-4-1/

Page 84: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Where to start?

• Dev Labs!

Page 85: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

A new developer experience!

Page 86: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

100.1

10.2.x equivalency

TodayQ2

2017

ArcGIS Runtime 2017 Release Schedule

Q42017

100.2

The ‘Engine’

release

100.0

Page 87: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Sessions you should attend:

Page 88: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding

Summary

• Architectural differences

- Web GIS vs Client/Server

- Cross platform, 64-bit, high performance

• Know where the right migration paths are!

• http://developers.arcgis.com/labs

• 2017 is the year to start planning your migration!

- Update 1: “10.2.x equivalency” – May

- Update 2: “Engine equivalency” - November

Page 89: Migrating to ArcGIS Runtime 100 - Recent Proceedingsproceedings.esri.com/library/userconf/devsummit17/papers/dev_int...Android Java Qt ArcGIS Runtime Analysis 3D Routing & Geocoding