The Heatmap plugin uses Kernel Density Estimation to create a density (heatmap)
raster of an input point vector layer. The density is calculated based on the
number of points in a location, with larger numbers of clustered points resulting
in larger values. Heatmaps allow easy identification of “hotspots” and
clustering of points.
Activate the Heatmap plugin
First this core plugin needs to be activated using the Plugin Manager (see
Section Loading a QGIS Core Plugin). After activation the heatmap icon
can be found in the Raster Toolbar, and under the
Select the menu to show the
Raster Toolbar if it is not visible.
Using the Heatmap plugin
Clicking the Heatmap toolbutton opens the Heatmap plugin dialog
The dialog has the following options:
- Input point layer: lists all the vector point layers in the current project
and is used to select the layer to be analysed.
- Output raster: use the button to select the folder and
file name for the output raster the Heatmap plugin generates. A file extension
is not required.
- Output format: selects the output format. Although all formats supported
by GDAL can be choosen, in most cases GeoTIFF is the best format to choose.
- Radius: used to specify the heatmap search radius (or kernel bandwidth) in meters
or map units. The radius specifies the distance around a point at which the influence
of the point will be felt. Larger values result in greater smoothing, but smaller
values may show finer details and variation in point density.
When the Advanced checkbox is checked additional options
will be available:
- Rows and Columns: used to change the dimensions of the output raster.
These values are also linked to the Cell size X and Cell size Y values.
Increasing the number of rows or colums will decrease the cell size and increase the
file size of the output file. The values in Rows and Columns are also linked, so doubling
the number of rows will automatically double the number of columns and the cell sizes will
also be halved. The geographical area of the output raster will remain the same!
- Cell size X and Cell size Y: control the geographic size of each pixel in the output
raster. Changing these values will also change the number of Rows and Columns in the output
- Kernel shape: The kernel shape controls the rate at which the influence of a point
decreases as the distance from the point increases. Different kernels decay at
different rates, so a triweight kernel gives features greater weight for distances closer
to the point then the Epanechnikov kernel does. Consequently, triweight results in “sharper”
hotspots, and Epanechnikov results in “smoother” hotspots. A number of standard kernel functions
are available in QGIS, which are described and illustrated on Wikipedia.
- Decay ratio: can be used with Triangular kernels to futher control how heat from
a feature decreases with distance from the feature.
- A value of 0 (=minimum) indicates that the heat will be concentrated in the centre of the
given radius and be completely extinguished at the edge.
- A value of 0.5 indicates that pixels at the edge of the radius will be given half the heat
as pixels at the centre of the search radius.
- A value of 1 means the heat is spread evenly over the whole search radius circle. (This
is equivalent to the ‘Uniform’ kernel.)
- A value greater than 1 indicates that the heat is higher towards the edge of the search radius
then at the centre.
The input point layer may also have attribute fields which can affect how they influence
- Use radius from field: sets the search radius for each feature from an attribute field in the input layer.
- Use weight from field: allows input features to be weighted by an attribute field. This can be used to
increase the influence certain features have on the resultant heatmap.
When an output raster file name is specified, the [OK] button can be used to create the
Tutorial: Creating a Heatmap
For the following example we will use the airports vector point layer from
the QGIS sample dataset (see Sample Data). Another exellent QGIS
tutorial on making heatmaps can be found at http://qgis.spatialthoughts.com.
In Figure_Heatmap_1 the airports of Alaska are shown.
Figure Heatmap 1:
Airports of Alaska
- Select the Heatmap toolbutton to open the Heatmap dialog
- In the Input point layer field select airports
from the list of point layers loaded in current project.
- Specify an output file name by clicking the button next to the
Output raster field. Enter the file name heatmap_airports (no
file extension is necessary).
- Leave the Output format as the default format, GeoTIFF.
- Change the Radius to 1000000 meters.
- Click on [OK] to create and load the airports heatmap (see Figure_Heatmap_3).
Figure Heatmap 2:
The Heatmap Dialog
QGIS will generate the heatmap and add the results to your map window. By default, the heatmap
is shaded in greyscale, with lighter areas showing higher concentrations of airports. The heatmap
can now be styled in QGIS to improve its appearance.
Figure Heatmap 3:
The heatmap after loading looks like a grey surface
- Open the properties dialog of the heatmap_airports layer (select the layer
heatmap_airports, open the context menu with the right mouse button and select
- Select the Style tab.
- Change the Render type to ‘Singleband pseudocolor’.
- Select a suitable Color map , for instance YlOrRed.
- Click the [Load] button to fetch the minimum and maximum values from the raster,
then click the [Classify] button.
- Press [OK] to update the layer.
The final result is shown in Figure_Heatmap_4.
Figure Heatmap 4:
Styled heatmap of airports of Alaska