Does anyone know if there exists in QGIS any tool similar to "Tabulate Area" of ArcGIS to be able to calculate what percentage of values of a raster for each polygon?

So far I am using pktools, pkextract but the time it takes to process is huge, not acceptable for very large surfaces.

  • 2
    possible duplicated gis.stackexchange.com/questions/23280/…
    – Fran Raga
    Commented Jan 10, 2018 at 15:48
  • can you be more explicit as to what you mean by large surfaces (i.e. number of pixels and polygons)? I use pkextract on very large datasets without any trouble.
    – dmci
    Commented Jan 10, 2018 at 16:10
  • I refer to large raster, for example watersheds. I usually use pkextract to calculate what percentage of soil types there are in several basins of a hydrographic basin. This operation is almost instantaneous using tabulate area in Arcgis but using pkextract can last hours. I'm afraid something should not be doing well Commented Jan 11, 2018 at 16:37

1 Answer 1


Zonal Histogram (QGIS 3.4) has worked successfully for me to derive land cover totals (from a TIF) per county (held as shapefile).

I was searching for an answer to this exact same question. However, a different question (about an equivalent for Zonal Statistics) was where I found this information. To me, Zonal Histogram seems to be a more direct equivalent to Tabulate Area than to Zonal Statistics, so I am posting it here to make the answer more easily searchable.

It calculates a total, not a percentage as per the original question, but it at least makes a percentage possible to calculate.

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.