Difference between revisions of "IDW interpolation using QGIS"
Line 60: | Line 60: | ||
[[File:Plugin 1.png|500px|thumb|left]] |
[[File:Plugin 1.png|500px|thumb|left]] |
||
− | [[File:Plugin 2.png| |
+ | [[File:Plugin 2.png|700px|thumb|center]] |
* 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 |
* 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 |
||
− | [[File:Plugin 3.png| |
+ | [[File:Plugin 3.png|600px|thumb|center]] |
+ | <br clear=all> |
||
* 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" |
* 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" |
||
− | [[File:CSVI 1.png| |
+ | [[File:CSVI 1.png|700px|thumb|center]] |
+ | <br clear=all> |
||
* 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 |
* 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 |
||
− | [[File:CSVI 2.png| |
+ | [[File:CSVI 2.png|600px|thumb|center]] |
+ | <br clear=all> |
||
* Click on the layer tab in the menu, go to the "Add Layer" tab and select "Add Vector Layer" |
* Click on the layer tab in the menu, go to the "Add Layer" tab and select "Add Vector Layer" |
||
− | [[File:VI 1.png| |
+ | [[File:VI 1.png|600px|thumb|center]] |
+ | <br clear=all> |
||
* 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 boundary file with a .shp ending |
* 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 boundary file with a .shp ending |
||
− | [[File:VI 2.png| |
+ | [[File:VI 2.png|600px|thumb|center]] |
+ | <br clear=all> |
||
* Right-click on the boundary layer and select "Open attribute table" |
* 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 |
* 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 |
||
− | [[File:AT 1.png|thumb]] |
+ | [[File:AT 1.png|600px|thumb|center]] |
+ | <br clear=all> |
||
* Right-click on the boundary and toggle editing to stop editing the layer. Select the "Save your Edits" option from the ensuing pop-up |
* 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 you open your project. To do this right-click on the layer, click "Export", the select "Save Feature As" |
* 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 you open your project. To do this right-click on the layer, click "Export", the select "Save Feature As" |
||
− | [[File:SVS 1.png| |
+ | [[File:SVS 1.png|600px|thumb|center]] |
+ | <br clear=all> |
||
− | |||
+ | |||
* 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" |
* 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 |
* Repeat this step for both the boundary and weather station layers |
||
− | [[File:SVS 2.png| |
+ | [[File:SVS 2.png|600px|thumb|center]] |
+ | <br clear=all> |
||
− | |||
Line 107: | Line 113: | ||
* Click the processing tab or the gear icon in the menu |
* Click the processing tab or the gear icon in the menu |
||
− | [[File:MENU 1.png| |
+ | [[File:MENU 1.png|600px|thumb|center]] |
+ | <br clear=all> |
||
* 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 |
* 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 |
||
− | [[File:TB 1.png| |
+ | [[File:TB 1.png|600px|thumb|center]] |
+ | <br clear=all> |
||
* In the new window, select the weather stations layer from the "Vector layer" drop-down. Next, select "Tm" as from the "Interpolation attribute" drop-down to assign the mean temperature as the value we are interpolating |
* In the new window, select the weather stations layer from the "Vector layer" drop-down. Next, select "Tm" as 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 |
* 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 |
||
− | [[File:IDW 1.png| |
+ | [[File:IDW 1.png|600px|thumb|center]] |
+ | <br clear=all> |
||
* 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 |
* 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 |
||
− | [[File:IDW 2.png| |
+ | [[File:IDW 2.png|600px|thumb|center]] |
+ | <br clear=all> |
||
* Once the processing is complete the result should resemble the image below |
* Once the processing is complete the result should resemble the image below |
||
− | [[File:IDW 3.png| |
+ | [[File:IDW 3.png|600px|thumb|center]] |
+ | <br clear=all> |
||
Line 132: | Line 143: | ||
* Click the "Raster" tab in the menu and select "Extraction", then "Clip Raster by Mask Layer" |
* Click the "Raster" tab in the menu and select "Extraction", then "Clip Raster by Mask Layer" |
||
− | [[File:Clip 1.png| |
+ | [[File:Clip 1.png|600px|thumb|center]] |
+ | <br clear=all> |
||
* In the window select your interpolated layer as the "Input Layer". Next, select the boundary layer as the "Mask Layer" |
* In the window select your interpolated layer as the "Input Layer". Next, select the boundary layer as the "Mask Layer" |
||
− | [[File:Clip 2.png| |
+ | [[File:Clip 2.png|600px|thumb|center]] |
+ | <br clear=all> |
||
* Right-click on the new layer and select the "Properties" button at the bottom of the pop up menu |
* 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) |
* 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) |
||
− | [[File:Col 1.png| |
+ | [[File:Col 1.png|600px|thumb|center]] |
+ | <br clear=all> |
||
* Next export the layer by right-clicking and selecting "Export" and "Save Feature As". |
* 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 |
* Set the "Format" to GeoTIFF and click the three dots to navigate to your project folder. Name your file, then click "OK" to save |
||
− | [[File:Clip 3.png| |
+ | [[File:Clip 3.png|600px|thumb|center]] |
+ | <br clear=all> |
||
*Your project should look like the image below |
*Your project should look like the image below |
||
− | [[File:Col 2.png| |
+ | [[File:Col 2.png|700px|thumb|center]] |
+ | <br clear=all> |
||
Revision as of 20:29, 29 September 2023
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 which 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 which 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
Tutorial
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!
Data
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
- 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
- Next, go to [[6]] and set the date to December of 2019
- Select your area of interest (for this assessment Alberta was used as it has the most climate stations in the country)
- Select CSV as the data format and click "Download data" to start your download
- You can also download the Legend(txt) file as it will allow you to see what all the data is meant to represent
- Next, we will download our provincial boundary file from [[7]]
- Select your preferred language, the .shp file format, and provinces/territories under "Cartographic Boundary File"
- Next hit continue at the bottom of the page, this will redirect you to a new page with a link labelled "Archived – gpr_000b11a_e.zip (ZIP version, 40,968.0 kb)" click the link to download the .zip folder
Editing the data
With this data having so many variables we need to edit it to make it easier to work with:
- Open your CSV file using a spreadsheet software like Excel
- Right click on the "Clim_ID" column to select the entire row
- Use the sort/filter drop-down menu and filter the "Clim_ID" column from largest to smallest
- 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
- Save your worksheet as a CSV in your project folder and close your spreadsheet software
QGIS
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
- 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
- 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"
- 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
- Click on the layer tab in the menu, go to the "Add Layer" tab and select "Add Vector Layer"
- 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 boundary file with a .shp ending
- 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
- 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 you open your project. To do this right-click on the layer, click "Export", the select "Save Feature As"
- 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
Interpolating data to create a Raster Surface layer
- Click the processing tab or the gear icon in the menu
- 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
- In the new window, select the weather stations layer from the "Vector layer" drop-down. Next, select "Tm" as 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
- 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
- Once the processing is complete the result should resemble the image below
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"
- In the window select your interpolated layer as the "Input Layer". Next, select the boundary layer as the "Mask Layer"
- 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)
- 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
- Your project should look like the image below
- Once this is completed the the tutorial is over and you successfully ran an interpolation on open source software!
Resources
Boundary files. (n.d.). Retrieved December 23, 2021, from https://www12.statcan.gc.ca/census-recensement/2011/geo/bound-limit/bound-limit-2011-eng.cfm
Kriging Interpolation—The Prediction Is Strong in this One. (2017, February 4). GIS Geography. https://gisgeography.com/kriging-interpolation-prediction/
Types of Interpolation—Advantages and Disadvantages. (n.d.). GIS Resources. Retrieved December 22, 2021, from https://www.gisresources.com/types-interpolation-methods_3/
Media, G. R. is an initiative of S. (2013, October 4). Interpolation. GIS Resources. https://www.gisresources.com/gis_interpolation_techniques_2/
Canada, E. and C. C. (2011, October 31). Monthly Climate Summaries—Climate—Environment and Climate Change Canada. https://climate.weather.gc.ca/prods_servs/cdn_climate_summary_e.html
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. https://doi.org/10.1080/15230406.2013.762138
Li, J., & Heap, A. D. (2014). Spatial interpolation methods applied in the environmental sciences: A review. Environmental Modelling & Software, 53, 173–189. https://doi.org/10.1016/j.envsoft.2013.12.008