Building Offline Apps With the ArcGIS Runtime SDKs

Slides:



Advertisements
Similar presentations
Publishing GIS Services to ArcGIS for Server
Advertisements

Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Designing and Using.
Esri UC 2014 | Demo Theater | Building.NET Apps with ArcGIS Runtime SDK: Tips and Tricks Rich Zwaap Morten Nielsen.
Technical Workshops | Esri International User Conference San Diego, California Building Applications with ArcGIS Runtime SDK for Windows Phone Rex Hansen.
Developing Mobile Apps with the ArcGIS Runtime SDK for .NET
ArcServer Kris Lander Central Region HQ RFC GIS Workshop July 2007.
Esri UC 2014 | Technical Workshop | Building Java Apps with ArcGIS Runtime SDK Mark Baird and Vijay Gandhi.
Esri UC 2014 | Technical Workshop | Developing Qt Apps with the Runtime SDK Thomas Dunn and Michael Tims.
Esri International User Conference | San Diego, CA Technical Workshops | ArcGIS Runtime Euan Cameron Mary Harvey Ralf Gottschalk Road Ahead.
Technical Workshops | Esri International User Conference San Diego, California Building Applications with the ArcGIS Runtime SDK for WPF Euan Cameron &
Technical Workshops | Esri International User Conference San Diego, California ArcGIS for Windows Mobile Justin Colville July 24th.
Sharing Geographic Content
Introduction to ArcGIS API for JavaScript
Esri International User Conference | San Diego, CA Technical Workshops | Windows Phone – Developing Applications Kylie Donia and Eager Ip July 13, 2011.
Troubleshooting Replication and Geodata Services
Paul Barker Bert Yagrich
Developing Windows Desktop and Device Apps with the ArcGIS Runtime SDK for.NET Rex Hansen Thad Tilton.
Esri UC 2014 | Demo Theater | ArcGIS Runtime Offline APIs Gary Sheppard.
Building Native Mapping Apps with PhoneGap: Advanced Techniques
Developing Android Apps with the ArcGIS Runtime SDK for Android
ArcGIS for Server: Reference Implementations
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS for Windows.
Publishing to ArcGIS for Server
Advance Map Automation With Python
Strategies for Building Mobile Apps Using ArcGIS API for JavaScript Andy Gup, Lloyd Heberlie.
ArcGIS Runtime SDK for iOS: Debugging Offline Feature Editing Garima Bradley &)&) &)&)
1 Clearinghouse Update ArcGIS Online for Organizations selected as the platform for the clearinghouse VDEM Grant Funding for a one- year subscription made.
ArcGIS Online Best Practices from the Trenches
Esri UC 2014 | Technical Workshop | ArcGIS for Windows Mobile - An Introduction Sunee Puckdee, Rui Ge, Morgan Zhang.
Esri UC 2014 | Technical Workshop | Designing and Using Cached Map Services Tom Brenneman & Eric Rodenberg.
Esri UC 2014 | Technical Workshop | Geocoding with ArcGIS Online and ArcGIS Online World Geocoding Service Jeff Rogers and Brad Niemand.
Using the New ArcGIS Runtime SDK for Microsoft
Trimble GeoCollector for ArcGIS: An Introduction Morgan Zhang (Esri), Matthew Morris (Trimble)
Using Collector for Offline Editing with Versioned Data
Esri UC 2014 | Technical Workshop | Developing Offline Apps with ArcGIS Runtime SDKs Euan Cameron Justin Colville Will Crick.
Working with Versioned Data and Feature Service Sync Gary MacDougall Russell Brennan.
Working with Feature Services Gary MacDougall Russell Brennan.
Esri UC 2014 | Technical Workshop | Creating Geoprocessing Services Kevin Hibma.
Adding ArcGIS Online to Your GIS Curriculum
2008 ESRI International User Conference “G eography in Action” GIS User Group Meeting September 19, 2008.
Road Ahead for Vector Mapping
Esri UC 2014 | Technical Workshop | Developing iOS and Mac Apps with ArcGIS Runtime SDK Divesh Goyal & Al Pascual.
Developing iOS & Mac apps with ArcGIS Runtime SDK
Collector for ArcGIS: Tips and Tricks Morgan Zhang Li Lin.
ArcGIS Online: Sharing your Content Ben Ramseth John Thieling.
Developing Cross Platform Apps with the ArcGIS Runtime SDK for Qt
Publishing GIS Services to ArcGIS Server
Esri UC 2014 | Technical Workshop | ArcGIS API for JavaScript: An Introduction Kelly Hutchins Derek Swingley.
Esri UC 2014 | Technical Workshop | Administering ArcGIS for Server with Python Jon Bodamer.
Sharing Maps and Layers to Portal for ArcGIS Melanie Summers, Tom Shippee, Ty Fitzpatrick.
Packaging Network and Geocoding Data for Navigator Mark Bockenhauer & Frank Kish.
Jeff Barrette Jeff Moulds
Accessing Spatial Databases in ArcGIS using Query Layers
ArcGIS Geocoding What’s New and the Road Ahead
Working with Feature Layers
Arizona National Scenic Trail
Geocoding with ArcGIS Online
Collector: Authoring Maps for Offline Data Collection
Enhancing Web Map Performance in ArcGIS Online
ArcGIS Online Ming-Chun Lee.
Creating Geoprocessing Services
Running an Organizational Account in ArcGIS Online
Web AppBuilder for ArcGIS
Best Practices: Authoring Maps for Field Use
Tile layers, map image layers, and on-premises Web GIS
ArcGIS Online – The Road Ahead
Publishing image services in ArcGIS
Introduction to Portal for ArcGIS
Designing and Using Cached Map Services
ArcGIS Pro: An Introduction Overview
Presentation transcript:

Building Offline Apps With the ArcGIS Runtime SDKs Cameron, Colville and Crick

Agenda Workflows and Data Using the APIs Quartz release Overview What can you build? Where does the data come from? Authoring and sharing content with Runtime Apps Using the APIs Mapping Editing GeoCoding Networks Quartz release Many new offline capabilities

Offline Map Capabilities Disconnected Use of the ArcGIS Platform Viewing and Interacting with Maps Querying Data Editing Features Synchronization Find places and locations Get directions Pre-planned or On-demand Workflows Occasionally Connected Scenarios All Runtime SDKs*

The ArcGIS Platform – Working Offline All Aspects of the Platform Support Going Offline Online and Portal Server Desktop New Workflows Critical for You to Understand These Workflows

From ArcGIS Online and Portal Synchronize Download Author Prepare View Query Analyze Edit

Working With Hosted Services Demo Working With Hosted Services Justin

ArcGIS Online Data Licensing Always Review Data Usage Restrictions Supported Esri Services Basemaps Esri Services Not Supported Offline Geocoding Routing

Offline With ArcGIS Server Synchronize Publish Service Download ArcGIS Desktop Author Map View Query Analyze Edit

Prepare Runtime Content Offline With Desktop ArcGIS Desktop Author Map Provision Prepare Runtime Content View Query Analyze Geocode Directions

Working With ArcGIS Desktop Demo Working With ArcGIS Desktop Justin

Mixing and Matching Possible to Take a Hybrid Approach Online basemaps ArcGIS Server feature services GeoCoding and routing from Desktop This Will Be Common in Your Solutions

Optimizing The Data Provisioning Process Features and Basemap Content On Demand – Retrieves data from the server when requested Uses server processing power and bandwidth for every client request Sideloading - Content created ahead of time and provisioned onto the device Can help alleviate server load at busy times of the day Commonly used for basemap tiles Can work with feature data if the workflow is right How often and how many features change on the backend? Networks and Locators Sideloading is the only option

More Choices Coming with ArcGIS Pro 1.2 Mobile Map Packages can be compressed and contain Map Operational data Locators Networks Basemap

Working With Basemaps Offline ArcGIS Desktop Can Create Tile Caches Esri Basemaps http://tiledbasemaps.arcgis.com/… AGOL basemap group ArcGIS Server Tiled Map Services Services Limit Extent Administrator Sets the Limit Workable Size Compression quality Estimations Consider Reusing Offline Basemaps

Psuedo/Code snippets task = new ExportTileCacheTask(url); params = new ExportTileCacheParams(); params.setLevelsOfDetail( [1,2,3,4] ); params.setAreaOfInterest( geometry ); task.estimateTileCacheSize( params); //async task.exportTileCache( params, path ); //async SubmitJob Poll for status Download when complete Some platforms handle partial downloads

Working With Operational Data Offline It is all about the features Read only access Work with attachments and relates Use popups Edit Features Edit attachments and related data Sync changes with a server

Syncing With a Server Send/receive edits Per Layer Sync Per Geodatabase Sync Control Over Sync Direction Download changes only Upload edits only Download changes and upload edits - bidirectional

Generating a Geodatabase and Showing Features Layer getFeatures(x,y) selectFeatures() get/setRenderer() hideFeature() FeatureLayer Feature geometry() attributes() add() update() delete() query() getFields() FeatureTable Graphic GeodatabaseFeature createNewFeature() queryRelated() getAttachments() getFields() GeodatabaseFeatureTable GeodatabaseSyncTask Geodatabase fetchFeatureServiceInfo() new GenerateParams(fsInfo) - generateGeodatabase(params) Geodatabase.getSyncParams() - syncGeodatabase() isSyncEnabled() getFeatureTables() hasLocalEdits()

How Does Sync Work? Apply response to geodatabase Feature service The Flow of Data Apply response to geodatabase Feature service with sync enabled Retrieve response Upload delta Call Sync Generate geodatabase enabled for sync Generate delta geodatabase Adds, edits, deletes

GeodatabaseFeatureTable Feature Layer FeatureLayer Renderer Layer Definition FeatureTable Add/Update/Delete Query Attachments Types/Templates Relationships Has Local Edits GetGeodatabase GeodatabaseFeatureTable FeatureServiceTable ApplyEdits

Demo Offline Features Will

Working With Locators Offline Prepared for Offline Use Using ArcGIS Desktop Programming Model Similar to Online Locators High Performance

Locator psuedo code task = new Locator(path); //geocode params.setText(“”); task.findAddress(); //async //reverse geocode task.findLocation(point);

Working With Networks Offline Prepared for Offline Use Using ArcGIS Desktop Programming Model Similar to Online Networks High Performance

Routing psuedo code task = new RouteTask(path); params = task.retrieveDefaultRouteTaskParams(); params.setStops(NAFeatures); task.solve(); //async

Offline Networks and Locators Demo Offline Networks and Locators Justin

App development Killed/exited apps Hold on to params (or with iOS jobid) and resubmit same job (with use cached job=true) If job still exists on the server, will not resubmit job If partial download on disk, will not resubmit job If error, will resubmit job Apparent sync failure due to network issues Large data over 3G Check for wifi access before you submit your Tasks?

Licensing Offline Capabilities Viewing maps downloaded from Online / Portal Basic License Offline Feature Editing, Sync, Geocoding and Networks Standard License

ArcGIS Runtime Quartz Release Significant New Functionality for Offline Apps Major release Many new capabilities New and changed APIs Improved internal architecture Goals Support the ArcGIS Platform Move ArcGIS Engine developers to the ArcGIS Runtime Synchronize APIs across all ArcGIS Runtime platforms Support specific user workflows

What does Quartz include? Working with maps offline Full authoring support Working with layers offline Support for Local Data and data taken offline Working with analysis offline Working with 3D content

Demo Vector Tiles Quartz Release Vector Tiles Justin and Will

Questions? Don’t forget to fill out the session feedback!