Home
Add Document
Sign In
Create An Account
Building Offline Apps with ArcGIS Runtime SDK - Part 2
Download PDF
Comment
Report
29 Downloads
765 Views
Building Offline Apps with ArcGIS Runtime SDK – Part 2 Will Crick, Justin Colville
Agenda
•
•
Part One – Workflows and Data -
What can you build?
-
Where does the data come from?
-
Authoring and sharing content with Runtime Apps
Part Two – Using the APIs -
Mapping
-
Editing
-
GeoCoding
-
Networks
-
What’s changed since Beta
-
What’s coming
Runtime platforms
Desktop OS X
Desktop Client Windows Store
QT
.NET iOS JavaSE
Mobile Embedded
Android
Windows Phone
10.2.2 release
•
Beta @ 10.2, now in final
•
Basemaps -
•
Features -
•
Locator (local)
Directions -
•
GeodatabaseSyncTask
Addresses -
•
ExportTileCacheTask
RouteTask (local)
New but familiar building blocks
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
Demo
Taking ArcGIS Online Basemaps Offline Justin
Working With Operational Data Offline It is all about the features
•
Read only access
•
Work with Attachments and Relates
•
Edit Features
•
Use Popups
•
Sync Changes with a Server
Syncing With a Server
•
Send Edits
•
Versioned Data – download only
•
Per Layer Sync – non versioned data
•
Per Geodatabase Sync – versioned data (download only)
•
Control Over Sync Direction -
None
-
Download changes only
-
Upload edits only
-
Download changes and upload edits - bidirectional
Generating a Geodatabase and Showing Features Layer
FeatureLayer Feature
geometry() attributes()
FeatureTable Graphic
GdbFeature
getFeatures(x,y) selectFeatures() get/setRenderer() hideFeature() add() update() delete() query() getFields()
GeodatabaseFeatureTable
GeodatabaseTask Geodatabase fetchFeatureServiceInfo() new GenerateParams(fsInfo) - generateGeodatabase(params) Geodatabase.getSyncParams() - syncGeodatabase()
isSyncEnabled() getFeatureTables() hasLocalEdits()
createNewFeature() queryRelated() getAttachments() getFields()
How Does Sync Work? The Flow of Data
Apply response to geodatabase Feature service with sync enabled Retrieve response Upload delta
Generate geodatabase enabled for sync
Adds, edits, deletes
Generate delta geodatabase
Demo
Offline Features Android samples CreateRuntimeGeodatabase OfflineEditor
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);
Demo
Offline Locators Justin
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
Demo
Offline Networks Justin
App development
•
Killed/exited apps -
•
-
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
Backgrounded iOS apps -
•
Hold on to params (or with iOS jobid) and resubmit same job (with use cached job=true)
Go to iOS session!
Large data over 3G -
Check for wifi access for ExportTilecCacheTask??
Licensing Offline Capabilities
•
Viewing Vector and Raster Data -
•
Basic License
Offline Feature Editing, Geocoding and Networks -
Standard License
Migrating code from 10.2 beta
•
Name changes -
gdb -> geodatabase
-
TileCacheTask -> ExportTileCacheTask
-
GeodatabaseTask -> GeodatabaseSyncTask -
generateGeodatabase, syncGeodatabase
•
Return edit errors
•
Support for symbol rotation renderers
•
Hide features
•
Fault tolerance -
•
Throw exceptions if not editable, editing outside of extent
Stability and performance
See release notes for each platform
What’s coming? •
•
Summer -
Support for editing versioned data
-
Check-in to ArcGIS desktop
-
Local raster and vector data
-
Feature Service Table -
Online usage using a FeatureTable
-
Allows code/pattern reuse
-
Allows for short drops in network connections
Beyond •
Take maps offline
•
More offline analysis
•
Extensible data formats
•
Custom symbology
Life without the feature service table
Feature Service Table
Questions?
Recommend Documents
Building Qt Apps with ArcGIS Runtime SDK
Building Apps with the ArcGIS Runtime SDK for iOS
Building Apps with the ArcGIS Runtime SDK for iOS
Building Applications with ArcGIS Runtime SDK for AndroidâPart II
Building Applications with ArcGIS Runtime SDK for iOS - Part I
Building Applications with ArcGIS Runtime SDK for Java Part II
×
Report Building Offline Apps with ArcGIS Runtime SDK - Part 2
Your name
Email
Reason
-Select Reason-
Pornographic
Defamatory
Illegal/Unlawful
Spam
Other Terms Of Service Violation
File a copyright complaint
Description
×
Sign In
Email
Password
Remember me
Forgot password?
Sign In
Login with Facebook
Our partners will collect data and use cookies for ad personalization and measurement.
Learn how we and our ad partner Google, collect and use data
.
Agree & Close