[Mapserver-users] rubber sheeting

Norman Vine nhv at cape.com
Fri Jul 18 12:43:40 EDT 2003


Jan Hartmann writes:
> 
> 
> The problem is that AFAIK all these rectifying routines are computed 
> globally. You can use of course a higher order polynomial, but even so 
> the placement of every control point will affect the whole map. 
> Moreover, you can't use very high polynomials and too many control 
> points. What I am looking for is something that will do *local* 
> transformations based on nearby control points, and stretch the results 
> together some way. Those old maps are generally correct on small 
> subregions, but the subregions fit in no way together. There is 
> certainly no numerical soluton for it.

Good question, 
I don't think I have ever thought about 'locally adaptive' rubber sheeting.

Probably easiest to do by separating out the U and V correction

A 'simplistic' method might be to make two countour 'grids', for testing 
purposes you could use simple triangulated surfaces, where 'Z'  was the 
displacement in X or Y respectively of each control point.  Then by 
queryng the grids by the original {X,Y} you would get a {U,V} offset by 
interpolation, that can be used to determine the new coordinates.  
One trick here is that the new image wants to be constructed by triangles
and not points, think texture mapping

< tough todo with ASCII >
*  *   *   *
| \ | \ | \ |
*  *  *   *
| \ | \ | \ |
*  *   *   *

HTH

Norman



More information about the mapserver-users mailing list