I have two polygons in QGIS. One is a land-use map, which polygons that include different types (forest, agriculture, urban etc). I also have a vector polygon that represents a flood extent. I want to work out the amount of flooded land-use types, so that I get:

Forest - 5,000m2
Agriculture - 15,000m2
Urban - 10,000m2 

(for example)

What is the correct tool to do this analysis?


The quickest way to answer your question (imho) : a good SQL query using QGIS DB Manager.

You choose Database / Database Manager / Database Manager then Virtual Layers / Qgis Layers and you can then try the following query (you open the SQL window by clicking on the 'wrench' icon) :

SELECT LU.type, sum(st_area(st_intersection(LU.geometry,FLO.geometry)) FROM LU, FLO
where st_intersects(LU.geometry,FLO.geometry)

I called LU the land use table and FLO the flood table.

You get the cumulated areas of land types in your flooded zone. Once executed u can retrieve the result in your QGIS session :

Check the CheckBox "Load as new layer", fill in the fields expected by QGIS and then click on "Load Now !" - The result of your query will appear in the layer manager.

  • Could you please be a little more specific on how to "...retrieve the result..."? – Stu Smith May 2 '19 at 1:42
  • I edited my answer a bit. – snaileater May 2 '19 at 9:23

There are various ways that this could be tackled, quite a simple way would be to use the

Vector - Geoprocessing tools - Clip

to create a new layer with just the areas of land-use that are within the flood area. Layers need to be in the same CRS.

You could then use

Vector - Geoprocessing - Dissolve

to dissolve each land-use types into single polygons and then use the Field Calculator to recalculate the area of each land-use type polygon

Use area$ in the field calculator to return an area value. You may need to divide the function by an amount to convert it into a unit that is most useful. This will depend on the CRS. For hectares for example in a metric CRS this would be $area/10000.

  • $area not area$ – csk May 1 '19 at 20:01
  • @csk Thank you. Now updated – Sara Belzak May 10 '19 at 17:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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