44
ArcGIS for Developers Part 2 Andy Gup Michael Branscomb

ArcGIS for Developers (Part 2) · •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

  • Upload
    others

  • View
    22

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ArcGIS for Developers (Part 2) · •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

ArcGIS for Developers Part 2• Andy Gup• Michael Branscomb

Page 2: ArcGIS for Developers (Part 2) · •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

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/

Page 4: ArcGIS for Developers (Part 2) · •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

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

Page 6: ArcGIS for Developers (Part 2) · •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

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

Page 8: ArcGIS for Developers (Part 2) · •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

ArcGIS API for JavaScriptAnalytics Server and Client Side

• Local engines- Geometry

- Projection

• Interactive scene analysis

• Network analysis on the server

• Geoprocessing on the server

Page 9: ArcGIS for Developers (Part 2) · •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

Analysis Demo

Page 10: ArcGIS for Developers (Part 2) · •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

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.

Page 11: ArcGIS for Developers (Part 2) · •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

Agenda

• Overview• Capabilities• Developer Resources

Page 12: ArcGIS for Developers (Part 2) · •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

Agenda

• Overview• Capabilities• Developer Resources

Page 13: ArcGIS for Developers (Part 2) · •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

Device

ArcGIS Online

ArcGIS Enterprise

Overview

App

ArcGIS Runtime API

ArcGISRuntime

OGC ServicesLocal Data

Page 14: ArcGIS for Developers (Part 2) · •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

Runtime on multiple devices

Page 15: ArcGIS for Developers (Part 2) · •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

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/

Page 16: ArcGIS for Developers (Part 2) · •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

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…

Page 17: ArcGIS for Developers (Part 2) · •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

Overview – ArcGIS RuntimeAn Architecture Designed to Maximize Performance and Reuse

C++ runtime core

WinLinux OS XAndroid iOS UWP

x86 x64 ARM ARM64DirectXOpenGLOpenGL ES

Page 18: ArcGIS for Developers (Part 2) · •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

Agenda

• Overview• Capabilities• Developer Resources

Page 19: ArcGIS for Developers (Part 2) · •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

Working with Layers

Page 20: ArcGIS for Developers (Part 2) · •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

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

Page 21: ArcGIS for Developers (Part 2) · •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

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

Page 22: ArcGIS for Developers (Part 2) · •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

Working with Maps

Page 23: ArcGIS for Developers (Part 2) · •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

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

Page 24: ArcGIS for Developers (Part 2) · •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

Working with Scenes

Page 25: ArcGIS for Developers (Part 2) · •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

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

Page 26: ArcGIS for Developers (Part 2) · •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

Analysis

Page 27: ArcGIS for Developers (Part 2) · •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

ArcGIS Runtime SDKsAnalysis

• Works with services- Geoproessing- Network analyst- Geocoding

• Local Engines- Geometry- Projection- Network- Geocoding

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

Page 28: ArcGIS for Developers (Part 2) · •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

Real-time Performance

Page 29: ArcGIS for Developers (Part 2) · •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

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

Page 30: ArcGIS for Developers (Part 2) · •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

Augmented and Virtual Reality

Page 31: ArcGIS for Developers (Part 2) · •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

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: [email protected]

Page 32: ArcGIS for Developers (Part 2) · •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

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

Page 33: ArcGIS for Developers (Part 2) · •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

Agenda

• Overview• Capabilities• Developer Resources

Page 34: ArcGIS for Developers (Part 2) · •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

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 35: ArcGIS for Developers (Part 2) · •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

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 36: ArcGIS for Developers (Part 2) · •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

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

Page 37: ArcGIS for Developers (Part 2) · •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

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 38: ArcGIS for Developers (Part 2) · •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

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 39: ArcGIS for Developers (Part 2) · •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

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/

Page 40: ArcGIS for Developers (Part 2) · •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

Summary

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

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

Page 41: ArcGIS for Developers (Part 2) · •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

Questions

Page 42: ArcGIS for Developers (Part 2) · •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
Page 43: ArcGIS for Developers (Part 2) · •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

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

Page 44: ArcGIS for Developers (Part 2) · •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

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”