RiverMetrics plugin
A toolbox for the extraction of river metrics.
Hydromorphological River Metrics
A toolbox for the extraction of river metrics. Useful for identifying hydromorphological features and analysing the geomorphological evolution of a river over time.
It is developed in Python-3 environment and is compatible with QGIS 3.22 and later.
The plugin is divided into two parts: the first part is an experimental plugin with a dock in the main QGIS interface, while the second part is a set of tools integrated into QGIS processing.
Note: the RiverMetrics plugin is in the official QGIS repository (experimental flag) and can be easily installed using the standard procedure, via Plugin Manager.
The QGIS RiverMetrics processing tools can be found here.
⚙️ QGIS processing tools
The tools have been grouped into a set called RM Hydromorphological Analysis. The set consists of three tools, two of which are split into two parts. There are five QGIS models listed below:
- River Axis Extraction;
- Braiding-Width 1 (measure);
- Braiding-Width 2 (reaches mean values);
- Valley Confinement Index 1 (input data preparation)
- Valley Confinement Index 2 (calculation).
🤌 How to add the models to the QGIS Processing Toolbox
Once you have downloaded and unzipped the zip project file (here is an howto) there are two easy ways to import the models into QGIS.
📂 Copying the .model3 files in the Processing configuration folder
The user profile configuration folders are directly accessible from the QGIS interface via the command bar: Settings/User Profiles/Open Active Profile Folder.
The models are located in the project’s “models” folder. They have a .model3 extension. After copying the models files to the .../user/processing/models
folder, you will need to restart the software and the tools will be listed in the Processing Toolbox.
🧰 Adding using the Processing Toolbox button
Alternatively, the models can be added one by one to the Processing Toolbox using the button at the top left.
River Axis Extraction
The riverbed axis is an input to both the RiverMetrics plugin and the Braiding-Width 1: measure model.
🏞️ Concepts of river geomorphology
In geomorphology, the axis of the riverbed is defined as the median line formed by the points at the same distance from the banks. The axis is determined from the polygon of the bankfull riverbed.
The bankfull riverbed can be identified from remotely sensed imagery and includes the channel(s) and the active (bare or sparsely vegetated) bars. The banks separate it from the floodplain and form its boundary. Also excluded are bars with tree vegetation, which are not considered active because they do not participate in bed load transport (Fig.1).
🛠️ Model operation
The first operation performed by the model is to eliminate from the polygon of the bankfull riverbed the holes caused by the presence of longitudinal tree-covered bars, known as ‘islands’. This requires a threshold (maximum area - Sistem Reference units2), which is set to 5000 by default.
The axis is obtained by a process of “skeletonisation” of the polygon using the GRASS gis v.voronoi 1 tool present in the Processing Toolbox.
As the line obtained may be excessively fragmented, a simplification is carried out to remove nodes that are closer than a threshold (Sistem Reference units) defined by the user. The default value is 1.
As the resulting line may be split into several parts, the initial vertices of the lines are extracted to facilitate identification of the different parts.
Note: for use as input to the Rivermetrics plugin and Braiding-Width1 model
- the user must then manually join the line segments together (edit mode) to obtain a single line of a single part layer;
- make sure that the direction of the axis is from upstream to downstream. If not, reverse the direction of the line by editing the vector.
Fig.1. Main morphological riverbed units, dervied from remote sensing image analysis and GIS processing.
🔄 Input/Output data
Input parameter | Type | Description |
---|---|---|
Effective bankfull stage riverbed | Polygon (singleparts) | Bankfull riverbed polygon. Holes (islands) are allowed and will be removed. The attribute table does not require any additional information other than the feature ID |
Minimum area for hole removale | User input (system reference units2 - e.g. m2) | Threshold (maximum area) for removing holes. Too high values can cause the polygon to collapse and should be avoided. The value should be based on the larger hole/island. Set to 5000 by default. |
Tolerance for axis semplification | User input (system reference units - e.g. m) | Threshold for axis line semplyfication. Represent the distance below which nodes that are too close are removed. Set to 1 by default |
Output data | Type | Description |
---|---|---|
River axis | LineString (singleparts) | Linear vector of the river bed axis. For use as input to the Rivermetrics plugin and the Braiding-Width1 model, several line segments, if present, may need to be successively joined together by the user (editing operation) |
Non-simplified axis | LineString (singleparts) | Raw axis line. It can be excessively fragmented (v.voronoi output) |
Initial vertices | Point | Initial vertices of the axis line parts, if split. Created to help locate the different parts of the axis line |
Bankfull riverbed | Polygon (singleparts) | Bankfull riverbed without holes/islands. It is the result of the hole removal process |