ThinkGeo.com    |     Documentation    |     Premium Support

Line Smoothing and Node Correction

In the code project topic for Node Correction here: code.thinkgeo.com/projects/show/correctingnodes the following statement is made: "Keep in mind that the logic for correcting nodes shown here, is very simple and does not take into account various parameters such as tolerance, line order, multi line intersection etc. ... The full logic taking into account all the different scenarios is vastly more complicated. We plan to offer this full logic in the future as an API within our core product. 

 


So, we are wondering if this API has already been developed, or perhaps incorporated into 4.0? If so, can you tell us what methods/classes make up this expanded functionality? We are looking for ways to do line smoothing, or "connect the dots" based on threshold tolerances as well as distance from intersecting lines, etc.


 Thanks,


Jeremy


 



The project Node Correction is a little bit old and I know that now we have the EditInteractiveOverlay that has a vast array of functionalities for doing editing. You can check some recent projects on that subjects such as:


-Dragged Point Style code.thinkgeo.com/projects/show/draggedpointstyle


-Dragged PointStyle with Label code.thinkgeo.com/projects/show/dragpointstylelabel


-Editing Rectangles code.thinkgeo.com/projects/show/editingrectangles


-Snap To Layer code.thinkgeo.com/projects/show/snaptolayer


-Snapping to Vertex code.thinkgeo.com/projects/show/snappingtovertex


-Vertex Tolerance code.thinkgeo.com/projects/show/vertextolerance


All those projects use EditInteractiveOverlay and I think that Snapping to Vertex and Vertex Tolerance are pretty close to your need of "connects the dots" based on threshold tolerances.


For line smoothing, you can use the Simplify function of LineShape and MultilineShape.


If you have some specific tasks you would like to accomplish but do not know very well how to implement them, give us a good description of each task and we will write some samples for you.