[GIS] Calculate area covered by a particular raster layer within polygons in QGIS

qgisrraster

I am trying to extract information on vegetation cover within a set radius of point locations (my sites). I have succeeded in creating a new vector layer of circles with a 5 km radius around my sites.
enter image description here

What I want to do is calculate the amount of vegetation cover within each of these circles (and therefore, within a 5 km radius of my sites), which I have as a raster layer. I would like to extract this either as a direct measurement of land cover (e.g. metres squared), or even just a percentage of the 5 km radius circle/polygon that is covered by the raster layer of vegetation (because I could then calculate the land cover from that).

I am aware that the LeCos plugin can somehow do this, but I have not succeeded in installing this (subject of another question I have posted) and was hoping there might be another way. I would be open to trying this in R if someone can point me in the right direction ( I am a user of R for statistical analysis but haven't yet tried it for spatial analysis).

Best Answer

I suggest to use grass for doing this. What you need is v.rast.stats (you can find it in the grass plugin for Qgis). This tool uploads the value of the raster to your vector layer. Just pay attention to the resolution of your raster layer (bigger are pixel more difficult it is to approximate your circle so the area that you analyze it's not exactly a a 5 km radius circle).

Related Question