Building Web Editing Applications with ArcGIS 10.1 for Server Gary MacDougall Ismael Chivite
Agenda
•
The basics of Web Editing in ArcGIS Server
•
Web Editing scenarios
•
Typical Server Configurations
•
Q&A
Feature Services in ArcGIS From simple sketching to sophisticated web editing
Web Browsers
Desktop
iPhone Handhelds And Tablets
Feature Service
What is a Feature Service? 3 Client renders features
•
Added in ArcGIS 10
•
Designed for web editing -
Push changes into the geodatabase over the internet
•
Also excellent for querying -
Fetch geometries and attributes
-
Client renders features (Thematic mapping, maptips…)
•
Stateless, quick, RESTful service
2
Geometry Attributes
Query
1
Add 4 Delete Update
Feature Service
Geodatabase
How Feature Services work? (Simplified)
What are Feature Templates?
•
A shortcut to the things that people edit
•
Feature Template defines: -
Symbol
-
Editable and read-only attributes
-
Default values
-
Preferred drawing mode
•
Authored in ArcMap, used by all clients
•
Structured data collection with an intuitive user experience
The Services Directory view
•
of your Feature Service
Your Map Service
It’s Feature Service
Templates
How to create a web editing application?
Prepare your data and templates
Create Feature Service
Use\Create Application
Feature Service Basics Demo
•
Authoring the Map and Editing Templates •
Publishing the service •
Using it
Agenda
•
The basics of Web Editing in ArcGIS Server
•
Web Editing scenarios
•
Typical Server Configurations
•
Q&A
Web Editing Scenarios
• • • •
Attachments
Editor tracking
Ownership Based Data Access
Handling complex symbology/geometries •
Disable geometry edits •
•
Editing versions
Sophisticated Web Editing
Web Editing Scenarios
• • • •
Attachments
Editor tracking
Ownership Based Data Access
Handling complex symbology/geometries •
Disable geometry edits •
•
Editing versions
Sophisticated Web Editing
Web Editing Scenarios
• • • •
Attachments
Editor tracking
Ownership Based Data Access
Handling complex symbology/geometries •
Disable geometry edits •
•
Editing versions
Sophisticated Web Editing
Feature Service usage web editing patterns I
• Render features in the client (Feature Layer) • Fetch all at once (Snaphsot mode) • Or as needed (On demand mode)
• Subset of ArcGIS symbology • No more than a few hundred features in display* • Careful with large polys/polylines • Take advantage of maptips (popups)
* Be smart about using scale dependencies, generalize, filter…
3 Client renders features
2
Geometry Attributes
Query Delete Add Update
1
Feature Service
Geodatabase
Render features client-side
Feature Service usage web editing patterns II Rendering features server-side
• Render features in the server (Map service) • Refresh map after every update • Features being edited displayed in client •
1 Get Map
4
Get Feature 2 to be updated & render
Get Map Again
Through FeatureLayer Selection mode
• Full symbology • Many and complex features • Use MSDs whenever possible
Commit change
Map Service
Feature Service
Geodatabase
Render features server-side
3
Web Editing Scenarios
• • • •
Attachments
Editor tracking
Ownership Based Data Access
Handling complex symbology/geometries •
Disable geometry edits •
•
Editing versions
Sophisticated Web Editing
Web Editing Scenarios
• • • •
Attachments
Editor tracking
Ownership Based Data Access
Handling complex symbology/geometries •
Disable geometry edits •
•
Editing versions
Sophisticated Web Editing
Editing Widgets in ArcGIS Web Mapping APIs Utility objects for speeding up custom editing apps Template picker and edit toolbar
Template Picker
Attachment editor and Attribute Inspector
Sophisticated Web Editing
What is the Geometry Service? Web Browser
• An ArcGIS Server service for geometry manipulation • Enhanced in ArcGIS 10 & 10.1: • Offset, Trim/Extend, Reshape, AutoComplete •
Cut, Difference, Intersect, Union
•
REST interface only
•
Use in combination with Feature Service • To aid in editing workflows • Cut, Reshape… • Also validating business rules!
Geometry Service
Feature Service
Geodatabase
What are Server Object Extensions? Web Browser
• That’s how you extend ArcGIS Server • With new web services To access fine grained ArcObjects • Implement business logic on your server • Accessible via REST and SOAP •
• Adding many tools is an easy and often unnecessary part • Build focused editing apps The necessary tools, no more • The workflow drives the design, not the opposite! •
•
Start by selecting the right client Do not reinvent the wheel • Do not push the technology beyond its comfort level • Or your users! •
•
Develop if needed
Internet Editing for ArcGIS Desktop tool For sophisticated editing or ‘disconnected’ scenarios
• A Map Service that you can edit from Desktop
Enterprise Geodatabase
Check-in/Check-out Geodatabase Replication
ArcGIS Desktop
Summary
•
ArcGIS Server 10 features built-in web editing capabilities
•
Enabling many exciting applications - Crowd sourcing, geocollaboration, web editing…
•
New Feature Service
•
Out of the box editing clients - ArcGIS.com Viewer - ArcGIS Viewer for Flex
•
ArcGIS Web Mapping APIs
•
Geometry Service and Server Object Extensions
Agenda
•
Overview of Editing in ArcGIS
•
The basics of Web Editing in ArcGIS Server 10
•
Advanced Web Editing scenarios
•
Typical Architectures
•
Q&A
Editing native spatial types in databases Web Browser
•
Feature service against non versioned data
•
Last-in wins
•
Changes directly applied on database
•
Use Spatial Data Server
Feature Service
Not Versioned Data
Geodatabase
Versioned editing Web Browser
•
Feature service on a particular ‘web edits session’
•
Last-in wins
•
Updates from feature service validated before posting to master version
•
Typical in intranet or ‘safe’ environments where contributions are not trusted
Edits on version X Feature Service
Periodic validation And Post
Geodatabase
Isolated editing Web Browser
•
Web edits against an isolated geodatabase (in DMZ or off-site deployment)
•
Changes validated and synchronized to geodatabase
•
Crowd-sourced data (internet)
Edits on version X Feature Service
Periodic validation And Post
Periodic Synchronization Replication
Contribution Geodatabase Contribution
Geodatabase
Analysis
Agenda
•
Overview of Editing in ArcGIS
•
The basics of Web Editing in ArcGIS Server 10
•
Advanced Web Editing scenarios
•
Typical Architectures
•
Q&A
Common questions
• • • • • • • • •
Can I edit geometric networks? Parcel fabrics and topologies? XY Event and Route layers? Where is undo-redo? Snapping? Can I edit features with Zs and Ms? Can I edit a user-defined version? How are version conflicts handled? How do I prevent user A from deleting features from user B? •…