ArcGIS Runtime: Editing Your Data Online and OfflineData Editing Workflows • Working with Maps...

Post on 23-Sep-2020

10 views 0 download

Transcript of ArcGIS Runtime: Editing Your Data Online and OfflineData Editing Workflows • Working with Maps...

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