Methods to accurately georeference geographic map?

المشرف العام

Administrator
طاقم الإدارة
I'm writing an application that allows the user to sample points and perform georeferencing

In order to test it I have a large scanned map (16k x 13k) pixels covering the area 31 north to 34 north and 34 east to 36 east with a geographic grid

I sampled the 4 corners of the map + 2 points on the diagonaland applied an affine transformation :

[x'] [A B C] [x][y'] = [D E F] * [y][1] [0 0 1] [1]using the 6 points, and least squares I managed to find [A B C D E F], but applying it gave me an inaccurate transformation...

The Longitude is very accurate all along the picture (> 1 arc second), but the latitude deviates sometimes up to 15 arc seconds (~ 400-500 meters)

I assume that no matter how many points I will sample the affine transformation won't cutit...

What is the appropriate transformation here?

Trying to project the geographic coordinates

I projected the sampled points to UTM first, and then calculated the affine transform (again 6 points)

The results are pretty much the same - Accurate near the control points but, drops significantly when I get farther

Using 2nd Polynomial Transformation

I was able to get better results by using a 2nd order polynomial transform instead of an affine one, but I still get deviation of 4-5 arc seconds

The transformation I used -

[x'] = [A B C D E F] * [x*x][y'] [G H I K L M] [y*y] [x*y] [ x ] [ y ] [ 1 ]Where A-M are the transformation parameters {x',y'} are the geographic coordinates and {x,y}are the screen pixel coordinates.

since there are 12 parameters it requires 6 points to be sampled...

I suppose I could try to do a 3rd order transform (20 parameters - 10 control points needed)or even higher but I wonder if there isn't a better way?



أكثر...
 
أعلى