Tuesday, 5 February 2019

Interpreting raster values generated by QGIS Heatmap plugin?


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?




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:



No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...