Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was wondering whether anyone might be able to tell me in layman's terms how to extract or differentiate between ridges and hilltops from 10m elevation data using ArcGIS 10.1?

share|improve this question

Creating watersheds should help you locate both ridges and hill top. Then, I would define a hill top as a local maximum, while a point on a ridge is not the maximum (there is one other point higher or equal to this point). You can identify local maxima using the focal statistic tool.

another way to look at the problem is to analyse at the opposite of your DEM (zero minus DEM). You compute the flow accumulation that you convert into streams. One of the ends of the streams will be a top, and the stream will be the ridge.

Note that 10 m DEM is quite precise, so for this type of analysis it is probably better to smooth your layer first in order to avoid local maxima.

share|improve this answer

Defining ridges vs hill/mountain tops is pretty scale-dependent. Jeff Jenness covers conceptually how to model topographic landforms in his article Some Thoughts on Analyzing Topographic Habitat Characteristics. If you poke around on his website, you can find his poster on this as well, under ArcGIS tools > Land Facet Corridor Designer. (Link is here)

Jeff has a tool to model topographic position in his land facet tools extension for ArcMap, and I rewrote a simple 4 class (ridges, canyons, flat slopes, steep slopes) version of his tool as part of a Python toolbox (download the CorridorDesigner general use toolbox).

If you're doing this from scratch, you can:

  1. Run zonal stats (mean) on a DEM using a neighborhood size that makes sense for your analysis (large neighborhoods will choke on a 10m DEM though).
  2. Subtract the zonal stats mean from the original DEM. This layer (topographic position index - TPI) will give you a measure of whether a pixel is above or below its neighborhood average. Negative values indicate a pixel is below the average elevation of its neighborhood (valleys & canyon bottoms). Positive values indicate a pixel is above the average elevation of its neighborhood (ridgetops & hilltops).
  3. Reclassify the TPI layer to pick out drainages, ridgetops, and slopes. With my implementation of the tool, I used values >= 12 to indicate ridgetops, <= to indicate canyon bottoms, and between -12 and 12 to indicate slopes. What you use for these thresholds really depends on your landscape and study.
  4. If you're interested in breaking out slope classes (e.g. flat areas vs steep slopes), you can optionally calculate slope, reclass it to flat/gentle/steep slopes, and then use a CON statement to replace slope values calculated in step 3 with slope categories.
share|improve this answer
Wonderful Answer! – Devdatta Tengshe Feb 26 '14 at 5:37

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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