I would like to use DEM to extract a river network but I don't want to use the polylines. Is it possible for me to extract polygon (or raster) rivers from DEM? I'm using both ArcGIS 10 and R. If possible, how reliable would the river width be?
One approach that our amazing intern recently used, which turned out really well for us:
- Fill the DEM
- Calculate flow direction on the filled raster
- Accumulate the flow of the flow direction output
- Do a Con operation to set all cells with an accumulated flow over some threshold (that is meaningful for your geographic area and for your cell size) to be 1 and all other cells to 0/NoData. This will roughly identify your streams.
- Calculate the slope percent of the filled DEM
- Run a cost distance, with the output of step 4 as the input and the output of step 5 as the cost.
The output estimates the depth to water.
Field-checking of our result and comparing it to data like the NWI has shown that it was spot-on. The key is in estimating the minimum basin size for step 4. But if you get that off a bit, you can always just re-interpret the final output; e.g., do a global addition/subtraction of 1 or 2 until the water surfaces match known water bodies--but start just by adjusting the symbology.
Then, if you really want polygons, once you've got your thresholds set as you want, you can optionally do another con with the selected threshold (depending on what detail you want in the polygons), then export to polygon.