I work on a farm and we are in the process of developing a surface drainage program for individual fields. I am using QGIS 3.16 and the publicly available 2020 QL2 LIDAR flyover of Indiana, and my goal is to create bluespot maps to help visualize the problem areas, with as much free and open source as possible. I've been able to teach myself quite a lot and have produced maps that are quite usable.

However, these maps are highly affected by culverts, which are plentiful in the flat lands around where the drainage is most important. I have been able to find references to hydrological enforcement and burning streams, but I have not had any luck finding a clear set of instructions on how to burn short culverts into a DEM using QGIS.

For instance, here is an image of a field with a known culvert at the southeast corner running under the road, which I have marked with a green vector (from a previous attempt at burning streams). As you can imagine, the large wet spot in the center of the image doesn't actually exist. I would like to create a culvert bottom in my DEM so that when I calculate the bluespots the algorithm knows to not treat this as a sink.

Bluespot Map of a crop field with a road running along the south and east sides. There is a green vector of a culvert that should exist, but the overlay is showing a large depression that allegedly cannot drain because there is no hydrological outlet in the data layer.

I have marked quite a few culverts in my dataset that directly affect the drainage we're looking at, so if there's a way to do this as a batch with a shapefile with multiple vectors that would be ideal.

I am currently only working with a DEM mosaic but I should be able to get access to the raw LIDAR download if that is what is necessary.

"Bluespot" is the term that I found to describe a map of basins that do not have outlets, and thus will become wet spots in a field or wetlands/lakes/etc in a catchment area. I am using the process from this video to create these maps, which creates a map of the difference between a filled DEM and the original DEM. The color gradient indicates the depth below the sink border, or in practical terms the severity of the hole.


3 Answers 3


I am in doubt this plugins have the clear cut answer for you. but for this kind of analysis there are three plugins which can be useful if you like to tamper.


To open these plugins you have to open the respective QGIS version installed in your computer with GRASS i.e. QGIS with GRASS

Example - QGIS 3.16.2 with GRASS 7.8.4) > enter image description here

then the steps are as follows,

Best Option

  1. r.carve (GRASS > Raster > r.carve)


  1. press Ctrl + Alt + T or go to `processing menue > Toolbox'
  2. at the top of the processing toolbox there is a search box and in that type r.carve and activate

enter image description here

  1. then for the elevation give the Light Detection and Ranging Image
  2. for the vector layer containing streams give the culvert locations and dimensions shapefile
  3. define the culvert width and depth
  4. try both with and without no flat area allowed in flow direction tick on and off. (because there are more flat areas with in your LIDAR image and have to run both to find the better suited one)

Next Options

  1. r.stream (GRASS > Raster > r.stream)
  2. r.watershead (GRASS > Raster > r.watershed)


  1. press Ctrl + Alt + T or go to `processing menue > Toolbox'
  2. at the top of the processing toolbox there is a search box and in that type r.stream and/or r.watershed and activate

enter image description here

  1. then for the elevation give the Light Detection and Ranging Image
  2. for the locations of the real depressions give the culvert locations and dimensions shapefile
  3. do some more tweaking for you preference and run.

note : these analyses will take a long time to run depending on the size, resolution and complexity of the raster.

  • 1
    Following your instructions, r.carve processes and then outputs an identical DEM to the input. Are there specific requirements for the LIDAR raster and stream vector? When you say "culvert locations and dimensions shapefile", my shapefile is all just single vectors with no information besides the location. I tried to make the vectors all going downhill from the lowest points of the ditch on either side of the culvert but there's no other information like elevation or width.
    – overscoper
    Commented Jan 26, 2021 at 21:33
  • 1
    r.carve is asking the depth or how tall is the water column and width or what is the distance between bank to bank. i.e. r.carve is asking about the cross sectional area of the in river or culvert in your case. I am trying to be helfull as i can. But at the moment I don't have a LIDAR and a stream network with me test the out put. Anyhow I will try my best to find them and add more details to the answer as soon as I am able to. Commented Jan 27, 2021 at 2:18
  • 1
    @UdithaHerath gave a very good solution, but it might not be what you are looking for. You can use "burning" solutions that do not need these true dimensions, and they will work for your case. But all they do is a drop in the elevation with a certain function for all your vector elements, and if you draw a profile you will see an unrealistic hole created in the middle of the DEM. In other words, the response given above is for more accurate preprocessing that can be used for 2D hydrologic/hydraulic modeling too. Your "blue spot" objective seems to be a static ponding map using only GIS.
    – MathX
    Commented May 20, 2021 at 15:47

If I understand your problem well, in practice you will have to edit the raster in the area where the culverts exist. This must be done by adopting a level less than or equal to the terrain´s level in the blue area upstream of the culvert.

If so, there is a plugin that performs operations on rasters without having to use the QGIS processing tools.

Take a look if it helps you:



First you can use the LiDAR point clouds to map the locations of all Bridges and culverts using the following tool https://github.com/Nadeem1geo/Drainage-Structure-Mapping-Algorithm-DSMA-

Then you can adopt the following methods to burn culvert in DEM. https://www.mdpi.com/2220-9964/10/4/254/htm


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.