[SciPy-User] Parameterizing a curve / Map curve to line

Dharhas Pothina Dharhas.Pothina at twdb.state.tx.us
Tue May 25 10:17:55 EDT 2010


Hi,

I'm am trying to correct some bathymetric data. We have a series of x,y,z values that represent the boat path (x,y) and depth (z) on a river. Due to trees etc in some sections of the data the GPS went out leading to spurious x & y values. We have manually drawn in the boat path in those sections and I am trying to move the spurious points onto this manually drawn path.

Essentially I have a points dataset (x,y,z) that contains all the data points and a boatpath dataset (x,y) that represents the actual boat path. The plan is to traverse the boat path curve and if the next point lies on the boatpath leave it alone, if it does not to use the boat speed (known value) to calculate how much farther along the boat path curve the next point should be and move it to that location.

My plan to do this involved either parameterizing or mapping the boat path curve to a 1D line and then mapping the final corrected points back to the curve. One way of doing this that I thought of was to interpolate the boat path curve to a higher resolution (ie 0.1ft spacing etc) and then calculate the cumulative distance along the line from the origin. 

The boat path is not monotonically increasing in x, curves around and sometimes can loop around. Looking at the interp and spline functions in scipy I'm unsure how to interpolate to a 0.1ft spacing in this case. Also any other ideas for achieving the above is welcomed.

- dharhas




More information about the SciPy-User mailing list