I have a base layer of census data in census tracts (polygons). I'm looking to intersect those tracts with a buffer layer but I only want to include those census tracts whose area is over 50% within the buffer. The spatial query plugin doesn't offer that kind of precision and I can't find an equivalent of tabulate intersection. Is there any way to do this in QGIS?
I guess one way to do it would be to use the field calculator.
In the QGIS field calculator, you can create a new attribute containing the area of each census polygon. Just open the field calculator and write $area in it, and set it to create a new column with that (let's call it Area1).
Than you can use the intersect tool in the Vector menu on the census layer with your buffer, and on the created (intersected) polygons you do the same thing again. So you get another column with the new area after intersection (let's call that Area2).
Then you can query the intersect layer with SQL using a filter, and exclude all features where Area2 < (Area1 / 2).
There is probably some more straight forward way to do this though, but this should work.