Post

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.

aprire cartella del profilo

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.

processing toolbox button


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.

scheme of main morphological units Fig.1. Main morphological riverbed units, dervied from remote sensing image analysis and GIS processing.

🔄 Input/Output data

Input parameterTypeDescription
Effective bankfull stage riverbedPolygon (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 removaleUser 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 semplificationUser 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 dataTypeDescription
River axisLineString (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 axisLineString (singleparts)Raw axis line. It can be excessively fragmented (v.voronoi output)
Initial verticesPointInitial vertices of the axis line parts, if split. Created to help locate the different parts of the axis line
Bankfull riverbedPolygon (singleparts)Bankfull riverbed without holes/islands. It is the result of the hole removal process
This post is licensed under CC BY 4.0 by the author.