ArcGIS for Developers (Part 2) · •Working with maps-Maps are a central API component-Build a...

Preview:

Citation preview

ArcGIS for Developers Part 2• Andy Gup• Michael Branscomb

ArcGIS API for JavaScript

• 2D and 3D visualizations

• Simple and consistent API

• Rich visualizations possible with simple layer styling

• Works well with various JS frameworks and development environments

• High performance display- WebGL driven

- Client side engines for local processing of data

https://developers.arcgis.com/javascript/

ArcGIS API for JavaScript2D and 3D Mapping

• Programming pattern similar between 2D and 3D views- Views share implementation for layers, renderers, tasks, geometry, symbology, pop-ups, and

navigation

• 3D adds specific capabilities for environmental aspects and camera

• Unique 3D symbology

• Data driven visualization

ArcGIS API for JavaScriptHigh Performance Map Display

• Combination of fast rendering on the client and efficient delivery of content

• Tiled feature services support efficient delivery of GIS features- Tiles generated on the fly on the server and cached

- Updated automatically when underlying data changes

- Geometry and attributes are sent to client

- Supports editing

• Vector Tiles supported when full features or data currency not required- After initial creation less server load

ArcGIS API for JavaScriptAnalytics Server and Client Side

• Local engines- Geometry

- Projection

• Interactive scene analysis

• Network analysis on the server

• Geoprocessing on the server

Analysis Demo

ArcGIS API for JavaScriptUser Experience

• Responsive user interface design

• Comprehensive widget set means rapid application development- Over 25 widgets including; Legend, Coordinate conversion, Measure, Search, Popup, Print, …

- Rich popup implementation

- Consistent out of the box styling

• Possible to reuse business logic and style custom user interfaces - Use themes, write your own CSS styles or customization via SASS

- Repurpose widgets to work with frameworks such as React, Angular, Vue and others.

Agenda

• Overview• Capabilities• Developer Resources

Agenda

• Overview• Capabilities• Developer Resources

Device

ArcGIS Online

ArcGIS Enterprise

Overview

App

ArcGIS Runtime API

ArcGISRuntime

OGC ServicesLocal Data

Runtime on multiple devices

Overview – ArcGIS Runtime SDKsNative App Development

• Support 6 operating systems / platforms- Android, iOS, macOS, Linux, Universal Windows Platform (UWP) and Windows

• 5 APIs- .NET, Android, iOS, Java, and Qt

• You select the development environment of your choice- Integrates with your solution- Makes you productive

• Your users benefit from the optimum solution

https://developers.arcgis.com/arcgis-runtime/

Overview – ArcGIS Runtime SDKsWhy Build a Native App?

• Native apps give the best performance• Fully leverage device capabilities• Access all peripherals via their native SDKs• Best debugging experience• Offline use of ArcGIS

- Maps, scenes, editing, analysis, routing…

Overview – ArcGIS RuntimeAn Architecture Designed to Maximize Performance and Reuse

C++ runtime core

WinLinux OS XAndroid iOS UWP

x86 x64 ARM ARM64DirectXOpenGLOpenGL ES

Agenda

• Overview• Capabilities• Developer Resources

Working with Layers

Capabilities – ArcGIS Runtime SDKsWorking with Layers from Services

• Feature layer• Raster layer• Map Image Layer• Scene Layer• Vector tiles• Raster tiles• OGC services

- WMTS, WMS, KML and WFS*

* Release in Q1 2019

Capabilities – ArcGIS Runtime SDKsLayers from Local GIS Data

• Feature Layer with vector data- Mobile Geodatabase, GeoPackage, Shapefile

• ENC Layer – S57 with S52 symbology; S-63 data protection support• Raster Layer

- Mosaic dataset, GeoPackage, - Raster file formats: ASRP/USRP, CRF, DTED, GeoTIFF/TIFF, HFA, HRE, IMG, JPEG, JPEG2000, NITF, PNG, RPF, SRTM (HGT), USGS DEM

• KML Layer- OGC KML 2.2 + extensions; OGC KML 2.3

• Mobile Map Packages• Mobile Scene Packages*• Scene Layer Packages• Raster Tile Package Basemaps• Vector Tile Package Basemaps * Release in Q1 2019

Working with Maps

Capabilities – ArcGIS Runtime SDKsWorking with Maps

• Working with maps- Maps are a central API component

- Build a Map, display it in a MapView- Maps are created from items or code

• Platform sharing of maps and layers- Share & consume maps from Portal, ArcGIS Pro or other apps- Share maps and layers in Mobile Map Packages

• Offline maps and layers- Take maps and layers offline using on-demand or pre-planned workflows

Working with Scenes

ArcGIS Runtime SDKsWorking with 3D Content

• High performance on desktops and mobile devices• 2D layers work in 3D• Specific 3D layers for 3D content

- Terrain- 3D features- Models- Integrated meshes*- Point clouds*

• Services for connected scenarios • Packages for offline scenarios

* Release in Q1 2019

Analysis

ArcGIS Runtime SDKsAnalysis

• Works with services- Geoproessing- Network analyst- Geocoding

• Local Engines- Geometry- Projection- Network- Geocoding

• Interactive 3D Analysis- Viewshed - Line of Sight- Measure

Real-time Performance

ArcGIS Runtime SDKsUltimate Performance

• Device capabilities continue to grow• Harnessing this power is critical for tomorrows Apps• ArcGIS Runtime brings it all together

- Display- Data access- Analytics

• Online and offline• ArcGIS Runtime enables you to build apps with large data volumes updating in real-time

Augmented and Virtual Reality

ArcGIS Runtime AR / VR Beta Program

• Started November 2017• Available for ArcGIS Runtime SDKs for:

- Android- iOS- .NET (Xamarin.Android, Xamarin.iOS)

• Targeting mobile devices• Includes beta API to support building AR or VR

Request access to the beta program: ArcGISRuntimeARVRBeta@esri.com

ArcGIS Runtime – Augmented Reality

• Initial release will focus on capabilities of the predominant AR platforms- ARKit – iOS- ARCore – Android

• Available for ArcGIS Runtime SDKs for:- Android- iOS- .NET (Xamarin.Android, Xamarin.iOS)

• Two scenarios- Small scale representations of virtual content placed in the real world ‘Table top’- Full scale real world view

Agenda

• Overview• Capabilities• Developer Resources

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!

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)

Sample code

• Sample viewer projects github.com/esri/arcgis-runtime-samples-dotnet- Contains all source code for over 130 samples on all platforms- Small examples of focused API functionality- Add layers, create symbols, run a geoprocessing tool

• 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: indoor routing, map viewer, data collection- All source code (github.com/esri/)- Well documented and configurable

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.

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 …

Example Apps

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

Don’t start from scratchReleased under Apache 2.0 license so you can make them your own

Receive the support you needBuilt and maintained by the Example Apps team

Help the community (if you want)Fix issues, submit PRs, and contribute your ideas and hard work to the community

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

Summary

• Extension APIs for customizing and extending ArcGIS- Desktop- Server

• Client APIs for building Apps- Web- Mobile- Desktop

Questions

Print Your Certificate of AttendancePrint Stations Located at L Street Bridge

Tuesday Wednesday12:30 pm – 6:30 pm GIS Solutions Expo Hall D

5:15 pm – 6:30 pm GIS Solutions Expo SocialHall D

10:45 am – 5:15 pm GIS Solutions Expo Hall D

6:30 pm – 9:00 pm Networking ReceptionNational Museum ofNatural History

Please Take Our Survey on the AppDownload the Esri Events app and find your event

Select the session you attended

Scroll down to find the feedback section

Complete answersand select “Submit”

Recommended