Flood Risk Assessment in QGIS

From CUOSGwiki
Jump to navigationJump to search


Flood assessment is one of many practical applications of GIS. This analysis will focus on the city of Peterborough, a small city northeast of Toronto. The analysis is particularly relevant due to past flooding events in the Peterborough area. By a completing flood risk assessments, the city can identify at-risk infrastructure and populations, as well as develop stronger preparedness measures for future flooding events.

The purpose of this tutorial is to provide users with guidance in completing a flood risk assessment, as well as an introductory glance into QGIS.

Software Requirements

In order to begin this tutorial, you will need to download the QGIS software package from the following link (https://www.qgis.org/en/site/ ). This tutorial was created using QGIS version 3.8.1. The latest version of QGIS is freely available for Windows, MacOS X, Linux and Android.

All steps of the tutorial will be completed using this free and open source software, and will not rely on the use of any other programs.


The primary source of data used for this analysis will be the High Resolution Digital Elevation Model (HRDEM) - CanElevation Series, produced by Natural Resources Canada for the city of Peterborough. The dataset is hosted on the Open Data Canada website here: (https://open.canada.ca/data/en/dataset/957782bf-847c-4644-a757-e383c0057995); specific download instructions are provided in the next section, below, but first we'll review different forms of elevation data models.

There are two main types of elevation datasets provided as part of the High Resolution Digital Elevation Model (HRDEM). Both datasets have been derived from airborne LIDAR data. The two datasets are in the form of a Digital Surface Model (DSM) and a Digital Terrain Model (DTM). It is important to know the difference between these two elevation datasets and how this can affect your analysis of flooded areas.

A Digital Surface Model or DSM is very similar to that of a Digital Elevation Model (DEM) or Digital Terrain Model (DTM). All three show elevation data of the earth’s surface relative to sea level. One major distinction between a DSM and a DTM is the presence of man-made and natural features. The DSM shows the tops of buildings, houses, highways, tree canopies, vegetated surfaces and all manor of other solid features above the surface of the ground. They are traditionally in the form of a raster image. DSM’s are generally used for purposes where it is necessary to see objects protruding from the surface of the earth. This includes tasks such as assessing the encroachment of vegetation or viewshed analysis for a new High-rise [1] . They are not used for hydrologic modelling such as a flood analysis.

A Digital Elevation Model or DEM does not include features that protrude from the ground. A DEM represents the ground elevation from sea level. Therefore, the tops of trees, buildings and other features have been removed to reveal the ground underneath. This is very useful for the purpose of hydrologic mapping, such as flood analysis. DEM’s are generally in the form of a raster image [2].

A Digital Terrain Model or DTM can have varying definitions. In some cases, Digital Terrain Model and Digital Elevation Model are used interchangeably. This means that the DTM dataset would be a raster image of the Earth’s surface excluding buildings and vegetation. In other cases, a Digital Terrain Model can be essentially a DEM represented through point data. The dataset shows the elevation of the earth’s surface through a series of equally spaced points (although, in older datasets these points can be unevenly spaced). These points have an associated x and y value along with a third value for elevation. In this case the DTM would be in the form of a vector dataset, such as a shapefile [3].

The DTM dataset available through the High Resolution Digital Elevation Model link is in the form of a geotiff (.tif). This means it is essentially the same as a DEM and can be used for our flood mapping analysis. The DTM data that we will be using in this analysis will be at a resolution of 1m and will be projected in the UTM NAD83 (CSRS) coordinate system.

Additional vector data will also be used in this analysis from the Peterborough Open Data Hub. This includes building footprints, roads, pedestrian footpaths and hydrography polygons.

  • See next section for instructions on how to download the files.


Peterborough Digital Terrain Model Data
High Resolution Digital Elevation Model (HRDEM) - CanElevation Series
The High Resolution Digital Elevation Model (HRDEM) - CanElevation Series dataset hosted on the Open Canada Data web portal, where you can download different sets of DTM and DSM data across Canada
1. Click on the following link. This will take you to the directory where all of the DTM data is stored for the UTM 17 Zone.
2. Use the find function (Ctrl + F) to find each of the three images listed below in the file directory.
3. Download each file into a folder on your computer. This will be a working folder for all of your flood analysis data.

Peterborough Vector Data
This data is hosted by Peterborough's GIS Open Data initiative on their Open Data web portal.
1. Click on the following links and download the data as .shp files (a .zip file will be downloaded)
Hydrography Polygons: This is a polygon of all the waterways in Peterborough.
Buildings: This is a polygon layer of all the building footprints in Peterborough.
Roads: This is a line layer of all the road networks in Peterborough.
Pedestrian Network Polygon: This is a polygon layer of all the pedestrian footpaths and bike trails in Peterborough.
2. Go to the .zip files you previously downloaded and extract them to the same folder as you Peterborough DTM data.

QGIS Methods and Instructions

Importing and Merging

Step 1.

  • Open Qgis.
  • Upload the .tif DTM images in QGIS by clicking on the Data Source Manager button Datasource Manager Button.png. The Data Source Manager window will then appear.
  • Select the folder where your files are saved, (this folder can be added to your favourites by right clicking the folder and adding it to your favourites) drag in all four .tif files to the main window (ignore the .tif.ovr files and only use the .tif files). Alternatively, you can double click each file separately to add them to the project one by one.
  • A popup window will appear when you load in the .tif files, select the first option and click Ok.

Import Popup.png

  • The result should be the four raster images together in a square, as pictured below:
    • Note: If images are too hard to read, clicking on the image twice will result in a larger version of the image.

Import Step1.png

Merging Rasters

Step 2.

  • Use the merge tool (Raster -> Miscellaneous -> Merge) to combine the .tif files into one working raster image.
  • In the merge tool window, select the four .tif files through the Input Layers selection, directly under the Parameters tab.
  • Under the Merged heading select the Save to File… option, give the output a name and save it in your working folder.
  • Once the layers have been selected, click Run in Background in order to merge the files.
  • The resulting merged file should look similar to the final image below:

Merge Popup Step2.png Using the Merge tool.

Merge Step2 Example.png Merged raster files.

Creating an AOI

Step 3.

  • We will now create an Area of Interest or (AOI) polygon so we can clip our water layers to the boundary of our DTM data in the following step.
  • Navigate to Layers -> Create Layer -> New Shapefile Layer
  • At the top of the window, give a name to your new file (AOI is suitable), and select Polygon as the Geometry Type -> Click OK, At this point a new layer named AOI will be created.
  • Right click on the newly created AOI layer, and select Toggle Editing. Once this is selected, navigate to the top panel and find the Add Polygon Feature button. Add Polygon Feature Button.png
  • Do your best to draw a border around the Merged layer (hint: use your numpad to move your screen when zoomed in or click and drag with the scroll wheel to pan), when complete, right click on the screen and when prompted to save changes to the layer, select Yes.
  • You can now symbolize the polygon with an outline. Right click on the layer and select Layer Properties/ Symbology then select Outline Red. The final AOI and Merged layer should look similar to what is shown below:

CreatingAOI Step3.png

Adding Vector Layers

Step 4.

  • We can now add the vector Peterborough data to our QGIS session.
  • Navigate to the folder they were saved and import each of the shapefiles using the Data Source Manager.
  • Ensure the polygons are overlaying the merged raster layer, and edit the appearance of each feature to your liking (right click on the layer and select properties to change symbology).
  • The resulting file should appear similar to the image presented below:

Vector Layers Step4.png


Step 5.

  • Now that everything we want is added, the vector layers can be clipped to match the extent of the merged raster layer.
  • Navigate to Vector -> Geoprocessing Tools -> Clip
  • Select the Hydrography layer as the Input Layer, and the AOI as the Clip Layer. This clips the Hydrography layer to the boundary of the AOI layer.
  • Under the Clipped section of the popup window select a save location for the output file and change the file type to shapefile (.shp), then click Ok.
  • You can now turn off the original Hydrography layer or remove it from the session (right click the layer and select remove).

Clipped Hydrology Step5.png

Sink Fill

Step 6.

  • In this step, the Sink Fill (Wang & Liu) tool will be used from the QGIS toolbox. The tool will sequentially fill any significantly low pixels in the DTM where the flow of water could accumulate incorrectly (this is generally used to remove sinks from hydrologic analyses).
  • Navigate to Processing in the top banner, select Toolbox, this will open a list of available tools.
  • At the bottom of the list select SAGA, look for and select Terrain Analysis - Hydrology -> Fill Sinks (Wang & Liu). The tool window should now open.
  • Under the dropdown list for DEM select the layer Merged, and select save locations for the three output files (Filled DEM, Flow Directions and Watershed) then select Run.
  • After the tool has finished, drag the three new layers (Filled DEM, Flow Directions and Watershed) underneath the vector layers.
  • The final output will look very similar to the image in Step 5, if everything has gone correctly (if you look closely you may be able to see low points in the DTM that the tool has filled).

Identifying Water level

Step 7.

  • The next step is to determine the current water level of the filled DTM.
  • To do this you will need to install a plugin though the Plugins tab in the top banner.
  • Click on Plugins -> Manage and Install Plugins, scroll down until you see the Value Tool, then Click Install Plugin.

ValueTool Plugin.png

  • After installing, close the popup window and you should now see the Value Tool button on your main taskbar. ValueTool Button.png
  • By default the tool should be enabled, however if it is not navigate to the View -> Panels -> Value Tool Panel (and make sure the box is checked)
  • Next click on the Identify Features tool Identify Features Button.png on the main toolbar, then click on the Value Tool. ValueTool Button.png
  • Zoom in to “Little Lake” in the middle of the downtown Peterborough area.

ValueTool Step7.png

  • You should now see the pixel value of the water surface on your right under the Identify Results window.
  • You can click around the lake to compare values and see if they change, the Value Tool will continue to select values from the topmost raster image, even if there are polygons over-top.
  • We can now see that the elevation of the water level is approximately 188m.

Raster Calculator

Step 8.

  • We will now use the Raster Calculator tool to establish what areas will be flooded given an increase in water level of 2 meters.
  • Under the top banner navigate to Raster/ Raster Calculator.
  • Recreate the following expression under the Raster Calculator Expression section of the window: ( ( "Filled_Merge@1" <=190 ) = 1 ) AND ( ( "Filled_Merge@!" >= 190 ) = 0 )
  • (Note: the expression will not run properly if you copy and paste it in, you will need write it out manually in the popup window).

RasterCalculator Step.png

  • If entered correctly, Expression Valid will appear under the expression window, then select a save location and name for your output file.
  • Click Ok and run the tool.
  • You should end up with an output raster with two values 1 (flooded area, white) and 0 (non-flooded area, black). The output should look like the following image (you may need to rearrange the order of your layers so that the roads, buildings, etc. polygons are on top).

RasterCalculator Flood.png

Changing NoData Values

Step 9.

  • After creating the raster of the flooded areas, we can now turn this layer into a polygon (with a few intermediate steps).
  • First the 0 value pixels (land) must be turned into no data values. Right click the water raster created in step 8 and click Export -> Save as… a popup window should appear.
  • Give the output a file name and save location, then scroll down and check the No Data Values box.
  • Click on the green plus symbol to add a new value manually, then in the box above type in 0, the left box will autofill to 0 as well, then click OK.

SaveAs Step9.png

  • You should now have a raster of water only areas in black as below.

WaterOnly Step9.png

Raster to Polygon

Step 10.

  • Go to the top toolbar and click Raster -> Conversion -> Polygonize (Raster to Vector)…
  • Under the Input Layers heading select the water only raster we created in the previous step.
  • Under the Vectorized heading select a save location for your output polygon and change the file type to save as a .shp file.

Raster To Polygon Step10.png

  • Click OK
  • The output should be a polygon of the flooded areas as seen below (notice the gap in the raster image on the left has also been included in the new polygon layer, we will need to remove this next)

Raster To Polygon Output Step10.png

Deleting Unwanted Polygons

Step 11.

  • We can now get rid of the no data area that was mistakenly included in our water only polygon.
  • Right click the polygon layer and click Toggle Editing.
  • In the middle toolbar at the top, click on the Select Features by Area or Single Click button SelectFeatures By Button.png, then click on the unwanted polygon.
  • The polygon should now be highlighted in yellow, click the Delete Selected button DeleteSelected Button.png to delete the polygon.
  • Right click the polygon layer again and click Save Edits, then Toggle Editing so that editing is turned off.
  • The unwanted polygon should now be deleted from your flooded area polygon.

Identifying Flooded Buildings

Step 12.

  • We are now able to identify vector objects that are impacted by the flooded areas.
  • To identify all the buildings that have been flooded go to the search bar in the bottom left-hand corner of the screen and type in Select by Location, select the tool form the menu and a popup window should appear.
  • Under the Select Features From heading select the Building polygon layer, under the By Comparing Features From heading select your flood water polygon.

SelectByLocation Step12.png

  • Click run.
  • The buildings that intersect with the flooded areas should now be selected and highlighted when you zoom in.
  • Right click the building shapefile and click Export -> Save Selected Features As…
  • You can now save all the overlapping features as their own polygon layer.
  • This new layer can then be symbolized differently to highlight what buildings have been flooded.
  • This step can also be repeated with the other vector layers to identify what pedestrian walkways or roads have been flooded.

ID FloodBuildings Step12.png

  • The tutorial is now complete!



  1. GISGeography,Retrieved: 2019-09-21
  2. GISGeography,Retrieved: 2019-09-21
  3. GISGeography,Retrieved: 2019-09-21
  4. GISGeography,DEM, DSM & DTM Differences – A Look at Elevation Models in GIS, Last Updated: 2018-02-20, Retrieved: 2019-09-21