arcgis runtime: editing your data online and offlinedata editing workflows • working with maps...
TRANSCRIPT
Euan Cameron and Nick Furness
ArcGIS Runtime Editing your data online and offline
What we are covering
• Importance of the infrastructure• API functionality overview• Updated functionality
- Synchronization with Maps and layers- Edit Transactions with Geodatabases- New data formats that support editing
• Data distribution isn’t covered in this session
Vector Tile Layers
Scenes
TileLayers
Maps
Services
Data
FeatureLayers
ImageLayers
Analytics Geocoding
The ArcGIS Platform Information Model
What can I edit?
• Feature services• Sync-enabled Geodatabases• Feature Collections• Shapefiles• GeoPackages
Feature tables
Data Editing Workflows
• Working with Maps that contain Feature Layers- This is the recommended workflow
• Directly against Feature Service online or disconnected• Working against files on your device
• The editing code you write is mostly the same for all 3, the complexity comes from the other parts of your data workflow
ArcGIS Online – Editing Online
Author
Features sent to clientas needed
Edits pushed back to service
Edit
Author
Optional
ArcGISDesktop
Push changes with ApplyEdits()
Nick
Online Based Editing
ArcGIS FeatureTable API
ServiceFeatureTable
ArcGISFeatureTable
FeatureLayer
FeatureTable
getRenderer()setDefintionExpression()
addFeature(), updateFeature(), deleteFeature(), queryFeatures()
getLayerInfo()getFeatureType()getFeatureTemplate()
applyEdits()
ArcGISFeature
Feature
geometry()attributes() GeoElement
FeatureTable()
Attachments()Loadable()
GeodatabaseFeatureTable getGeodatabase()
Editing capabilities
• FeatureLayer.IsEditable• Editor permissions
- Control if users can add, delete or modify features- Query the capabilities on the FeatureTable- canAdd() – new features can be added- canDelete() – features can be deleted- canUpdate(feature) – checks editor permissions- canEditGeometry() – if false, only attributes can be modified
Feature types and templates
• Predefined list of features types, drawing information and attributes
• Types- Build from subtypes
• Template- Name- Description- Default tool- Prototype attributes
Editor Tracking
• Accountability and quality control• Creator, Editor, Creation Date and Last Edit Date fields as part of the feature service• Layer properties found on ArcGISFeatureLayerInfo (get from ArcGISFeatureTable)• Configured at Feature service level, properties available on ArcGISFeatureServiceInfo• getEditableAttributeFields() – will NOT return editor tracking fields API manages
Ownership Based Access Control (OBAC)
• Restricts users from editing or querying features they don’t own• Requires editor tracking• Populating creator field is handled by Editor Tracking• Runtime handles permission checking
Attachments
• A file associated with ArcGISFeature- Picture, Video, Document
• Requires Upload capability
• CanEditAttachments• AddAttachmentAsync• DeleteAttachmentAsync• UpdateAttachmentAsync
NickGeometry Editing
ArcGIS Online – Editing Offline
Author
Edit
Synchronize
Download
Author
Optional
ArcGISDesktop
Control over sync direction• bidirectional• Upload edits only• Download changes only
Nick
Offline Based Editing
How Does Sync Work?
Generategeodatabase
enabled for sync
Feature servicewith sync enabled
Adds, edits, deletes Generate delta geodatabase
Upload delta
Retrieve response
Apply response to geodatabase
Call Sync
Geodatabase transactions
• Provides way to batch your changes
• Operations- Begin transaction- Commit transaction- Rollback transaction
• Only one transaction at the time
Nick
Editing Transactions
Offline Map Workflows
• Preplanned map areas- Prepackaged using ArcGIS API for Python or Geoprocessing tools- Downloaded using ArcGIS Runtime- Scheduled updates to preplanned areas do not support editing
• On-demand map areas- Generated and downloaded on request basis
• Supports synchronization framework- Work directly with map- More control when working with layers
Synchronizing layersWorking with the GeodatabaseSyncTask
• Targets a single feature service • Choose which layers are targeted• Control over layers/tables options
• Related tables are not returned by default
Area 1
Area 2 Area 3
Area 4
Synchronizing map
Area 1
Area 2 Area 3
Area 4
OfflineMapSyncTask• Targets every feature layer in the map
• Simplifies usage• Restricts options
• Designed to work with OfflineMapTask
Deploying Apps using ArcGIS RuntimeLicense Levels
• Lite- View maps, scenes and layers from the platform, simple routing and place finding
• Basic- Simple feature editing (connected or disconnected),authoring maps, creating groups, sharing and
navigation
• Standard- Local data access and Local Server
• Advanced- Direct connect to SDE, Mosaic datasets, advanced GP tools
• Analysis Extension- Available with Standard and Advanced levels- Spatial, 3D and Network Analysis tools
Data Collection Open Source App
• An Open Source app used for collecting data• Connected and disconnected workflows supported in the app
- Viewing feature attributes- Adding, editing or deleting features
• Available on SDK homepages
https://developers.arcgis.com
Thank You