ArcGIS Runtime SDKs: Building Offline Apps, Part...
Transcript of ArcGIS Runtime SDKs: Building Offline Apps, Part...
![Page 1: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/1.jpg)
Building Offline Apps with the ArcGIS Runtime SDKs – Part 2
Will Crick, Justin Colville, Euan Cameron
![Page 2: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/2.jpg)
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
![Page 3: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/3.jpg)
Runtime platforms
QT
OS X
Windows Store
JavaSE
iOS
Android
Windows Phone
Mobile
Desktop
Embedded
.NET
Windows Desktop
![Page 4: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/4.jpg)
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
![Page 5: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/5.jpg)
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
SubmitJobPoll for statusDownload when completeSome platforms handle partial downloads
![Page 6: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/6.jpg)
Justin
Taking ArcGIS Online Basemaps Offline
Demo
![Page 7: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/7.jpg)
Working With Operational Data OfflineIt is all about the features
• Read only access• Work with Attachments and Relates• Edit Features• Use Popups• Sync Changes with a Server
![Page 8: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/8.jpg)
Syncing With a Server
• Send Edits• Versioned Data – download & upload – new at server 10.3! (in session I said
this was download only, sorry!)• Per Layer Sync – non versioned data• Per Geodatabase Sync – versioned data• Control Over Sync Direction
- None- Download changes only- Upload edits only- Download changes and upload edits - bidirectional
![Page 9: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/9.jpg)
Generating a Geodatabase and Showing Features
GeodatabaseSyncTask
Geodatabase
GeodatabaseFeatureTable
GeodatabaseFeature
FeatureLayer
Layer
Graphic
Feature
fetchFeatureServiceInfo()new GenerateParams(fsInfo) - generateGeodatabase(params)
Geodatabase.getSyncParams() - syncGeodatabase()isSyncEnabled()
getFeatureTables()hasLocalEdits()
createNewFeature()queryRelated()getAttachments()getFields()
getFeatures(x,y)selectFeatures()get/setRenderer()hideFeature()
geometry()attributes()
FeatureTableadd()update()delete()query() getFields()
![Page 10: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/10.jpg)
How Does Sync Work?The Flow of Data
Generategeodatabase
enabled for sync
Feature servicewith sync enabled
Adds, edits, deletes Generate delta geodatabase
Upload delta
Retrieve response
Apply response to geodatabase
![Page 11: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/11.jpg)
Feature Service Table
![Page 12: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/12.jpg)
SamplesOfflineEditor
Offline Features
Demo
![Page 13: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/13.jpg)
Working With Locators Offline
• Prepared for Offline Use Using ArcGIS Desktop• Programming Model Similar to Online Locators• High Performance
![Page 14: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/14.jpg)
Locator psuedo code
• task = new Locator(path);
• //geocode• params.setText(“”);• task.findAddress(); //async
• //reverse geocode• task.findLocation(point);
![Page 15: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/15.jpg)
Justin
Offline Locators
Demo
![Page 16: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/16.jpg)
Working With Networks Offline
• Prepared for Offline Use Using ArcGIS Desktop• Programming Model Similar to Online Networks• High Performance
![Page 17: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/17.jpg)
Routing psuedo code
• task = new RouteTask(path);
• params = task.retrieveDefaultRouteTaskParams();• params.setStops(NAFeatures);
• task.solve(); //async
![Page 18: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/18.jpg)
Justin
Offline Networks
Demo
![Page 19: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/19.jpg)
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• Backgrounded iOS apps
- Go to iOS session!
• Large data over 3G- Check for wifi access for ExportTilecCacheTask??
![Page 20: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/20.jpg)
Licensing Offline Capabilities
• Viewing Vector and Raster Data- Basic License
• Offline Feature Editing, Geocoding and Networks- Standard License
![Page 21: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/21.jpg)
What’s coming?
ArcGIS Runtime Quartz
Numbers were not working, so we picked something solid, sharp and shiny….
![Page 22: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/22.jpg)
Quartz
• 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
![Page 23: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/23.jpg)
What does Quartz include?
• Working with maps- New Map object central to the API- Create, edit and share maps across the ArcGIS Platform (Online, Portal, Pro)- Offline maps
- Take a map (and its layers) offline using a task- Author offline maps- Provision offline maps (from ArcGIS Pro and other Runtime Apps) with Mobile Map
Packages
• Working with Portals- Find, upload, share and configure- Authentication made easy
![Page 24: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/24.jpg)
New 3D, layer and analysis capabilities
• Working with scenes for 3D- Scenes work everywhere
• Working with layers- New layer types
- Raster layer, scene layer, KML layer- Feature layer support for local GIS data
- Mobile geodatabase (from ArcGIS Pro), geopackage, shapefile- Richer symbology
- New renderers - heatmap, dot density, scale dependent, dictionary- New symbology model - proportional size, color, transparency- Advanced symbology – from ArcGIS Pro
- Analysis- On the fly visual analysis – viewshed, line of sight- Raster layer with a Function Raster
![Page 25: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/25.jpg)
All this requires new and changed apis…
MapView Map
Layer*
FeatureLayer RasterLayer MapImageLayer KMLLayer
![Page 26: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/26.jpg)
Quartz Beta begin
Today Q22015
ArcGIS Runtime Release Schedule
Q42015
Quartz Final release
Feb
10.2.5Qt /QML SDK
May
10.2.63D .Net SDK
![Page 27: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/27.jpg)
Questions?
![Page 28: ArcGIS Runtime SDKs: Building Offline Apps, Part IIproceedings.esri.com/library/userconf/devsummit15/papers/dev_int...the ArcGIS Runtime SDKs – Part 2. ... Android. Windows . Phone.](https://reader038.fdocuments.net/reader038/viewer/2022102601/5ac1c43e7f8b9aca388d6d58/html5/thumbnails/28.jpg)
Rate This Sessionwww.esri.com/RateMyDevSummitSession