How to teach common sense to the Flow Accumulation function?

04-19-2012 09:44 AM
New Contributor III
I need to define the stream network for a huge area and I???ve finally managed to do so with the ArcGIS 10 hydrologic functions. But the results in a very small area are not accurate enough for me to reproduce the process to the whole project area (ArcGIS would lead me to deal with 1 culvert as if it was a set of many wrongly placed culverts; and I have more than 13,000 culverts in the project area!)   I???m attaching a Word file with 3 images of a stream network (and the road network, once I???m studying roads drainage).  The ArcGIS results are very close of what we could deduce (image 1) and confirm with satellite photos (image 2). Actually, what we can deduce is confirmed by a hydrography layer (image 3, planimetric information).  But I need to work with the ArcGIS results. Because of that, I???m trying to realise how we could ???force??? the mathematical ArcGIS results so that they would better reproduce the real world. I???ve read in the ArcGIS help about the Flow Accumulation function that ???If no weight raster is specified, a default weight of 1 will be applied to each cell???. I couldn???t find much more about the use of a weight raster and I???d like to ask anyone who has faced similar hydrologic problems: COULD WE CONVERT A HYDROGRAPH LAYER (WITH DRAINAGE LINES) IN A WEIGHT RASTER TO USE WITH FLOW ACCUMULATION, SO THAT ITS RESULTS WOULD COINCIDE WITH THE PLANIMETRIC ONES? Any tips on how to do that? Any other ideas on how to teach ???common sense??? to the flow accumulation function? (Any hydrologist wouldn't draw 3 parallel drainage lines, like ArcGIS did in that small area, where there???s obvious only one preferential way to the water.) Thank you to anyone who would take some time to think on this problem and share his/her ideas with me! *** Sorry, the file is 4MB and the maximum allowed is 1MB. But its not essential to discuss the problem, I think.
Tags (2)
0 Kudos
3 Replies
Occasional Contributor
Not sure if you are using ArcHydro...
With ArcHydro (free) you can "burn" known streams into the DEM, then run fill sinks, flow direction, and flow accumulation.  This will create depressions in the DEM where the streams are and force the flow to follow those channels.  Fill sinks should hopefully get rid of "false" depressions left from the other streams.
ps. I like the title of your post 🙂
0 Kudos
New Contributor II

Lady Jane is right that you can use the ArcHydro tools to burn your culvert data layer into the DEM, assuming you have a data layer for the culverts in your study area. You can download ArcHydro for ArcGIS10 at this ftp site.


The function to burn in your culverts is found under Terrain Preprocessing>DEM Manipulation>DEM Reconditioning.

You can also achieve a similar effect with out-of-the-box tools in ArcGIS.

1) Assign each culvert a unique ID.
2) Use Zonal Statistics (Spatial Analyst Tools>Zonal>Zonal Statistics) with the culverts being the zone layer and the DEM being the raster layer. Select the statistic type to be the minimum. This will give you a new grid with the minimum elevation under each culvert and NULL for grid cells where there is not a culvert.
3) Use the Raster Calculator (Spatial Analyst>Map Algebra>Raster Calculator) and enter in the following code.

Con(IsNull("burn_elev") == 1,"dem","burn_elev")

Where "dem" is the name of your original DEM and "burn_elev" is the output from the zonal statistics tool (minimum elev beneath each culvert. This code will tests the output from zonal stats and if it is NULL (no culvert) it will substitute in the original DEM elevation, if not it will use the minimum elevation under each culvert.

This method also assumes you have a data layer for your culverts. If you don't have a data layer for your culverts it gets considerably more complicated and time consuming. Here's a link to a potential semi-automated method if you don't have culverts.
0 Kudos
New Contributor III
Thank you Lady Jane and Kloi!

Consulting other experienced users I arrived at similar conclusions (and a few more tips). My main concern needs to be the DEM quality. Using the "Reconditioning" function in the ArcHydro (I was not using it, but I will), before the "Fill" function (the only one available in the ArcGIS 10 Hydrological functions for us to perform a previous treatment of the DEM), may or may not solve the problem, giving me accurate results to the whole area. I hope so. If not, I'll consider the possibility of acquiring a more precise DEM, like discussed in the report you mentioned. Maybe through GeoEye, do you know it? Another possibility I was given is to perform improvements in the DEM in small areas, if the inaccuracy is restricted to them: use "RasteToPoints" to convert it and use a different interpolation function, such as SP Line with barriers, to get a better DEM in those areas. Well, much work ahead, but I'm writing this to thank you and maybe help other water resources colleagues new to the ArcGIS, like me. I don't know if you are reading me, but I appreciate the help of you both. And I'm glad you liked the title Lady Jane! Sense of humour, for me, is an essential tool to help us in any life situation, not excluding the difficult technical ones!
0 Kudos