I have a non-georeferenced vector layer that I need to be georeferenced. With raster layers the task is easy and straightforward, but I have no idea what should I do with my vector layer. I have a few control points with known coordinates which should provide some basis to transformation. So, let's say I know points with id-s of 1, 2 and 3 should have the coordinates of x1,y1 ; x2,y2 ; x3,y3. There might be some rotation and scale transformation in addition to simple shifting. Any ideas?
|
|
To georeference a vector layer, try the qgsAffine plugin. More info here: Where to find qgsaffine in the menu? |
|||||||||
|
|
Following-on from my comments on Rayner's answer, GRASS v.transform, which can be run from the Sextante toolbox, can be used to calculate transformation parameters and apply them to a vector layer to perform an affine transformation. A text file containing control points is required, in the format shown here. It's very easy to use and works well. N. |
|||
|
|
|
see my answer in this thread: Snapping two polygons together and give the free openjump a try. its affine transformation is much more userfriendly than qgis affine plugin |
|||
|
|
|
Given the fact that you have some points of control, you should be able to use an Affine transformation to shift your vector data. Have a look at this recipe. The process is a two part process:
If you put your control points into a CSV file (old_x,old_y,new_x,new_y), you can just about cut'n paste the R commands from the link to solve the coefficients part. |
|||
|
|