Identify ridgelines from a mountain in ArcGIS

Spatial Analyst and Hydrology tools can be used to identify and extract dividing lines (of mountains) from an elevation raster (DEM), this by creating a network of flows by inverting the values of a DEM.

If at any time you are interested in finding a way to identify the ridges or edges of a mountain, the procedure is shown below. ArcMap is used in this input, but following the same principles can be used in other applications such as ArcGIS Pro or QGIS.

Before you start, make sure to correct the DEM with the Fill tool located on:

ArcToolbox > Spatial Analyst > Hydrology >

Now reverse the DEM values with the help of the Raster Calculator tool. It is an extremely simple process, simply multiply by -1. The Raster Calculator tool can be located at:

ArcToolbox > Spatial Analyst > Map Algebra >

Raster Calculator DEM invert

With the Flow Direction tool use the inverted DEM as input data, select the “Force all edge cells to flow outward” checkbox. The Flow Direction tool is located in:

ArcToolbox > Spatial Analyst > Hydrology >

Flow Direction DEM invert

Using the same ArcToolbox address, the Flow Accumulation tool is executed using the previously generated accumulation raster as input data. Be sure to set the output data type to Integer instead of Float.

Flow Accumulation DEM invert

Configure the raster threshold created with Flow Accumulation and create the flow network with Raster Calculator using the following expression:

Con(“FlowAcc”,1,0, “Value >= 2500”)

Note: The value of 2500 must be replaced according to the spatial extension of the study area, and the density of the network of ridges to be identified. For example, in this case if I want only the main ridges I would increase the value to 10000, but if I want a very dense net under the value to 500. In each case it is recommended to test different values, until the desired result is obtained.

Raster Calculator Ridgelines

If everything goes well, you should get an image similar to the next one:

Identify ridgelines from a mountain in ArcGIS

Now to transform the raster image into a vector it is necessary to create the flow orders. To do this use the Stream Order tool, use the ridge raster and the direction raster as input data, this tool is located in:

ArcToolbox > Spatial Analyst > Hydrology >

Stream Order ArcGIS

To transform into a vector use the Stream To Feature tool located in:

ArcToolbox > Spatial Analyst > Hydrology >

Stream to Feature in ArcGIS

Finally, if everything went well, you will get an image like the one shown below. It should also be considered that this process uses the same principle to calculate a water network, but in this case it is inverted and with difficulty the whole network will be connected.

Identify ridgelines from a DEM in ArcGIS

4 thoughts on “Identify ridgelines from a mountain in ArcGIS”

  1. As posted, the formula to compute the flow network fails in the raster calculator, there is one too many arguments. The syntax you use is within a python script I believe.

  2. It worked for me. You need to input the expression via the Raster Calculator (i.e. clicking on components rather than cutting-&_pasting the expression from webpage above). You also need to insure the filename of the Output Raster is valid.

  3. After I originally commented I appear to have clicked on the -Notify me when new comments are added- checkbox
    and from now on whenever a comment is added I receive four emails with the exact same comment.
    Perhaps there is a means you can remove me from that
    service? Many thanks!

Comments are closed.