Proposed Stream Burning tool

Skip to first unread message

Jean-François Bourdon

May 17, 2022, 3:27:04 PM5/17/22
to WhiteboxTools
In our hydromodelling workflow, I needed to first burn knowned streams and culverts paths before using breaching and filling algorithms. As no tool in WBT was allowing that, I coded one uses parts from several existing WBT tools. It works by rasterizing a vector line (Shapefile input) on an existing DEM and then breaching the cells from the first vertex to the last. Lines are burned either by FID order or by ascending order from a specified field to ensure a coherent breaching from the most upstream line to the most downstream one. A flat increment value can be provided like in BreachDepressions.

As a tool like that might be usefull for someone else, I assembled a dataset along with a compiled version of WBT with this tool that can be downloaded (until August 1st) at:
The branch having this tool is available also at:

Usage is as follow with --order_by and --flat_increment being optional:
.\whitebox_tools.exe -r=BurnStreams --streams=streams_priority.shp --dem=DEM.flt -o=Burned.flt --order_by=PRIORITY_D --flat_increment=0.0002

There is some limitation/safeguard:
- Only singlepart line vector can be use
- All lines must be within the extent of the raster
- No lines must touch the edge of the raster
- No lines must overlap a NoData cell

It must be noted that this tool doesn't work the same way TopologicalBreachBurn worked in WhiteboxGAT. I made it to fit my needs but if there is interest from the Whitebox team, I can do some modifications to integrate it in the main projet.

Also on a side note, I created the priority field in the shapefile using a script with QGIS' API PyQGIS available at:

Whitebox Geospatial

May 17, 2022, 4:33:08 PM5/17/22
to WhiteboxTools

This sounds a lot like the BurnStreamsAtRoads ( tool. Coul you not use use it with digitized culvert lines? Also, my plans are to port TopologicalBreachBurn over from WBGAT to WBT this summer. I also have a current masters student who I am collaborating with to create a modified form of the BreachDepressionsLeastCost tool that accounts for roads, ditches and culverts. I am hoping that that modified tool will be within the WBT toolset by end of summer.



Jean-François Bourdon

May 18, 2022, 9:31:28 AM5/18/22
to WhiteboxTools

Yes, it a bit like BurnStreamsAtRoads if I only want to burn culverts. Burning lake/river centerlines cannot be done with this tool. Also, BurnStreamsAtRoads needs a road network file and a defined maximum road width which is fine in itself, but means that I need to have a precise enough road network shapefile on hand, which I don't have on a 500 000 km² scale. However, as I have precise enough vector of culverts of the right length, I can burn the exact length on the DEM and in right orientation and the the right flow direction.

Why do I need to burn lake and rivere centerlines you ask? Well, in maybe 90% of the cases I would not have to, but I always encounter some weird arthfacts on the DEM from time to time like flightlines effect that makes a lake buldge for exemple or an false dam right in the middle of a river caused by two LiDAR acquisition made at different time when the river was at a different level.

A new BreachDepressionLeastCost would be of great interest for us. We have here in Quebec an ever increasing coverage of validated stream network derived for a workflow using different tools from WBT, so we could beta-test a new tool to give feedback or provide ground-truth data for several hundreds km² to help in the development of the tool.
Reply all
Reply to author
0 new messages