River Geometry Characterisation - rosepearson/GeoFabrics GitHub Wiki

The river width, slope and water surface elevation are estimated from ground and vegetation DEMs (1 metre resolution) derived from LiDAR along a river channel. Currently the River Environment Classification (REC) version 2 has been used to defined the river channel, but the same basic approach could be applied to any river network.

The overall pipeline

This is done in three main steps:

  1. Select the REC channel to estimate and create a ground and vegetation DEMs along the channel
  2. Improve the REC defined channel centre-line alignment by: a. Aligning it to a OSM (Open Street Map) defined river centreline. b. Detecting the actual channel location from sampled cross-section elevations along the channel.
  3. Estimate the width and slope along the channel from sampled cross-section elevations along the aligned channel.

image

Channel Alignment

Two approaches exist: alignment to an OSM defined river centerline, or auto-alignment based on the ground and vegetation LiDAR DEM.

Alignment to an OSM defined river centreline

This is the preferred approach. It requires the OSM ID of an adequately aligned OSM river centreline. The ID is simply added as an osm_id entry in the rivers instructions. The OSM river centreline is trimmed to the length of the REC channel, and a smoothed spline of the centreline is used for the following river width and slope characterisation.

Auto-alignment from LiDAR DEMs

This option is supported in the case that there is no suitable OSM river centreline. The channel alignment process begins by sampling ground and vegetation elevations along cross sections down the length of a smooth spline of a REC defined channel centre-line. The sampled elevations are used to identify the 'most-likely' portion of the sampled cross section to be the channel (i.e. the widest and deepest bit). In cross sections where there is no ambiguity in the 'most-likely' channel section, the midpoints are used to define a new aligned spline, which is smoothed by the instruction file width_centre_smoothing value.

The 'most-likely' channel section in each cross section is estimated using a fixed-threshold bi-directional edge detection algorithm applied to the sampled elevations. The algorithm detects all regions with elevations less than the threshold within a certain distance to the centre of the cross section. The detected regions are filtered to keep those wider than the instruction file min_channel_width. Only cross sections with a single region wider than the min_channel_width are counted as having an unambiguous 'most-likely' channel section.

The threshold used in the algorithm is calculated for each cross section as the 'water surface elevation' plus the instruction file min_bank_height value. The 'water surface elevation' is estimated as the unimodal fit of the minimum elevation along each cross section within the specified distance of the cross section centre. The unimodal fit is used to ensure the water surface is monotonically increasing.

image

Width and slope estimation

The channel width and slope are estimated from sampled cross sections along the aligned spline using an approach similar to that employed during the alignment step. The water surface is estimated as described in the alignment stage. The slope is then calculated as the derivative of the water surface elevation. This is smoothed to ensure a positive non-zero slope estimate and avoid divide by zero errors during the following depth calculations.

The channel width is estimated from the sampled cross section elevations using a variable-threshold bi-directional edge detection algorithm (shown below). This algorithm is an extension of the fixed-threshold bi-directional edge detection algorithm, where an additional step is added to increase the threshold value applied to the widest channel. The threshold is increased until either the elevations at either edge of the region less than the threshold begin to decrease, or the instruction file max_bank_height is reached.

image