Interpolating Point Data¶
This tutorial is now obsolete. A new and updated version is available at Interpolating Point Data (QGIS3)
Interpolation is a commonly used GIS technique to create continuous surface
from discrete points. A lot of real world phenomena are continuous -
elevations, soils, temperatures etc. If we wanted to model these surfaces for
analysis, it is impossible to take measurements throughout the surface. Hence,
the field measurements are taken at various points along the surface and the
intermediate values are inferred by a process called ‘interpolation’. In QGIS,
interpolation is achieved using the built-in
Overview of the task¶
We will take field depth measurements for a Lake Arlington in Texas and create an elevation relief map and contours from these measurements.
Other skills you will learn¶
Creating contours from point data.
Masking no-data values from a raster layer.
Adding labels to a vector layer.
Get the data¶
Texas Water Development Board provides the shapefiles for completed lake surveys.
Download the 2007-12 survey shapefiles for Lake Arlington.
For convenience, you can directly download the sample data used in this tutorial from link below.
Data Sources: [TWDB]
Open QGIS. Go to
Browse to the downloaded
Shapefiles.zipfile and select it. Click Open.
In the Select layers to add… dialog, hold the Shift key and select
Boundary2004_550_stpl83.shplayers. Click OK.
You will see the 2 layers loaded in QGIS. The
Boundary2004_550_stpl83layer represents the boundary of the lake. Un-check the box next to it in the Table of Contents.
This will reveal the data from the second layer
Arlington_Soundings_2007_stpl83. Though the data looks like lines, it is a series of points that are very close.
Click the Zoom icon and select a small area on the screen. As you zoom closer, you will see the points. Each point represents a reading taken by a Depth Sounder at the location recorded by a DGPS equipment.
Select the Identify tool and click on a point. You will see the Identify Results panel show up on the left with the attribute value of the point. In this case, the
ELEVATIONattribute contains the depth of the lake at the location. As our task is to create a depth profile and elevation contours, we will use this values as input for the interpolation.
Make sure you have the
Interpolation pluginenabled. See Using Plugins for how to enable plugins. Once enabled, go to .
In the Interpolation dialog, select
Arlington_Soundings_2007_stpl83as the Vector layers in the Input panel. Select
ELEVATIONas the Interpolation attribute. Click Add. Change the Cellsize X and Cellsize Y values to
5. This value is the size of each pixel in the output grid. Since our source data is in a projected CRS with Feet-US as units, based on our selection, the grid size will be 5 feet. Click on the … button next to Output file and name the output file as
elevation_tin.tif. CLick OK.
Interpolation results can vary significantly based on the method and parameters you choose. QGIS interpolation supports Triagulated Irregular Network (TIN) and Inverse Distance Weighting (IDW) methods for interpolation. TIN method is commonly used for elevation data whereas IDW method is used for interpolating other types of data such as mineral concentrations, populations etc. See the Spatial Analysis module of the QGIS documentation for more details.
You will see the new later
elevation_tinloaded in QGIS. Right-click the layer and select Zoom to layer.
Now you will see the full extent of the created surface. Interpolation does not give accurate results outside the collection area. Let’s clip the resulting surface with the lake boundary. Go to.
Name the Output file as
elevation_tin_clipped.tif. Select the Cliiped mode as Mask layer. Select
Boundary2004_550_stpl83as the Mask layer`. Click OK.
A new raster
elevation_tin_clippedwill be loaded in QGIS. We will now style this layer to show the difference in elevations. Note the min and max elevation values from the
elevation_tinlayer. Right-click the
elevation_tin_clippedlayer and select Properties.
Go to the Style tab. Select Render type as
Singleband pseudocolor. In the Generate new color map panel, select
Spectralcolor ramp. As we want to create a depth-map as opposed to a height-map, check the Invert box. This will assign blues to deep areas and reds to shallow areas. Click Classify.
Switch to the Tranparency tab. We want to remove the black-pixels from our output. Enter
0as the Additional no data value. Click OK.
Now you have a elevation relief map for the lake generated from the individual depth readings. Let’s generate contours now. Go to.
In the Contour dialog, enter
contoursas the Output file for contour lines. We will generate contour lines at 5ft intervals, so enter
5.00as the Interval between contour lines. Check the Attribute name box. Click OK.
The contour lines will be loaded as
contourslayer once the processing is finished. Right-click the layer and select Properties.
Go to the Labels tab. Check the Label this layer with box and select
ELEVas the field. Select
Curvedas the Placement type and click OK.
You will see that each contour line will be appropriately labeled with the elevation along the line.