Download - Web Editing in ArcGIS Server
Esri International User Conference | San Diego, CA
Technical Workshops |
Web Editing inArcGIS Server 10
July 13,2011European User Conference 2011
ArcGIS Server 10
Ismael Chivite
ArcGIS Server Senior Product Manager
Agenda
• Overview of Editing in ArcGIS
• The basics of Web Editing in ArcGIS Server 10
• Web Editing scenarios
• Typical architectures• Typical architectures
• Q&A
Editing in ArcGIS 10
Professional GIS Editing
• From ArcGIS Desktop
• Editing over the local network or the internet
• Connected or partially connected
• Full editing capabilities :
ArcGIS DesktopArcGIS Desktopand Engineand Engine
• Full editing capabilities :
• Advanced snapping, COGO, network editing, topologie s,
feature extraction, QA\QC, spatial adjustment tools
• Versioning and conflict resolution, history, dimens ions and
complex features…
Multi-user geodatabase
GeodataService
FeatureService
Field editing (Windows Mobile)
• ArcGIS Mobile Applications and SDK
• Windows platform
• Editing through Mobile service
• Streamlined synchronization for partially connected environments
ArcGIS Mobile ArcGIS Mobile
• Streamlined synchronization for partially connected environments
• Tools for the field editor
• GPS integration, quick snapping, touch-experience
• Subset of geodatabase behavior and symbology
Multi-user geodatabase
MobileService
Mobile editing (iOS, Android and Windows Phone)
• OOTB Application and SDK
• iPhone, iPad, Windows Phone and Android devices
• Editing through Feature Service
• Only works in fully connected environments*
ArcGIS for ArcGIS for iOSiOS
• Only works in fully connected environments*
• Quick updates
• Change attributes, attach picture
• Simple tools for sketching
• Focused editing
• Development through APIs
* ArcGIS Runtime SDK for iOS also supports disconnected editing
Multi-user geodatabase
FeatureService
Web browser based editing
• ArcGIS Web Mapping APIs and Web Apps
• HTML, Adobe Flex, Microsoft Silverlight\WPF
• Editing through Feature Service
• Only works in fully connected environments
ArcGIS Web Mapping APIsArcGIS Web Mapping APIs
• Only works in fully connected environments
• Quick updates
• Change attributes, attach picture
• Simple tools for sketching
• Focused editing
• Development through APIs
Multi-user geodatabase
FeatureService
Editing in ArcGIS
Target Audience Tools Platform Connection GIS Services
ArcGIS Desktop& ArcGISEngine
Professional GISuser
Full suite WindowsPartially
connectedGeodataFeature
ArcGIS for Windows Mobile
Field crews,mobile user
Subset of tools and geodatabase
behaviorWindows Mobile
Partiallyconnected Mobile
ArcGIS Runtime for iOS
Android, Windows Phone
Casual userAttribute edits, sketching and custom tools
iOS(iPhone/iPad)
AndroidFully connected Feature
ArcGIS Web Mapping APIs
and Apps
Casual user,focused tasks
Attribute edits, sketching and custom tools
Web browser(HTML, Flex, Silverlight)
Fully connected Feature
Agenda
• Overview of Editing in ArcGIS
• The basics of Web Editing in ArcGIS Server 10
• Web Editing scenarios
• Typical Architectures• Typical Architectures
• Q&A
Web BrowsersWeb Browsers
BuiltBuilt--in in geocollaborationgeocollaboration and web editingand web editingEnabling crowdEnabling crowd--sourcing and focused editing applicationssourcing and focused editing applications
iPhoneiPhoneHandheldsHandhelds
And TabletsAnd Tablets
DesktopDesktop
FeatureService
• Feature Template based editing: Well defined Inform ation Model• Feature Service: An editing web service for your ge odatabase• Edit from many clients
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
1
What is a Feature Service?
• New in ArcGIS Server 10
• Designed for web editing- Push changes into the geodatabase over the internet
• Also excellent for querying
QueryGeometryAttributes
Client rendersfeatures
2
3
4AddDeleteUpdate
• Also excellent for querying- Fetch geometries and attributes
- Client renders features (Thematic mapping, maptips…)
• Stateless, quick, RESTful service
Geodatabase
FeatureService
How Feature Services work?(Simplified)
Update
How to create a web editing application?
Prepare Prepare CreateCreatePrepare Prepare your data your data
and templatesand templates
CreateCreateFeatureFeatureServiceService
UseUse\\CreateCreateApplicationApplication
Preparing your data
• Define your geodatabase model- Feature types (geometry, attributes, attachments)
- Not supported: Dimensions, TINs, Rasters…
- Business rules
Default attributes, domains, subtypes, relationship s…- Default attributes, domains, subtypes, relationship s…
• Make sure it can be edited- Must be registered within an ArcSDE geodatabase
- Grant read-write permissions
- No need to version your data
Tip: If ArcMap cannot edit it, a Feature Service will not eitherTip: If ArcMap cannot edit it, a Feature Service will not either
Authoring your map document for editing
• Define your feature templates in ArcMap- Field visibility, field-name aliases, read-only fie lds, default attributes
- Symbology (not all renderers and symbols are support ed. See next slide)
- Preferred drawing mode: Freehand, polygon, rectangl e…
• Refine your map document- If versioned, select the version to edit
- Eliminate unnecessary data from your map document
- Author, credits, summary etc
Feature Services and ArcGIS symbology
• Supported renderers:- Simple, Unique Value, Class Breaks
• Symbology:All symbols are supported, but your client may down grade*- All symbols are supported, but your client may down grade*
- Simple Marker and Picture Marker symbols
- Simple Line symbols
- Simple and Picture Fill supported
* Well… there are ways to prevent that. We will see that later!
Feature Service symbology demo
Publishing your Feature Service
• Feature Service is a capability of a map service
• Must publish a map service, then enable FeatureAccess
- Tip: Ideally publish from an MSD. Not an MXD
• Securable like any other service
From ArcGIS Desktop
From ArcGIS Server Manager
If things go wrong…
•• Common reasons why a Feature Service will not Common reasons why a Feature Service will not start:start:
•• ArcGIS SOC user cannot access the dataArcGIS SOC user cannot access the data
•• No editable No editable ArcSDEArcSDE workspace in your mapworkspace in your map
•• More than one More than one ArcSDEArcSDE workspace in your mapworkspace in your map
•• Renderer not supportedRenderer not supported
•• Look at the logs!Look at the logs!
SymbologySymbology downgrades will show as downgrades will show as warnignswarnigns, but your service will publish., but your service will publish.
The Services Directory view
• of your Feature Service
Your Map Service
It’s Feature Service
Templates
Selecting the right client for the job
ArcMap, AutoCADFull blown editingCheck-in-out model + Fully connected
BrowsersandiPad-like
Professional Desktop seats
iPhone, AndroidUpdate attributesSimple non-accurate point collectionFully connected
Update attributesSimple non-accurate sketching (point, line, poly)Fully connected
Phones
iPad-like
Feature Service Basics Demo
• Authoring the Map and Editing Templates
• Publishing the service
• Using it
Agenda
• Overview of Editing in ArcGIS
• The basics of Web Editing in ArcGIS Server 10
• Web Editing scenarios
• Typical Architectures• Typical Architectures
• Q&A
Web Editing Scenarios
• Web Editing with the Viewers
• Attachments
• Handling complex symbology/geometries
• Attribute Edits• Attribute Edits
• Sophisticated Web Editing
•• Configurable appConfigurable app•• Look and feelLook and feel•• CapabilitiesCapabilities•• Map contentMap content
Configurable out of the box applicationsConfigurable out of the box applications
Web Editing with the ViewersWeb Editing with the Viewers
•• Map contentMap content•• Ideal for the creation of proofs of concept and as a basis for Ideal for the creation of proofs of concept and as a basis for
focused applicationsfocused applications•• Extensible/CustomizableExtensible/Customizable•• You host it, you control itYou host it, you control it
esri.com/flexviewer esri.com/silverlightviewer
What are geodatabase attachments?
•• A file associated to a featureA file associated to a feature•• Video, picture, Video, picture, pdfpdf, zip…, zip…
•• Stored in the Stored in the geodatabasegeodatabase as a BLOBas a BLOB
•• 1 to many relationship1 to many relationship
•• One feature, many attachmentsOne feature, many attachments
•• Retrieve and edit from Desktop and the WebRetrieve and edit from Desktop and the Web
AttachmentsDEMO
Handling complex geometries and symbology
What is a feature layer?
•• It’s the client counterpart to the Feature ServiceIt’s the client counterpart to the Feature Service•• Manages how features are:Manages how features are:
•• Fetched to the clientFetched to the client•• Snapshot, On demand, Selection onlySnapshot, On demand, Selection only
•• RenderedRendered•• RenderedRendered
•• Used in combination withUsed in combination with
•• Attribute inspector, Template Picker, Attachment Ed itorAttribute inspector, Template Picker, Attachment Ed itor•• Editor widgetEditor widget
Template picker
Attribute inspector
Feature Service usage web editing patterns I
•• Render features in the client (Feature Layer)Render features in the client (Feature Layer)•• Fetch all at once (Fetch all at once (SnaphsotSnaphsot mode)mode)•• Or as needed (On demand mode)Or as needed (On demand mode)
1QueryDeleteAddUpdate
GeometryAttributes
Client rendersfeatures
2
3
•• Subset of ArcGIS Subset of ArcGIS symbologysymbology•• No more than a few hundred features in display*No more than a few hundred features in display*•• Careful with large polys/polylinesCareful with large polys/polylines•• Take advantage of Take advantage of maptipsmaptips (popups)(popups)
Geodatabase
Update
Render features client-side* Be smart about using scale dependencies, generalize, filter…
FeatureService
Feature Service usage web editing patterns II
•• Render features in the server (Map service)Render features in the server (Map service)•• Refresh map after every updateRefresh map after every update•• Features being edited displayed in clientFeatures being edited displayed in client
•• Through Through FeatureLayerFeatureLayer Selection modeSelection mode
1
Get Featureto be updated
& render
Get Map
2
4Get MapAgain
Rendering features server-side
•• Full Full symbologysymbology•• Many and complex featuresMany and complex features•• Use MSDs whenever possibleUse MSDs whenever possible
Geodatabase
& render
FeatureService
Commitchange
3
MapService
4 Again
Render features server-side
Attribute Edits
Editing Widgets in ArcGIS Web Mapping APIs
Template Picker
Template picker and edit toolbar
Utility objects for speeding up custom editing apps
Attachment editor and Attribute Inspector
Sophisticated Web Editing
What is the Geometry Service?
•• An ArcGIS Server service for geometry An ArcGIS Server service for geometry manipulationmanipulation
•• Enhanced in ArcGIS 10:Enhanced in ArcGIS 10:•• Offset, Trim/Extend, Reshape, AutoOffset, Trim/Extend, Reshape, Auto--CompleteComplete
•• Cut, Difference, Intersect, Cut, Difference, Intersect, UnionUnion
Web Browser
•• REST interface REST interface onlyonly
•• Use Use in combination with Feature Servicein combination with Feature Service•• To aid in editing workflowsTo aid in editing workflows•• Cut, Reshape…Cut, Reshape…•• Also validating business rules!Also validating business rules!
Geodatabase
FeatureService
GeometryService
What are Server Object Extensions?
•• That’s how you extend ArcGIS ServerThat’s how you extend ArcGIS Server•• With new web servicesWith new web services
•• To access fine grained To access fine grained ArcObjectsArcObjects•• Implement business logic on your serverImplement business logic on your server•• Accessible via REST and SOAPAccessible via REST and SOAP
Multiple applications for editingMultiple applications for editing
Web Browser
•• Multiple applications for editingMultiple applications for editing•• Validating topologyValidating topology•• Rebuilding network datasetsRebuilding network datasets•• Implementing validation rulesImplementing validation rules
Geodatabase
FeatureService
YourService
The challenge is the user experience
•• Adding many tools is an easy and often unnecessary partAdding many tools is an easy and often unnecessary part
•• Build focused editing appsBuild focused editing apps•• The necessary tools, no moreThe necessary tools, no more•• The workflow drives the design, not the opposite!The workflow drives the design, not the opposite!
•• Start by selecting the right clientStart by selecting the right client•• Do not reinvent the wheelDo not reinvent the wheel•• Do not push the technology beyond its comfort levelDo not push the technology beyond its comfort level•• Or your users!Or your users!
•• Develop if Develop if neededneeded
Internet Editing for ArcGIS Desktop toolFor sophisticated editing or ‘disconnected’ scenari os
• A Map/Feature Service that you can edit from Desktop
EnterpriseEnterpriseGeodatabaseGeodatabase
ArcGISArcGISDesktopDesktop
CheckCheck--in/Checkin/Check--outoutGeodatabaseGeodatabase ReplicationReplication
Internet Editing for AutoCADArcGIS for AutoCAD supports ArcGIS feature services
• A Map/Feature Service that you can edit from AutoCAD
EnterpriseEnterpriseGeodatabaseGeodatabase
Editing viaEditing viaFeature ServiceFeature Service ArcGIS for AutoCAD
Agenda
• Overview of Editing in ArcGIS
• The basics of Web Editing in ArcGIS Server 10
• Advanced Web Editing scenarios
• Typical Architectures• Typical Architectures
• Q&A
Simple non-versioned editing
• Feature service against non versioned data
• Last-in wins
• Typical when contributions are
Web Browser
trusted
• Secure service if needed
Geodatabase
Not VersionedData
FeatureService
Versioned editing
• Feature service on a particular ‘web edits session’
• Last-in wins
• Updates from feature service validated before posting to master
Web Browser
validated before posting to master version
• Typical in intranet or ‘safe’ environments where contributions are not trusted
Geodatabase
Edits on version X
FeatureService
Periodic validationAnd Post
Isolated editing
• Web edits against an isolated geodatabase (in DMZ or off-site deployment)
• Changes validated and synchronized to geodatabase
• Crowd -sourced data (internet)
Web Browser
• Crowd -sourced data (internet)
ContributionGeodatabase
Edits on version X
FeatureService
Periodic validationAnd Post Replication
Contribution Analysis
Geodatabase
Periodic Synchronization
Agenda
• Overview of Editing in ArcGIS
• The basics of Web Editing in ArcGIS Server 10
• Advanced Web Editing scenarios
• Typical Architectures• Typical Architectures
• Q&A
Common questions
•• Can I edit geometric networks?Can I edit geometric networks?•• Parcel fabrics and topologies?Parcel fabrics and topologies?•• XY Event and Route layers?XY Event and Route layers?•• Where is undoWhere is undo--redo?redo?
Snapping?Snapping?•• Snapping?Snapping?•• Can I edit features with Can I edit features with ZsZs and and MsMs??•• Can I edit a userCan I edit a user--defined version?defined version?•• How are version conflicts handled?How are version conflicts handled?•• How do I prevent user A from deleting features from How do I prevent user A from deleting features from
user B?user B?•• ……