Posted Tue, 06 Nov 2012 19:11:44 GMT by Jon Rix
Hi all,

We are trying to find tools which will help us calculate catchment slope along the longest flow path, and the length of the longest flow path for hundreds of small catchments.  The catchments have been determined using ArcGIS, but we are having to do a lot of manual work to determine the longest flow path within each of the catchments.

I'm sure there must be a tool out there which will do this, but all the one's we have seen don't quite measure up.

Any ideas?

Posted Wed, 07 Nov 2012 07:49:22 GMT by Colin Roberts
Hi Jon,

In release 2012 of MIKE there are a set of tools in MIKE URBAN that will help you to do catchment data processing. There is one tool that will generate the length and slope of a streamline in your sub-catchment (if you have more than one stream line it will generate the average length and slope). Please see the 2012 MIKE URBAN MODEL MANAGER user manual, section 13.6 and 13.6.4 in particular, for detials. You will need a layer containing streamline polyline as input. This can be easily created using the tools in the ArcGIS hydrology toolbox (for guidance on using this see If you have specific knowledge of particular flow paths that may not be picked up from auto-processing and that would influence the hydrology then you can of course add these yourself to the flow path layer prior to using the MIKE URBAN automated catchment tools.

Cheers, Colin.

Posted Wed, 21 Nov 2012 19:37:33 GMT by cjj

I am not sure how you are generating your subcatchments, but in the past I have used the ArcToolbox model (attached in "") to generate subcatchments based on the ArcToolbox Hydrology tools and then used the output from this model in a VBA script I wrote to trace the longest flow path in each catchment. At the end of using both tools you will have a PolylineZM featureclass containing lines with length and an equal-area slope calculation.

To use the attached items, unzip both and then:
1. Load the DHI_hydrology.tbx file into the ArcToolbox (you have to have the Spatial Analyst extension for this to work);
2. Create a point featureclass with the locations that you want your subcatchments to drain to (add an integer ID field and make the ID's unique or just use the FID field);
3. Create a "wall" and "trench" polyline featureclasses (unfortunately the ArcToolbox Model requires that you have at least one wall and one trench polyline inside your DEM extent for the tool to work, I suggest adding dummy wall and trench lines somewhere outside your area of interest);
4. Add the pour point, wall, trench and your DEM raster to the "Subcatchment Delineation" Model in the DHI_hydrology toolbox and run the model;
5. Go to the VBA Editor and import the TraceFlowPaths.bas module and add the RasterPixelCacher VBA class as well (attached in the "" file); and
6. Edit the names of the layers at the top of the module and run the tool.

The VBA script is designed to use the output from the ArcToolbox Model. It traces up the subcatchment using the flow length output and stays within the subcatchment using the watershed output. I have used these tools in an iterative manner, adding pour points manually and regenerating the subcatchments as I go until I have the resolution that I need. It is quite satisfying.

The "walls" featureclass is used to add 100 unit high walls to the DEM to prevent flow running through and the "trenches" featureclass is used to add 100 unit depth trenches to the DEM to divert flow path.

This worked for me using ArcMap 10.0.

You must be signed in to post in this forum.