arcgis runtime: migrating from arcgis engine

46
Mike Branscomb ArcGIS Runtime: Migrating from ArcGIS Engine

Upload: others

Post on 19-Oct-2021

47 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ArcGIS Runtime: Migrating from ArcGIS Engine

Mike Branscomb

ArcGIS Runtime:Migrating from ArcGIS Engine

Page 2: ArcGIS Runtime: Migrating from ArcGIS Engine

ArcGIS Runtime session tracks at DevSummit 2019

• ArcGIS Runtime SDKs share a common core, architecture and design• Functional sessions promote common capabilities and workflows

• Product sessions promote specific development experiences• Demo theaters highlight specific technical capabilities

Shared workflows, any platform, any device

ArcGIS Runtime

WinLinux macOSAndroid iOS UWP

x86 x64 ARM ARM64

- Authenticating your applications- Working with maps online and offline- Working with ArcGIS Enterprise and Portal- Building 3D applications- Road ahead- Everything you wanted to know... Q&A- Migrating from Engine

- An Introduction to the API and Architecture- Styling maps- Building AR and VR Experiences- Getting to know Arcade- Configuring Webmaps- Analysis- Preparing your data for offline use- Editing your data online and offline

Page 3: ArcGIS Runtime: Migrating from ArcGIS Engine

Overview – ArcGIS RuntimeAn Architecture Designed to Maximize Performance and Reuse

C++ runtime core

WinLinux macOSAndroid iOS UWP

x86 x64 ARM ARM64DirectXOpenGLOpenGL ES

Page 4: ArcGIS Runtime: Migrating from ArcGIS Engine

Migrating to ArcGIS Runtime• ArcGIS Runtime API: new and evolved workflows on all platforms

Shared workflows, any platform, any device

Windows Linux Android iOS macOS

ArcGIS Runtime

ArcGIS Engine

Windows Linux

Page 5: ArcGIS Runtime: Migrating from ArcGIS Engine

Migrating to ArcGIS Runtime• ArcGIS Runtime API: new and evolved workflows on all platforms• Local Server: additional support and extensibility on Windows and Linux

Shared workflows, any platform, any device

Windows Linux Android iOS macOS

ArcGIS Runtime

ArcGIS Runtime

Local Server

ArcGIS Engine

Windows Linux

Page 6: ArcGIS Runtime: Migrating from ArcGIS Engine

Migrating to ArcGIS Runtime• ArcGIS Runtime API: new and evolved workflows on all platforms

Shared workflows, any platform, any device

Windows Linux Android iOS macOS

ArcGIS Runtime

ArcGIS Engine

Windows Linux

Page 7: ArcGIS Runtime: Migrating from ArcGIS Engine

Migrating to ArcGIS Runtime

ArcGIS Runtime

Analysis

3D

Routing & Geocoding

Editing

Maps & Data

Windows Linux Android iOS macOS

Page 8: ArcGIS Runtime: Migrating from ArcGIS Engine

Migrating to ArcGIS Runtime

ArcGIS Runtime

Analysis

3D

Routing & Geocoding

Editing

Maps & Data

Windows Linux Android iOS macOS

Page 9: ArcGIS Runtime: Migrating from ArcGIS Engine

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 10: ArcGIS Runtime: Migrating from ArcGIS Engine

Maps: Migrating to ArcGIS Runtime

• ArcMap .mxd• Map Package .mpk

• Online Maps• Mobile Maps

Page 11: ArcGIS Runtime: Migrating from ArcGIS Engine

Online Maps

https://developers.arcgis.com/rest/

• Maps from Portals• Read/write in Online, Pro, and Runtime• Webmap spec• Online layers & embedded content

- Feature Collection- Feature Layer- Map Image Layer- Tiled Layer- Vector Tiled Layer

Page 12: ArcGIS Runtime: Migrating from ArcGIS Engine

Mobile Maps

http://esriurl.com/CreateOfflineMap

• Maps from ArcGIS Online and Pro• Mobile Map Package .mmpk• Based on web map spec• .mmpk Includes layers and data

- Feature layers and tables- Raster datasets- Tile layer (as a .tpk)- Vector tile layer (as a .vtpk)

• From ArcGIS Pro can include locators and networks

- Geocoding and routing offline

Page 13: ArcGIS Runtime: Migrating from ArcGIS Engine

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 14: ArcGIS Runtime: Migrating from ArcGIS Engine

Data: Migrating from ArcGIS Engine• Shapefile• Personal Geodatabase• File Geodatabase• ArcSDE• Raster• KML• Tile package• Feature Service• Map Service• Image Service• ArcIMS services• WMS, WMTS

• Shapefile• Mobile Geodatabase• Raster• KML• Tile package• Vector tile package• Feature Service• Map Service• Image Service• WMS, WMTS• WFS (v100.5)

Page 15: ArcGIS Runtime: Migrating from ArcGIS Engine

Data: Migrating to ArcGIS Runtime• Mobile Geodatabase (.geodatabase)• Based on SQLite

- Cross-platform, portable, efficient • Contains schema, data, and rendering information• ArcGIS Online – on-demand / pre-planned workflow

- Mobile map packages reference sync-enabled feature services

• Feature Service – .geodatabase file - Sync-enabled

• ArcGIS Pro – Mobile Map Package .mmpk- Read-only

http://esriurl.com/CreateOfflineMap

Page 16: ArcGIS Runtime: Migrating from ArcGIS Engine

Data: Migrating to ArcGIS Runtime• 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 17: ArcGIS Runtime: Migrating from ArcGIS Engine

Data: Migrating to ArcGIS Runtime

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

• Feature Service• ArcGIS Enterprise and ArcGIS Online• Display, query, and edit data • ArcGIS Runtime API accesses via calls to REST API• Create mobile geodatabases

- Synchronize features, records, attachments

Page 18: ArcGIS Runtime: Migrating from ArcGIS Engine

Data: Migrating to ArcGIS Runtime

• Map and Image services• Map services

- Dynamically renders map images- Preconfigured layers, renderers- Override via DynamicLayer

• Image services- Dynamically access raster imagery- Apply rendering rules

Page 19: ArcGIS Runtime: Migrating from ArcGIS Engine

Migrating to ArcGIS Runtime• ArcGIS Runtime API: new and evolved workflows on all platforms• Local Server: additional support and extensibility on Windows and Linux

Shared workflows, any platform, any device

Windows Linux Android iOS macOS

ArcGIS Runtime

ArcGIS Runtime

Local Server

ArcGIS Engine

Windows Linux

Page 20: ArcGIS Runtime: Migrating from ArcGIS Engine

Maps and Data: Migrating to ArcGIS Runtime

• Map Document .mxd• Map Package .mpk• Layer file .lyr• Layer package .lpk• File Geodatabase

- Feature class- Raster dataset- Raster mosaic

• Local Geoprocessing Service• Local Map Service

Page 21: ArcGIS Runtime: Migrating from ArcGIS Engine

Local Geoprocessing

Service

Local Server

Maps: Migrating to ArcGIS Runtime• Local Server enables support for desktop file formats

- Maps / projects, map packages, layer files, layer packages

• Available on Windows and Linux desktops- ArcGIS Runtime SDKs: .NET, Java, and Qt

• Read map packages with local map services- ArcMap (.mpk) and Pro (.mpkx)

• Read and manipulate content via local geoprocessing services- Geoprocessing packages .gpk / .gpkx

• Create with Model Builder or Python

ArcGIS Runtime API

Windows Linux

Page 22: ArcGIS Runtime: Migrating from ArcGIS Engine

Migrating to ArcGIS Runtime

ArcGIS Runtime

Analysis

3D

Routing & Geocoding

Editing

Maps & Data

Windows Linux Android iOS macOS

Page 23: ArcGIS Runtime: Migrating from ArcGIS Engine

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

Page 24: ArcGIS Runtime: Migrating from ArcGIS Engine

Editing: Migrating to ArcGIS Runtime

• Personal geodatabase• File geodatabase• ArcSDE geodatabases• Shapefiles

• Feature services• Mobile Map Package• Mobile geodatabase• Feature Collection• Shapefile

Page 25: ArcGIS Runtime: Migrating from ArcGIS Engine

Editing: Migrating to ArcGIS Runtime

• Feature service- ArcGIS Enterprise and Online feature services

• Mobile map package- Mobile map packages with sync-enabled mobile geodatabases- Created from feature service with the OfflineMapSyncTask

• Mobile Geodatabase- Sync-enabled mobile geodatabases- Created from feature service with the GeodatabaseSyncTask

• Static feature collection editing- Feature collections (map and item based)

• Edit features, attributes, and attachments- Cannot edit topologies, utility networks, transportation networks

Editable data formats

Page 26: ArcGIS Runtime: Migrating from ArcGIS Engine

Editing: Migrating to ArcGIS Runtime

• Create or get a Feature from the Table• Modify feature geometry, attributes, attachments• Apply feature edits to table instance 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 27: ArcGIS Runtime: Migrating from ArcGIS Engine

Migrating to ArcGIS Runtime

ArcGIS Runtime

Analysis

3D

Routing & Geocoding

Editing

Maps & Data

Windows Linux Android iOS macOS

Page 28: ArcGIS Runtime: Migrating from ArcGIS Engine

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 29: ArcGIS Runtime: Migrating from ArcGIS Engine

3D: Migrating to ArcGIS Runtime• Document formats:

- WebScene- Mobile Scene Package (v100.5)

• Scene Service Layers- Published using ArcGIS Pro- ArcGIS Online and ArcGIS Enterprise

• Scene Layer Packages .slpk- Created using ArcGIS Pro- Use offline

• Elevation services and local raster datasets• Exploratory analysis

- Fast visual analysis - Viewshed, Line of Sight, Location Distance Measurement

Page 30: ArcGIS Runtime: Migrating from ArcGIS Engine

Migrating to ArcGIS Runtime

ArcGIS Runtime

Analysis

3D

Routing & Geocoding

Editing

Maps & Data

Windows Linux Android iOS macOS

Page 31: ArcGIS Runtime: Migrating from ArcGIS Engine

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 32: ArcGIS Runtime: Migrating from ArcGIS Engine

Analysis: Migrating to ArcGIS Runtime• Geometry Engine (for topological relationships)

- Methods operate on individual geometries- Very efficient synchronous operations

• Geoprocessing (analysis of layers, data processing)- ArcGIS Enterprise

- Publish your own services- Local geoprocessing service using LocalServer

- Create geoprocessing package using ArcMap (.gpk) or ArcGIS Pro (.gpkx)

• Visualization- Interactive analysis (3D only): Viewshed, line of sight, distance measurement- Renderers

Page 33: ArcGIS Runtime: Migrating from ArcGIS Engine

Migrating to ArcGIS Runtime

ArcGIS Runtime

Analysis

3D

Routing & Geocoding

Editing

Maps & Data

Windows Linux Android iOS macOS

Page 34: ArcGIS Runtime: Migrating from ArcGIS Engine

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 35: ArcGIS Runtime: Migrating from ArcGIS Engine

Routing & Geocoding: Migrating to ArcGIS Runtime• Routing

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

- Route, Service Area, Closest Facility- Service and local dataset

- Published as services (NAServer endpoint)- Packaged into Mobile Map Packages .mmpk with ArcGIS Pro - Other network analysis types available as Geoprocessing services

• Geocoding- ArcGIS Locators- Published as services (GeocodeServer endpoint)- Packaged into Mobile Map Packages .mmpk with ArcGIS Pro

Page 36: ArcGIS Runtime: Migrating from ArcGIS Engine

Developer Resources

Page 37: ArcGIS Runtime: Migrating from ArcGIS Engine

ArcGIS for Developers - developers.arcgis.com

• Your starting point for finding ArcGIS Runtime SDK resources- Sign up to receive credits for developing and testing your apps!

• Downloads- ArcGIS Runtime SDKs for all platforms

• Documentation- Developers guide, API reference, Samples documentation

• Samples- Focused samples to illustrate API functionality- Full example apps

• Tutorials- DevLabs: Data, Design, and Develop

• Toolkit

Start here!

Page 38: ArcGIS Runtime: Migrating from ArcGIS Engine

Documentation

• Developers guide – developers.arcgis.com/documentation/- Conceptual documentation with focused examples (snippets)

- High-level documentation that applies to all ArcGIS Runtime SDKs- .NET-specific documentation

• API reference – developers.arcgis.com/net/latest/wpf/api-reference/- Documentation for each class and member in the API

• Sample documentation – developers.arcgis.com/net/latest/wpf/sample-code/- Brief description and screenshot of the sample- Relevant code (text)

Page 39: ArcGIS Runtime: Migrating from ArcGIS Engine

Sample code

• Sample viewer projects github.com/esri/arcgis-runtime-samples-dotnet- Contains all source code for 150+ samples on all platforms- Small examples of focused API functionality

• Demos - github.com/Esri/arcgis-runtime-demos-dotnet- Larger samples that illustrate some common workflows- Portal item browser, turn-by-turn routing, external GPS

• Example apps - developers.arcgis.com/example-apps/- Focused functional apps: offline map viewer, data collection- All source code (github.com/esri/)- Well documented and configurable

Page 40: ArcGIS Runtime: Migrating from ArcGIS Engine

Tutorials and support

• DevLabs – developers.arcgis.com/labs/- Short focused tutorials- Most will take 15 minutes or less to complete- Guides you through all aspects of creating a custom map app

- Data – Import data, create a new dataset, share your content- Design – Style a web map, configure pop-ups- Develop – Search and geocode, display a map, access private layers

- Includes solution code (or data)

• GeoNet – ArcGIS Runtime SDK for .NET community.esri.com/community/developers/native-app-developers/arcgis-runtime-sdk-for-net/- Public forum for questions, discussion, blogs, etc.

Page 41: ArcGIS Runtime: Migrating from ArcGIS Engine

Additional controls and utilities (toolkit)

• Toolkit project – github.com/Esri/arcgis-toolkit-dotnet- UI controls to provide additional functionality- Includes all source code and samples- Available as a NuGet package

- Compass- Layer legend- Scale line- Symbol display- Time slider- and more …

Page 42: ArcGIS Runtime: Migrating from ArcGIS Engine

Open source example apps

https://developers.arcgis.com/example-apps/

• Learn from Esri developers- Production quality apps built by Esri developers and released open source for you to use

• Don’t start from scratch- Released under Apache 2.0 license so you can make them your own

• Receive the support you need- Built and maintained by the Open Source Example Apps team

• Help the community- Fix issues, submit PRs, and contribute to the community

Page 43: ArcGIS Runtime: Migrating from ArcGIS Engine

Roadmap

Page 44: ArcGIS Runtime: Migrating from ArcGIS Engine

Update 5 (100.5) – April 2019• Mobile scene packages • GroupLayer• 3D Layers: Point Cloud, Point scene, and Integrated Mesh• Subsurface navigation• KML Tour & Refresh overrides• WFS• Next generation raster tile packages (.tpkx) and locators (.loz)• Enhanced symbology support and API for greater parity with ArcGIS Pro• Reference scale for text and symbols • Annotation layers

Page 45: ArcGIS Runtime: Migrating from ArcGIS Engine

Complete answersand select “Submit”

Scroll down to find the feedback section

Select the session you attended

Download the Esri Events app and find your event

Please Take Our Survey on the App

Page 46: ArcGIS Runtime: Migrating from ArcGIS Engine