I am an ArcGIS beginner.

I have a CD of GIS files of a city and intend to work on watershed management.

There are different file names in different formats on CD. Like .shp, .shx, .dbf, .sbx. and I have no idea which one to choose to start working on.

As there is a file named contour line (in all mentioned formats) I would guess I need to start with that one. I am not sure, though. I also found out that I should use Spatial Analyst Extension but in which step I do not know.

What are the main steps, and which file to start with to end up with a 3D file of watershed and its boundaries?

  • 2
    A "shapefile" actually uses all the individual files (shp, shx, dbf, etc) together. If you open it from ArcMap, you will see only one "contour line" file. The remainder of your question (generating a watershed boundary) is more complex than that, so I thought I'd get that bit out of the way for you :)
    – Erica
    Oct 11, 2014 at 1:46

4 Answers 4


Here are the general steps involved in creating a watershed boundary.

  1. You need to work with a raster DEM, not vector contours. This means that you have two options; you can either try to interpolate your contours or you can look for an existing raster DEM of the study area. Most of the interpolation methods contained within ArcGIS's interpolation toolbox are really intended to work with points rather than contour lines. You're right that the Topo to Raster tool is one interpolation routine that was specifically designed to work with contour lines and stream lines to create a hydrologically corrected DEM. If this is the route you decide to go, Topo to Raster is probably your best bet. However, depending on the necessary resolution (scale) and extent of the study area, you might be able to find an already existing DEM that would be suitable for application and therefore skip the interpolation step entirely. One common DEM data source that people commonly use for this type of application is the SRTM dataset. In the US, this is a 30 m resolution DEM covering the entire territory. Outside of the US it is 90 m resolution.

  2. Once you have your raster DEM you must make sure that it is hydrologically pre-processed. The interpolation method will generally introduce numerous artifact topographic depressions and possibly even flat areas. These are problematic because the grid cells contained in these features have no downslope neighbours, which is the whole basis for DEM flow-path routing. So you need to remove artefact depressions and flat areas from a DEM before performing flow analysis. In Spatial Analyst, your only option for this step is the Fill tool, although those who know me know that I much prefer depression breaching methods over filling.

  3. You then need to create a raster grid containing the information about flow directions, i.e. for each grid cell, which of it's eight neighbours does any water within the cell get directed towards. For this step you use the Flow Direction tool, which is based on the D8 flow algorithm. While the D8 algorithm is the most basic method for performing DEM based flow path analysis, it is appropriate for your application of watershed delineation (see here). Importantly, you must input the hydrologically corrected DEM from step 2 into the Flow Direction tool.

  4. Once you've created your flow direction grid (pointer) you can input it into the Flow Accumulation tool. This grid, again based on the D8 flow algorithm, will measure the size of the upslope area for each grid cell. While the flow direction grid isn't much to look at, the flow accumulation grid is a digital work of art. In particular, the grid cells with high flow accumulation will correspond nicely with streams and valley bottoms.

  5. Define your outlet cell, or what ESRI like to call a Pour Point. This is essentially the lowest point in your watershed; the point at the bottom to which all flow is directed. In the flow accumulation raster, an outlet is likely to correspond with a high-valued cell. You may get your pour point(s) in one of several ways. Perhaps you have GPS points of particularly areas of interest (e.g. a hydromet station where discharge and water quality are being monitored). Perhaps you want to extract the watershed for a particular tributary of a stream network, in which case you want the point directly above the confluence of your tributary of interest with the stream network. In this case, you would likely digitize your point of interest (pour point) from a vector stream network into a pour point vector file.

  6. Before you extract your watershed, you must ensure that your pour point coincides with the 'digital stream', i.e. the flowpath of high flow accumulation values in the flow accumulation raster. Even if your pour point falls off the digital stream by one grid cell, your extracted watershed will be extremely small, what I call a stub watershed (see here). So you need to use the Snap Pour Point to relocate the pour point onto the digital flowpath. You'll need to input that flow accumulation grid from step 4 here. Also, if you read that blog I linked to above, you'll see that I am not a fan of the Snap Pour Point tool, but using Spatial Analyst, it is your only option. In particular, you will need to be careful when using this tool if your pour point is anywhere near a confluence in a stream network because it is likely going to relocate the point downstream of the confluence and your extracted watershed will be much larger than you expect.

  7. Finally, you can use the Watershed tool to extract the watershed polygon(s) for the pour point(s). Afterwards, you may want to convert this raster watersheds to vectors so that you can overlay them nicely with other data.

It's a bit of an involved workflow but it is important that each step be completed properly otherwise you're very unlikely to get a satisfactory watershed at the end.


My advice for processing your data is to move from contour lines to a raster using Topo to Raster. From there, google ArcMAP watershed tutorial. It is a very common sample exercise in GIS courses. I found 9 course excerpts with that simple query.

Another recommendation is to get a trial version of AutoCAD Civil3D and calculate the watershed from a surface (probably a lot less steps to process than using ArcMAP).

  • Hi Barret and thank you for your answer. I tried to use Topo to Raster. I think I am doing everything ok but it creates no file for me to be used in the next steps. I choose the input file and press ok. no errors but when I go in destination folder, there is nothing
    – Reza
    Oct 11, 2014 at 5:47
  • I suppose it does not do any processing after I press OK. Any idea?
    – Reza
    Oct 11, 2014 at 6:06

It is possible to create a rough outline of a watershed boundary just using contours. You would pick a location (a "pour point"), usually in the stream channel so you might want to have a streams layer (you could get one like the NHD streams layer) or perhaps there are streams also on the CD. You would start at this one location (of your choosing) in the channel and run a line perpendicular to the contour lines and trace the highest elevations around until you go all the way around an area containing land that would drain to that "pour point". But that method is prone to error.

A better way is to automate the creation of a watershed with raster processing of Elevation data. If you have the Spatial Analyst Extension for ArcMap, this is a good recipe for you (this is the way I'm most familiar with). All the tools are in the Hydrology toolbox within the Spatial Analyst Toolbox. You can download free elevation data for the US from the NED program for example. The process involves a few steps but all that is needed is the pour point (or a series of points or even polygons ... the "watershed" command can also run on polygons). First you create a Flow Direction Grid (FDR) which can be made from the elevation dataset. Next you create a Flow Accumulation Grid (FAC) which can be made from the Flow Direction (FDR) output (actually that is an optional step). The FAC can be used to make a raster representation of the streams. Sometimes people use a process to "burn in" streams using a streams layer (like NHD) that forces the known stream representation to be the deepest areas within the elevation dataset (essentially forcing those areas to be the stream channels). The watershed command uses the FDR output as it's input and will delineate the watershed based on the direction of flow starting from your pour point(s) and working backwards to determine which cells in the landscape contribute flow to the point or points in question. Hope that helps!


hi you need to download dem form : hexplorer.usgs.gov you need also ARCGIS with ARCHYDRO ARCGIS : How to delineate watershed using ARC HYDRO?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.