I am working on a project for my university and this is my first solo project.

I have two layers:

  • The first layer is a land cover classification with 6 classes.
  • The second layer is a set of points that are locations of a mammal we have been observing.

I have imported the point layer into QGIS using their lat/long and now have them overlaid on top of my land cover classification layer. I now want to understand in which land cover classes these points/observations have occurred.

If there are around 1000 points, how do I understand how many of them have occurred in each land cover class?

For example, if there were 12 points located in areas classed as "urban" then this would equate to 12/1000 or 1.2% of sightings of the animal being sighted in urban areas. I can calculate the percentages afterwards myself, but just want to understand how to assign all of the points to the land cover classes they are located within.

  • 1
    Try "Count points in polygons" from processing toolbox. If needed you can afterwards sum them by class via field calculator.
    – MrXsquared
    Sep 11, 2022 at 16:17
  • 2
    Please do not repost Questions Calculate percentage of points within land cover classes QGIS
    – Vince
    Sep 11, 2022 at 16:20
  • Hi Vince, I understand, but it's actually a different question, that one was relating to percentages.
    – Kora Lae
    Sep 11, 2022 at 16:52
  • It's the same fundamental problem. Once you have polygon-id as a property of point, counts, percentage, and other statistics are just table math.
    – Vince
    Sep 11, 2022 at 17:04
  • I understand, but I asked that question specifically about calculating percentage and the answer provided was specific to it too. This is more general as you've said.
    – Kora Lae
    Sep 11, 2022 at 17:06

1 Answer 1


You need to use JOIN ATTRIBUTES BY LOCATION feature in QGIS.

Processing toolbox -> Vector General -> Join Attributes by location

Select your point layer for features and the land cover layer for comparison. On join relation type choose 'are within' and choose the fields (columns) you want to append (say land cover class in your case). Remember to choose the join type wisely (prefer one-to-one) as one-to-many type may lead to multiplication of data points in case your polygons overlap or points fall exactly on shared boundaries. Now you have a point layer with additional information on land cover classes and you can easily perform statistical analysis.

Join attributes by location dialog box

  • This worked absolutely perfectly and quickly! Thank you so much!! :)
    – Kora Lae
    Sep 12, 2022 at 18:09

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