Converting point layer to raster grid that shows frequency of points per cell uisng QGIS

This is a kludge but it does work - haven't found a way to go directly from points to raster yet (but am hoping someone gives a solution here!).

Starting with a point grid (random points in the Serengeti from the Vector|Research tools|Random points tool):

enter image description here

Create a polygonal grid of the same extent and cell size as the raster you'd like to have (this from Vector|Research tools|Vector grid):

enter image description here

Use Vector|Analysis tools|Points in polygon, using the polygon grid and the point layer:

enter image description here

This gives you a new grid (here colour coded by the number of points in each polygon cell):

enter image description here

Now use Raster|Conversion|Rasterize to convert this to a raster, using the PNTCNT attribute for the raster values and the same cell size as chosend for the grid:

enter image description here

... giving a raster with values as per the points in each cell:

enter image description here


Easiest and most straight-forward way:

  • Assume you have a column with a unique point identifier (the species name)
  • Split your Point layer by this Attribute (QGIS -> Data Management -> Split)
  • Rasterize each individual point layer for instance with the GDAL Rasterize Tool, or the SAGA or GRASS tools available in the Processing Toolbox. Make sure that you use the same cell-size and resulting extent.
  • Simply sum up all generated Rasterlayers. For instance with the SAGA function "Grids sum" or within GRASS "r.sum". Both functions are available in the Processing Toolbox as well.

In order to do this automatically I would suggest you ether write yourself a script, a processing-model or click x times on batch-processing in the QGIS Processing Toolbox. EDIT: If you are capable of using R then just start directly from here and adapt the code to your needs (looping through splitted points).
Or you wait for a little longer. In my freetime I am currently in the process of writing a new plugin for QGIS (dealing with macroecological calculations) and It might have a function similar to what you need.