This tool decrements (lowers) the elevations of pixels within an input digital elevation model (DEM) (`dem`) along an input vector stream network (`streams`) at the sites of road (`roads`) intersections. In addition to the input data layers, the user must specify the output raster DEM (`output`), and the maximum road embankment width (`width`), in map units. The road width parameter is used to determine the length of channel along stream lines, at the junctions between streams and roads, that the burning (i.e. decrementing) operation occurs. The algorithm works by identifying stream-road intersection cells, then traversing along the rasterized stream path in the upstream and downstream directions by half the maximum road embankment width. The minimum elevation in each stream traversal is identified and then elevations that are higher than this value are lowered to the minimum elevation during a second stream traversal.

## Reference

Lindsay JB. 2016. The practice of DEM stream burning revisited. Earth Surface Processes and Landforms, 41(5): 658–668. DOI: 10.1002/esp.3888

## See Also

raster_streams_to_vector, rasterize_streams

## Function Signature

`def burn_streams_at_roads(self, dem: Raster, streams: Vector, roads: Vector, road_width: float) -> Raster: ...`

## Project Links

WbW Homepage User Manual Support WbW