Hi,
I've seen this gis.thinkgeo.com/Support/DiscussionForums/tabid/143/aff/21/aft/6019/afv/topic/Default.aspx and the and the track and edit shapes example - but feel I may be missing some basic understanding here.
I want to be able to retrieve, add new objects and edit existing objects in a SQL database in a multi user environement.
Overall appraoch
- I'm happy displaying the polygons.
- I can select a polygon clicking with the mouse - highlight it and return its ID
- To edit it I was planning on copying a selected polygon to the TrackOverlay layer and then edit here before copying it back to the main layer and saving - is this sensible ? the posting above seems to copy all objects into the TrackOverlay layer - is that sensible with 1000's of objects. I was worried that that would double the memory required.
- Adding a new record is similar - write to the TrackOverlay layer and then copy to the database layer
Is this a sensible approach ? Are there alternative methods ?
Multiuse issues
gis.thinkgeo.com/Support/Dis...fault.aspx
David explains in the aboe thread how generally all the spatial objects are held in memory until a commit is applied - so presumably I / the user will have control over this - and I can see this is a sensible way to go a lot of the time. The potential risk here if much editing is going on is that a record may be updated by another user before I commit - presumably SQL server controls this in the normal ways - the issue of course being that drawing a new shape is potentially significantly more time consuming than editing a record.
As SQL Server implements row level locking - presumably there is a risk that I might get a conflict if another user has simply edited a text based portion of the record ? I'm jsut wondering if anyone has practical experience of this and possible good methods (e.g. if you get a conflict do a field by field comparison - and force an update of just changed fields - or keep the spatial objects in a separate table to reduce the risk ? I'm open to any good suggestions !
Editing interface
Using theTrackOverlay (is there another way to edit ?) - I can draw a new polygon / edit the nodes of an existing one. I've discovered I can add new nodes by clicking and dragging on the line. Deleting nodes is by double clicking on a node (this discovered from a throw away comment in a forum post - is there some documentation I've missed somewhere?)
- Are there other "magic" keys / methods e.g. for undo / copying / merging objects etc - or do I need to dvelop this myself
- I've discovered I can still use the zoom in box whilst editing - which is nice - but can I zoom out ?
Sorry for all the questions!
Best wishes