Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
ArcGIS Runtime SDKsGetting StartedNick Furness
Eric Bader
Rex Hansen
Agenda
• What can I do with the Runtime SDKs?
• How do I get started?
• Architecture
• API Basics
• Licensing
Introduction
Resourcesdevelopers.arcgis.com
• Functionality
• Success Stories
• SDK Doc
- Guide
- Samples
- Reference
• DevLabs
• Example Apps
ArcGIS Runtime v100.0 “Quartz” Release
• New Architecture
- Based around an expanded C++ runtime core and common API
• New API
- Redesigned from the ground up
Reasons for API Redesign
• New internal architecture enabling a new way of doing things
• Allow new capabilities
• Ease of use
- Easy for new users, easier for existing users
- Better OO / use of established patterns
- Reduce areas of confusion
- E.g. Difference between a graphics layer vs a feature layer
- Consistency across the API
- E.g. standard pattern for asynchronous loading of resources
• Robustness and performance
• Opportunity to reflect on our evolving platform
ArcGIS Runtime Common API
• Common conceptual model across platforms
- Capabilities, names and parameters will be the same
• Not a generic API
- Leverage individual platform strengths
ArcGIS Runtime v100.0 Changes
• Internal architecture
• By reference semantics
• Mapping API
- Map and MapView
- Viewpoint
- Graphics Overlays
- Layers name and composition changes
- Advanced symbology
• Geometry API
• Portal API
• Authentication
• 3D API
ArcGIS Runtime Architecture
Qt / QML
Android iOSJava macOS .NET /Xamarin
C++ runtime core
WinLinux macOSAndroid iOS UWP
x86 x64 ARMDirectX
OpenGL ES
Runtime 10.2.x Architecture Internals
C++ runtime core
Mapping, GIS and Core Services
.NET iOS macOS Android JavaSE Qt QML
InteropInterop Interop
Interop InteropInterop
Runtime 100.0 Architecture Internals
.NET iOS macOS Android JavaSE Qt QML
InteropInterop Interop
C++ runtime core
Mapping GIS and Core Services
Runtime C++ API
C ABI
Mapping API
• API builds on what is already there
• Adds new capabilities
• Fully embraces The Map as a central component
Refreshed Mapping API to Accommodate New Functionality
Where Do Maps Come From?
• Portal (web maps)
- Create with a PortalItem or URL
• Pro (mobile maps)
- Access maps inside a Mobile Map Package
• You!
- Create a map in code
- Save to a portal
- Web maps and mobile maps will be different portal item types
- Save locally
Maps and Layers
MapView Map
Layer
FeatureLayer RasterLayer MapImageLayer TiledLayer
3D API
3D - Scenes
• Scenes are like maps, but for 3D
• Scenes created and published with ArcGIS Pro or ArcGIS Online
• Scenes can be viewed on the desktop, web or runtime apps
- WebScene support not present until v100.3
• 10.2.6 .Net SDK released the Quartz 3D API
MapView Map
Layer*
FeatureLayer RasterLayer MapImageLayer TiledLayer
SceneView Scene
Surface
SceneLayer
Runtime 2D Mapping APIRuntime 3D Mapping API
Geometry API
Geometry API
• Synchronized geometry model across all platforms
• Improved architecture and performance
- Immutable geometries
• Can support curves
Geometry
• Immutable
• Has a spatial reference
• Create new with Builders and Constructors
• Curves…
Geometry API
Geometry SpatialReference
Point Multipoint Envelope Multipart
PointCollection Polyline Polygon
Part PartCollection
Segment
LineSegment CubicBezierSegment CircularArcSegment
Runtime App Deployment License Model
Lite Basic Standard Advanced
Commonly used capabilities
found in most applications.
Allows a user to participate
in web GIS.
Lite• View maps, scenes and layers from the platform
• Use packages from the platform
• Simple routing and place finding
• Edit public data
• Support for Web GIS
• Viewing maps and items
• Participate in groups (Private and public)
I N C L U D E S :
ArcGIS Runtime Deployment Levels
For apps that need editing
and more advanced Web
GIS capabilities.
• All capabilities of Lite
• Simple feature editing (Feature Service)
• Connected or Disconnected
• Support for Web GIS contribution
• Map authoring, create groups, sharing
I N C L U D E S :
ArcGIS Runtime Deployment Levels
Basic
• All capabilities of Basic
• Local data Access
• Shapefiles, GeoPackage, J2K, CADRG, TIPP, GeoTIFF, DTED…
• Tools offered via local server technology
• Edit file Geodatabases
• Data conversion tools
• Data management tools (table and field manipulation)
• Analysis (Geometric operations, line of sight, viewshed)
I N C L U D E S :
O P T I O N A L :
• Analysis Extension
• Advanced 3D + advanced network + advanced spatial analysis
ArcGIS Runtime Deployment Levels
For apps that want to
leverage the full
capabilities of the device.
Standard
• All capabilities of Standard
• Tools offered via local server technology
• Direct connect to SDE
• Mosaic datasets
• Analysis (Frequency, near, split)
I N C L U D E S :
ArcGIS Runtime Deployment Levels
For apps performing
enterprise workflows that
require “GIS heavy lifting”.
Advanced
O P T I O N A L :
• Analysis Extension
• Advanced 3D + advanced network + advanced spatial analysis
Options to License Runtime Deployments
• Runtime is licensed depending on the type of app you build
1. Apps that extend or complement ArcGIS
- Licensed via named user
2. Standalone apps (ArcGIS Engine/MapObjects)
- Licensed via a deployment License (Purchased in packs)
Customers who build apps that extend the ArcGIS Platform
License Runtime levels with a named user• The end user brings their license
• App prompts user for credentials
• App is licensed per user
Lite
Level 1 or 2 Named user Level 2 Named user
Basic Standard Advanced
Level 2 Named user
With additional Standard License
Level 2 Named user
With additional Advanced License
Licensing Standard and Advanced with a named user will be coming in a subsequent release
Customers who build apps that stand alone from the platform
Lite
Unlock Runtime levels with a deployment license• Developer license the app
• Purchased by the pack
• Deployments are per app/per device
Deployment Pack
No-cost
Basic
Deployment Pack
50 deployments
Standard Advanced
Deployment Pack
25 deployments
Deployment Pack
5 deployments
Analysis
ExtensionDeployment Pack
5 deployments
Available with Standard
and Advanced
Summary
• Resources available at developers.arcgis.com
• Architecture
- Web GIS + Offline
- Consistency + Performance
• API Basics
- Map + MapView
- Geometry APIs: Immutability + GeometryBuilders
• Licensing
- Lite, Basic, Standard, Advanced