I am using RADAR data to create a map of biomass estimates.
I want to mask out all land susceptible to flooding because water-logged soils affect the backscatter …and will have an impact on biomass estimate. For part of this process I just want to mask out flood-prone areas around waterbodies.
This will be a very basic operation (because I am doing it over a very large area) and I am happy if it means that I mask out regions that don't get flooded.
I have:
- a DEM for the region in question
- a binary raster of water bodies/non-water-bodies area
My suggested approach is to mask out all cells in the radar raster that lie within x-metres of height of the waterbodies.
I am using QGIS but have not been able to identify a simple solution to do this. Can anyone help?
…..One of my thoughts had been to identify the drainage basins of the water bodies and mask out all cells within the basin that lie within x m of the water body ….this is problematic for rivers…which have a full range of heights/drainage basins.
Best Answer
A robust but programmatic solution would be something along these lines (roughly, Pythonic pseudocode):
In the end, F marks all flood-prone pixels with values larger than 0 and can therefore be used as a mask.
I can't give a QGIS solution due to lack of experience but the implementation should be quite straightforward.
(Giving it a second thought, the algorithm will probably not work if the DEM is too coarse, making large differences in the neighbouring water body cells' heights. Were it not with the rivers, the problem would become much easier.)