IDW interpolation using QGIS

From CUOSGwiki
Jump to navigationJump to search

Introduction and Purpose

Using spatial data, it is possible to analyze, interpret, and represent phenomena almost everywhere on Earth. But what can be done when data exists near our area of interest, but not directly at the location? In these situations, we can use Inverse Distance Weighting (IDW) interpolation, a process that calculates values for locations based on nearby known values. It operates on the first law of geography, which states that near things are more alike than far things and assigns greater influence to known values that are nearby than those that are distant. In this tutorial, we will be conducting IDW interpolation in QGIS, an open-source GIS system. Open-source ([1]) is a term that refers to having accessible, free, and redistributable programs available to the public. This allows for individuals to work on the code together to create a model that encourages open collaboration and develops code together. To look at GIS programs available for free download, you can visit the [2] page to look at all the projects currently being worked on by the community.

The purpose of this tutorial is to expand your abilities in QGIS by teaching you how to run an important analysis tool- IDW interpolation [[3]], with the end goal of creating an interpolated raster surface. The difficulty level for this tutorial is an entry-level QGIS user. This tutorial will contain screen-shots for each step to show the path to create all the layers that are in the finished product.

QGIS logo.png


Downloading QGIS

This tutorial uses QGIS, you will need to have the software installed [[4]] on your desktop or laptop. This tutorial uses QGIS 3.23. Once you have selected the version you wish to download based on your operating system, follow the guide that is installed in the package. With QGIS now installed on your computer and a proper path for accessing the application on your hard drive, you are now able to start the tutorial!


The data used in this tutorial is monthly climate summaries from Statistics Canada, which publishes extensive and easily accessible data for all provinces and territories in Canada. For more information about the data, visit the "About the Data" page here [[5]]. This in-depth look at provincial weather will be an easily malleable data set to use for the tutorial. In this example, we will be looking at Alberta's average mean temperature. This will give us a well-distributed data set that we will be able to use to create an IDW model and help us calculate the approximate temperature values of areas that do not have weather stations.

Downloading the data

  1. First, set up a folder in your file directory for your project. This will be where you save all your data and your QGIS project
  2. Next, go to [[6]] and set the date to December of 2019
  3. Select your area of interest (for this assessment, Alberta was used as it has the most climate stations in the country)
  4. Select CSV as the data format and click "Download data" to start your download
  5. You can also download the Legend(txt) file as it will allow you to see what all the data is meant to represent
  6. Next, we will download our provincial boundary file from [[7]]
  7. Select your preferred language, the .shp file format, and provinces/territories under "Cartographic Boundary File"
  8. Next hit continue at the bottom of the page, this will redirect you to a new page with a link labelled "Archived – (ZIP version, 40,968.0 kb)" click the link to download the .zip folder
Screen Shot 2021-12-23 at 10.47.38 AM.png
Screen Shot 2021-12-23 at 10.52.41 AM.png

Editing the data

With this data having so many variables, we need to edit it to make it easier to work with:

  1. Open your CSV file using a spreadsheet software like Excel
  2. Right-click on the "Clim_ID" column to select the entire row
  3. Use the sort/filter drop-down menu and filter the "Clim_ID" column from largest to smallest
  4. Select the rows with values that contain letters and delete them from your file. These rows are not needed and can create some issues when loading the data into QGIS
  5. Save your worksheet as a CSV in your project folder and close your spreadsheet software
Screen Shot 2021-12-23 at 11.07.44 AM.png


Loading CSV File and Provincial Boundary File

  • Launch QGIS and create a new project file. Save your project to the folder you created at the start of the tutorial
  • At the top of your toolbar, click the plugin tab and click the "manage and install plugins" item.
  • Search for the "QuickMapServices" plugin in the pop-up window and install it to QGIS. Save your project, close and re-open the QGIS application to activate the plug-in
Plugin 1.png
Plugin 2.png
  • After reopening your project, click the Web tab on the menu, then QuickMapServices dropdown and select OSM standard. This will serve as a base map to your project
Plugin 3.png

  • Add in the monthly climate summary data by clicking on the layer tab in the menu, selecting "Add Layer" and clicking "Add Delimited Text layer"
CSVI 1.png

  • In the pop up window, click the 3 dots at the top right corner of the screen (highlighted in blue in the image below) and navigate to your project folder. Select the climate summary CSV file. In the Geometry definition option, set your x field to "Long" and your y field to "Lat" (highlighted in yellow) to set your coordinates
CSVI 2.png

  • Click on the layer tab in the menu, go to the "Add Layer" tab and select "Add Vector Layer"
VI 1.png

  • In the pop-up window, click the 3 dots at the top right corner of the screen (highlighted in blue in the image below) and navigate to your project folder. Select the boundary file with a .shp ending
VI 2.png

  • Right-click on the boundary layer and select "Open attribute table"
  • In the pop-up window, click the pencil (circled in yellow) at the top right of the window to begin editing. Select all layers except Alberta and click the "Delete Selected Feature" tool (circled in red) on the menu
AT 1.png

  • Right-click on the boundary and toggle editing to stop editing the layer. Select the "Save your Edits" option from the ensuing pop-up
  • The following step is to save both of your layers as individual files. If this is not done, they will have to be re-created each time you open your project. To do this, right-click on the layer, click "Export", then select "Save Feature As"
SVS 1.png

  • In the pop-up window, click the 3 dots (highlighted in blue) and navigate to your project folder. Give your feature an appropriate name, and then click "Okay"
  • Repeat this step for both the boundary and weather station layers
SVS 2.png

Interpolating data to create a Raster Surface layer

  • Click the processing tab or the gear icon in the menu
MENU 1.png

  • This will bring up a menu on the left side of the application with a search bar at the top of its menu. Click on the "Interpolation" row to open the sub-menu. Once you have located it, double-click "IDW Interpolation" (highlighted in yellow) to open the tool window
TB 1.png

  • In the new window, select the weather stations layer from the "Vector layer" drop-down. Next, select "Tm" from the "Interpolation attribute" drop-down to assign the mean temperature as the value we are interpolating
  • Click the plus button (highlighted in yellow) to add the stations layer to the "Vector layer" list. Select the "points" tab under the "Type" drop-down
IDW 1.png

  • Click the drop-down by the "Extent" option to limit the extent of the interpolation. Click "Calculate from Layer" and select your boundary file as the extent
IDW 2.png

  • Once the processing is complete, the result should resemble the image below
IDW 3.png

Clipping Interpolation Surface to create a final raster layer

  • Click the "Raster" tab in the menu and select "Extraction", then "Clip Raster by Mask Layer"
Clip 1.png

  • In the window, select your interpolated layer as the "Input Layer". Next, select the boundary layer as the "Mask Layer"
Clip 2.png

  • Right-click on the new layer and select the "Properties" button at the bottom of the pop-up menu
  • In the new window, change the "Render type" to "Singleband pseudocolor" using the drop-down menu (highlighted in yellow). Next, select the red to blue colour ramp using the "Color ramp" drop-down and selecting "All Color Ramps". Invert the colour ramp so that red represents higher temperatures and blue colder using the "Invert Color Ramp" function in the "Color ramp" drop-down (highlighted in blue)
Col 1.png

  • Next, export the layer by right-clicking and selecting "Export" and "Save Feature As".
  • Set the "Format" to GeoTIFF and click the three dots to navigate to your project folder. Name your file, then click "OK" to save
Clip 3.png

  • Your project should look like the image below
Col 2.png

  • Once this is completed, the tutorial is over and you successfully ran an interpolation on open-source software! Thank you for following along, and we hope that this has been helpful - Pierce and Alex


Boundary files. (n.d.). Retrieved December 23, 2021, from

Kriging Interpolation—The Prediction Is Strong in this One. (2017, February 4). GIS Geography.

Types of Interpolation—Advantages and Disadvantages. (n.d.). GIS Resources. Retrieved December 22, 2021, from

Media, G. R. is an initiative of S. (2013, October 4). Interpolation. GIS Resources.

Canada, E. and C. C. (2011, October 31). Monthly Climate Summaries—Climate—Environment and Climate Change Canada.

Meng, Q., Liu, Z., & Borders, B. E. (2013). Assessment of regression kriging for spatial interpolation – comparisons of seven GIS interpolation methods. Cartography and Geographic Information Science, 40(1), 28–39.

Li, J., & Heap, A. D. (2014). Spatial interpolation methods applied in the environmental sciences: A review. Environmental Modelling & Software, 53, 173–189.