I want to spatial adjust a bunch of points using control points. I have two layers. One is the layer I want to move with the control points in it, and another is the layer with target points pairing with the control points. My QGIS version is 3.22.4. I have already tried vector bender, but it moved the points to a strange location. Is there any way to spatial adjust points with QGIS?
The first image is the points I want to move. green points are the control points. The second image is the target points paring with the control points with the same number.
Best Answer
I created a QGIS Graphical Model to perform order 1 polynomial transformations to vector layers.
Order 1 polynomial is an affine (linear) transformation.
The advantage of this model over Vector Bender plugin, is that the transformation will allways be order 1 polynomial, regardless of the number of control points chosen. A minimum of three pairs of points are required, and a least-squared algorithm is used for more than three.
For this model to work, you must create a lines layer called 'gcps', with the same CRS of the points layer to be adjusted.
Draw one line for each control point, in the direction of the transformation. Then, run the 'Order 1 transformer by GCPs' process. INPUT parameter is the layer to be adjusted.
To get the model in your toolbox, save the following text in a 'order_1.model3' file and import it with the Add Model to Toolbox option.
Under the hood, it runs an ogr2ogr command.