I'm currently using QGIS 1.8.0

I would like to create a polygon layer from a point dataset, where the size of the polygons relates to the resolution of the grid reference.

The ultimate aim would be mapping species density - I have a numerous spreadsheets of species presence at certain locations but with differing resolutions (2km, 1km and 100m). So, I would like polygons of each grid square, so that the number of different species recorded within that square can be counted. I believe this is a similar method to how the NBN Gateway maps using their new interactive map http://www.nbn.org.uk/

2 Answers 2


First create a polygon grid using the Vector Grid Tool (Vector\Research Tools) You can specify the polygon dimensions in the settings

Second run a spatial query to intersect your point dataset with the grid cells

Save selection as a new layer

  • Thank you, that has solved the main part of my problem. However, do you have suggestions of how to take this further...such as: Within the database I have multiple entries with the same 1km Grid Ref, however, the grid method does not account for multiples. Is there a way to portray the density as it were of the data within a single grid square? Thanks again. Oct 5, 2012 at 9:56

I've worked it out...with great thanks to Luke's previous post!

Firstly, follow Luke's answer creating a Vector Grid with the resolution desired (as found in the species dataset) and perform a spatial analysis using intersect.

Secondly, go to Vector>Analysis Tools>points in polygon and save the output shapefile. This will add a new column in attributes (called PNTCNT) to the vector grid polygon layer made earlier (but all as a new layer).....It has added how many data points there were for each grid square together. Change style to graduated with a colour ramp...and TA DA a species density grid.

CONS: 1. All the species data in the database needs to be the same resolution (either 2km, 1km or 100m etc). The only way I see to get round this is make multiple vector grids at different resolutions and count the resolutions separately. 2. The original species records are not held within the new polygon layer. A solution could be to either come up with a table join or make a link to the species database.

  • 2
    A completely different approach, but you might consider heat maps. For points with high resolution you could set low radius but high weight (using the QGIS heatmap plugin); for points with low resolution, you could do the inverse. Note that I haven't tried this myself, so I'm not sure it would work like I imagine. Might also be a more organic result than what you're looking for. Oct 5, 2012 at 14:45
  • @rudivonstaden Heat map was a great idea! I have just tried it out and it works well, so another possible way of representing my data. Handy because it has fewer steps to get the results desired. The only problem I've found is when I run it with point data that has the mix of 3 figure grid refs and 6 figure grid refs. SO, I separated out the different resolutions and made separate point layers of them, then made the heat maps and also as you suggested altering the radius and weight accordingly. Fantastic, thanks. Oct 5, 2012 at 15:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.