Exploring the raster tools in QGIS and related software, I found raster buffer functions to surround existing rasters. The values of the raster buffer are restricted to be distances from the interior raster or constant however. I would rather like to derive the values of the added cells from the boundary of the interior raster...

Data: 1. river flood level raster; 2. polygon at the side of 1.; 3. bended river axis as polyline; 4. DEM.

Aim: I'd like to laterally extend the river flood level raster, which is restricted between dikes, constraining the flood plain. Some dikes are to be removed and additional flood retention area (delineated by polygon 2.) will be flooded.

It's not about modelling the flow or change of water level. - I just want to transfer the given flood levels at the boundary of the raster to the neighboring area, though keeping the overal water level inclination along the main flow direction of the river.

The laterally extended flood water level will be used to approximate inundation depths by subtracting DEM values in a second step. I don't need very precise water level results, because the study is about sedimentation and soil contamination mainly.

Any idea how to laterally extend the (flood level) raster values by use of QGIS & friends?

  • Key thing about floods is that in wide open areas, the water surface will end up as being flat, in rivers however, the water surface level will gradually decline if you go downstream. Is the extent of the data that far that you cannot use a set level? Either way, as far as the raster calculations go, I would recommend reading this: spatialgalaxy.net/2012/01/25/using-the-qgis-raster-calculator .I have used this to simulate the impact of flood levels in comparison to a DTM, but that was with fixed 'flood levels' so I could just make an extra DTM at said flood level and calculate. Aug 12, 2015 at 6:24
  • I'd create dummy raster inside polygon to points first. Same with boundary cells of flood raster (there are multiple ways to do it), or with all points if flood raster isn't too big. Spatial join points inside polygons to flood points.
    – FelixIP
    Aug 12, 2015 at 21:41
  • @Tim Couwlier Is the extent of the data that far that you cannot use a set level? The data refer to a lowland river: 0,6 m/ 1 km decline in flood water level. The DTM variations are about 1m in the neighboring area. In other cases (flood polder instead of dike removal) I actually use fixed flood levels. I did not succeed with using a constant minus DTM in QGIS raster calculator though, which was no problem in ArcGIS Spatial Analyst calculator. To generate single valued DTM should be avoidable. Does QGIS raster calculator require a certain code to recognize constants?
    – JoRom
    Aug 14, 2015 at 18:25
  • @FelixIP Thank you for your suggestion to solve my task. It's an answer isn't it? - Some of the methods are new to me (spatial join) - Would you mind to elaborate the steps a little more? - In terms of river water levels, it would be great to point the GIS a certain direction for a spatial join (perpendicular to the river center line), because nearest neighbors of a irregular boundary could be up- or downstream and therefore confusing the general decline of water level.
    – JoRom
    Aug 14, 2015 at 18:40
  • I'll post solution on Monday. In a meantime would be nice to have a picture, because answer might vary depending on channel curvature
    – FelixIP
    Aug 15, 2015 at 0:45

1 Answer 1


Original dataset showing flood depth and polygon I've created along it:

enter image description here

Let's produce points on the boundary of flood plain using flood level raster called RL, raster calculator plus some tools:

<code>enter image description here</code>

Next - assign proximity areas to above points and convert those areas into corresponding flood level:

enter image description here

Final step using raster calculator to define flood level where it is above DEM. If you'll get to here, you'll have no trouble to do it.

Result below compares flood LEVEL in the river and polygon (I dropped original elevation inside polygon by 10 m). As one can see it picks the trend, however every single imperfection in original flood level get exaggerated in output:

enter image description here

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.