[GIS] Interpreting raster values generated by QGIS Heatmap plugin

heat maplegendqgisqgis-plugins

I have generated a nice heatmap (point density) based on a point layer using the QGIS Heatmap plugin, set up as follows:

enter image description here

I calculated both outputs as shown in the screenshot below:

  • 'Scaled by Kernel size' range from 0 … 0.0212594
  • 'Raw values' range from 0 … 60.1269

… as indicated by the legend. Strangely, identifying on the resulting maps at the coordintes given by the yellow circle (300m Radius, Points within search radius count ~883) gives values far exceeding the max values in the legend:

  • 'Scaled by Kernel size' 0.0859
  • 'Raw values' 243.2

enter image description here

Isn't the raw value the point count within the search radius (here ~883) and the scaled value the points per area (here: #points/m², ~0.003...)?

Two questions:

  • How to interpret the legend values, what units do they have?
  • why am I sampling values so far exceeding the max values in the legend?

Best Answer

the units in a "normal" heatmap represent a probability estimate of there being a point at that location.

Imagine taking a bell curve, and rotating around its vertical axis. Now, put one of these centered on each point. Then, for each pixel, sum up the heights all these curves, sampled at that point. That gives the heatmap surface.

The height of this surface gives a good estimate of how likely you are to find a point there. But this surface is continuous (smooth)

The kernel option you choose determines the shape of these curves, and how they "fall-off" (or decay) from the point outwards. The radius specifies how large the curve is.

Here's an example with the default, "quartic". I have a series of random points, and a 400 meter radius.

enter image description here

If you want a count of the number of points within a given radius from each cell, you can use the Uniform kernel. This sweeps out a cylinder of fixed height around each point, and sums their heights for each pixel in the raster. The curve in this case is flat, and doesn't reduce in height away from the point.

Assuming that you :-

  • use 'uniform' kernel,
  • don't supply a weighting field and
  • choose 'raw output',

each cell will give the number of points within the kernel radius... again, using a 400 meter radius with the same data

enter image description here

useful sources:

Related Question