(FWD to list since Helena isn't subscribed) ---------- Forwarded message ---------- From: Helena Mitasova Date: Wed, Mar 19, 2008 at 3:23 PM On Mar 19, 2008, at 9:23 AM, Markus Neteler wrote: > (I cc to Helena for TPS insights) ... - your references are right, although I wonder whether just plain TPS is used or whether at least tension has been added to increase the TPS stability. One reason why Lubos has derived the RST function which we have in GRASS was that TPS tends to overshoot if you have larger gradients as noted in the comments and adding tension and smoothing minimizes that problem. Segmentation then solves the problem of applying it to large data sets - but do you ever have more than 1000 GCPs? For the record here are some relevant equations: eq 44 is the radial basis function used in plain TPS, eq. 50 is spline with tension, eq. 55 is regularized spline (the last two are in ArcGIS spatial analyst) http://skagit.meas.ncsu.edu/~helena/gmslab/papers/CMA1988.pdf and here eq 9 has RST (and some useful comments about the rest of the methods) http://skagit.meas.ncsu.edu/~helena/gmslab/papers/sint.html And this nicely illustrates the "spline goes wild" issue - the blue points are given points, the surface is interpolated with changing tension and the results with a big blue hole and white peaks is close to what you can get with plain TPS: http://skagit.meas.ncsu.edu/~helena/gmslab/viz/movies/tension.gif smoothing also helps a lot and can even be used to take into account the accuracy of GCPs. To conclude - it would be nice to put the equations for what is used in gdalwarp somewhere to better understand how it works. Maybe put a reference to a relevant paper that has the equations into the man page. I am not sure whether the tps-related problems in gdalwarp are significant enough to do some modifications - I would assume most transformations are pretty smooth,