Tutorial: Create a longitudinal river profile

Site: OpenCourseWare for GIS
Course: QGIS Advanced Tutorials
Book: Tutorial: Create a longitudinal river profile
Printed by: Guest user
Date: Friday, 14 February 2025, 2:00 PM

1. Introduction

In this tutorial we're going to create a longitudinal river profile using a DEM and a river layer.

The data provided with this tutorial contrains a filled SRTM 1-Arc Second DEM of the Rur catchment. We're going to download the river line vector from OpenStreetMap using the QuickOSM plugin.

After this tutorial you'll be able to:

  • Download a river from OpenStreetMap using the QuickOSM plugin
  • Sample DEM values for points at fixed distances along the river
  • Visualise the longitudinal profile using the Data Plotly plugin
  • Visualise the longitudinal profile using the Profile tool plugin

2. Download river line vectors from OpenStreetMap

In this section we're going to download all river line vectors in the study area from OpenStreetMap.

1. Start QGIS

2. In the main menu go to Project | Open From | GeoPackage...

3. In the Load project from GeoPackage dialogue browse to data_longitudinal_profile.gpkg and open the Longitudinal_profile project. Click OK.

Now you'll have a styled Rur DEM with hillshade and a catchment boundary.

The next step is to install the QuickOSM plugin.

4. In the main menu go to Plugins | Manage and Install Plugins...

5. Search for QuickOSM and click Install Plugin and Close the dialogue.

Now we're going to download river data from OpenStreetMap.

6. In the main menu go to Vector | QuickOSM | QuickOSM...

7. In the QuickOSM dialogue choose for Key waterway and for Value river. For Layer Extent choose Rur_catchment_boundary. Expand Advanced and make sure that only line features are selected. The dialogue should look like the picture below.

quickosm dialogue

8. Click Run query. Close the window when the message "Successful query, 1 layer(s) has loaded." appears.

Now you have all rivers in the study area.

In the next section we're going to select the Rur river and export it to a new layer.


3. Select and export a specific river

In the previous section we've downloaded all river line vectors in the study area from OpenStreetMap. In this section we're going to select the Rur river and export it to a new layer.

1. Click right on waterway_river and choose Open Attribute Table.

Inspect the data in the attribute table. You'll see that the name of the river is in the name field. We're going to select rivers with the name Rur and Roer. Rur is the German name and Roer is the Dutch name, so we need both to get the whole river.

2. In the attribute table click the Select features using an expression icon .

3. Type the following expression: "name"  = 'Rur' or "name" = 'Roer'

This will select all features with the name Rur or the name Roer.

4. Click Select Features and Close the dialogue.

Now you'll see these rivers selected in the map canvas (yellow) and in the attribute table (blue).

Selected river

5. Click right on waterway_river in the Layers panel and choose Export | Save Selected Features As...

6. In the Save Vector Layer As... dialogue save the layer with Layer name Rur_river to the data_longitudinal_profile.gpkg GeoPackage. Change the projection to the one of the project (EPSG: 32632) and click OK.

7. Remove waterway_river from the Layers panel.

Now we need to clean up a bit the river layer. Some sections are not part of the main river.

8. Toggle to editing mode by clicking in the editing toolbar.

9. Select the wrong parts using and press the <Delete> button. Make sure you remove all.

10. Toggle off editing by clicking again and click Save.

The river still consists of many segments. The final step to get a correct river layer is to dissolve the features.

11. In the main menu choose Vector | Geoprocessing Tools | Dissolve...

12. In the Dissolve dialogue choose Rur_river as Input layer, keep the defaults and save the output to the data_longitudinal_profile.gpkg GeoPackage with the layer name Rur_river_dissolved.

Dissolve

13. Click Run. Close the dialogue after processing.

14. Remove the data_longitudinal_profile Rur_river layer from the Layers panel.

15. Style the Rur_river_dissolved layer.  Make it dark blue.