rectify a scanned map

Simon Cox simon at
Sun Nov 21 18:48:40 EST 1993

r.prj is a tricky one:  I understand that the imagery rectification
programs use a nearest neighbour scheme to assign vues to the new
map.  This is probably fine if the original "raster" is a category
map, but is dubious if the orignal image is a continuously varying
field, such as an elevation model.  In the latter case, correct
re-projection should use the following scheme:

consider the data from the original raster as a set of (densely sampled!)
site data, with known locations for each pixel which do not correspond
with pixel positions in the new projection.  Then, interpolate to get
the correct values of the raster at the pixel positions in the new

I recently did this for a lat-long -> utm conversion.  This could be
done entirely using GRASS tools, by using r.stats to write out a site
file from the old projection, followed by m.ll2u to convert the cell
positions to utm coordinates, followed by to generate the
raster in the utm.  This was laborious, and the tps stage can be
very slow, but I am confident that what I now have is valid.
Of course, to do it for other projections, you need an equivalent of
m.ll2u for your projection.  This probably isn't too difficult to
write.  I guess that you would import your scanned map into a
plain vanilla x-y location, but I don't see that this would be an
insuperable problem either.  You may need a few special control
points and lines to get your m.**2u or m.**2ll to work right.

Perhaps a shell harnessing all this could be added to the wish list?

(Apologies for the bad typing - flakey modem!)

Simon Cox

      __  L     Dr Simon Cox			
   ,~'  L_|\    VIEPS Department of Earth Sciences, 
,-'         \   Monash University, Clayton Vic 3168        
(            \  Australia
\    ___     /          Phone +61 3 565 5762
 L,~'   "\_x/           Fax   +61 3 565 5062
           u    simon at

More information about the grass-user mailing list