ThinkGeo.com    |     Documentation    |     Premium Support

Snap to a MssqlLayerFeature

 Hi, 


 
I would like doing as the example "snap to layer" but the layer is MssqlLayerFeature.
 
Example : 
Step 1 : Display a layer A (MssqlsqlFeature) ==> OK
Step 2 : Select a feature from the layer A => OK
Step 3 : Edit the feature selected  => OK
Step 4 : The user modify the feature and when the vertex is close to a vertex of a feature from the layer A, there is a snap
 
Is this possible ? 
 
With the example "snap to layer", there is only one feature on the layer. But if there are a lot of features in the layer, the treatment risks to be long .. ?
 
Thanks.
 
Regards.
 
Steph.

Hi Steph,


You might take a look at the second SnapToLayer sample we have in the Wiki named "SnapToLayer2". This sample demonstrates many features included on the map that you can snap to without incurring a performance problem.

wiki.thinkgeo.com/wiki/Map_S..._to_Layer2



 Hi Ryan, 


Thanks for your help.


In fact before I post the topic I did the same thing as the example "SnapToLayer2" but I added all the features of the mssqlFeatureLayer (more than 6200 polygons).
It was too long so what I did is to get all the features in the current extend and add only these one in the InmemoryFeatureLayer (toSnapInMemoryFeatureLayer).
And so the processing is shorter.
If the user changes the currentextend so I update the features to snap.
 
Thanks again.
 
However I have one more question. 
I would like doing the same thing with the TrackInteractiveOverlay (wpfMap1.TrackOverlay.TrackMode = TrackMode.Polygon).
When the user moves the mouse near a vertex of a polygon, so the mouse snaps to the vertex of the polygon.
And I don't know how to do that. Have you already succeded to do the same thing ?
 
Thanks a lot.
 
Regards.
 
Steph.

Hi Steph,  
  
 Thanks for your patience as adding this functionality to the TrackInteractiveOverlay is proving to be difficult with the current overloads and events we have available. The EditInteractiveOverlay was designed to with a more specific goal of allowing snapping to take place so I am in discussion with the development team on how best we can enhance the TrackInteractiveOverlay to enable this type of functionality. We won’t be able to go indepth on this issue until after next week but this will be added to our internal enhancement list.

Hi Ryan,  
  
 No problem. 
 Thanks a lot. 
  
 Regards. 
  
 Steph.

Hi Steph, 



Just as you know, we are still in discussion that how to provide an easy way to implement it, but before it, Please try overwriting the “OnVertexAdding” and “OnTrackEnded” methods to manage it, just what we have done in “SnapToLayerTrackInteractiveOvlay.cs” of the attached demo, which is modified based on "SnapToLayer2". Because of the attachment size limitation, I removed the data files. Please check it out and any questions please let us know. 



Btw, we fixed some bugs in TrackInteractiveOverlay of wpf, please get the latest version 6.0.0.152 or higher to have the try.  If you are using development branch, please download "ModifiedSnapToLayer.zip", otherwise, use "ModifiedSnapToLayer2.zip" instead.



Thanks, 

Johnny 

 



ModifiedSnapToLayer.zip (14.8 KB)
ModifiedSnapToLayer2.zip (14.8 KB)