[Mapserver-users] rubber sheeting
Norman Vine
nhv at cape.com
Fri Jul 18 09:43:40 PDT 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