Georeferencing of UAV photos
Contents |
Preparation
- Open Qgis with a new project.
- Prepare main Qgis map viewer:
- Add an aerial ortho photo map as background layer. Open the Datasource manager and establish a connection to a map server: Browser --> XYZ Tiles --> Google Satellite. Note, the Project Coordinate system switches automatically to EPSG:3857 (WGS84 / Pseudo Mercator).
- Load a vector file with Ground Control Points (GCPs) that were signalized on ground and measured by a high precision differential GNSS reciever : geodata/w02/gcp_points.gpkg
- In Layers panel drag the GCP vector file on top of Google Satellite.
- Change the color of the point markers: Right click on Layer name in the Layers panel Layer Properties--> Style
- Show label of the GCP layer. Layer Properties--> Label. Label with the first column ("comment").
- Right click on Layer name in the Layers panel Zoom to layer
Registration of ground control points (GCP)
- Open Raster –-> Georeferencer -–> Georeferencer.
- Open a UAV photo that has no spatial reference system (raw image coordinates): geodata_w02/mavic_ortho_rgba.tif.
- Georeferencer --> Settings --> Configure Georeferencer. Check the box beside Show IDs of ground control points. And choose residual units: Pixels.
- Add ground control points. First, navigate to a ground control point in the UAV image (e.g. cross signal). Zoom in with the magnifying glass or use the mouse roller.
- Zoom in to a point which you can recognize on both the UAV photo and on Google maps in the main Qgis viewer. Attention: if the zoom factor is too large (scale > 1:900) Google maps is not displayed or not in the correct position of the main map canvas!
- Click on Add point on toolbar.
. A cross shows up. Move the cursor to the first ground control point (cross signal). Zoom in and mark the center of the cross with the cursor and register the position in the image by a left click. A new window Enter map coordinates opens. Click From map canvas. The Georeferencer window will now minimize automatically.
- Click on the same point in Google maps in the main viewer. The coordinates of the main viewer are now transferred directly to the "Enter map cordinates" window. OK.
- Zoom to the next control point, activate Add point and continue until 5 GCPs (S01, S02, S03, S04, S06) are registered.
- For changing the position of a point that is already defined activate Move GCP point. . Move the point by clicking on it in the Georeferencer viewer.
- For deleting a GCP activate Move GCP point and click on it. Alternatively click on a point in the GCP table, right click delete.
- Save the registered GCP points. File --> Save GCP points as .... Save.
Transformation and Resampling
and determine the following settings: The Target SRS should be the same as the GCP coordinates registered from Google maps: EPSG: 3857, WGS84/ Pseudo Mercator. First, try the transformation type Linear. The horizontal Residuals are now displayed in the last column of the GCP table. In the first column of the table individual points can be switch on or off. Check if the mean error (root mean square error) shown in the grey bar at the bottom of the window can be improved. Change the transformation type to Helmert.
- Click on Play to create the final georeferenced image file that is loaded into the main Qgis viewer. Compare the results of different transformation types (e.g. Helmert and Thin Plate Spline)
- The SRS EPSG: 3857, WGS84/ Pseudo Mercator does not allow to calculate correct metric distances and areas. Therefore, the georeferenced image needs to be transformed to UTM system.
Raster --> Projections --> Warp (Reproject). Determine the following settings: .
Quality Check
- Double click on the reprojected layer to open Layer Properties --> Transparency and change Global transparency to about 60% by moving the slider. Enter an additional nodata value: 255. Apply.
- Compare the geometry of the reprojected layer with Google maps.
- Compare the results of two transformation types Helmert and Thin Plate Spline.