Ask A Cartographer

Peaks and Valleys from Topo

March 18 2011 | 1 comment
Categories: ArcGIS Methods, Cartographic Concepts

I'm using ArcMap 10 on a topo shapefile and need to find a) all contour lines that do not contain any other contour line (i.e., local maximum and minimum elevations), and b) all contour lines that contain only contour lines already defined in (a) and (b) recursively. Then I would group these contour lines by the "parent" (a), divide them into protrusions and indentations, discard any groups that don't meet some minimum vertical extent, then name and analyze them for surface area, etc. Can this be done with existing ESRI products or with independently developed scripts? It seems fairly simple but difficult to describe for a Search algorithm. Thanks for any help!

Mapping Center Answer:

There isn't a specific tool that I know of that does these tasks.  Typically I would use Python to do this, where I would want to add a few attributes that keep track of the state of each feature.  For instance, I would want to know whether the contour was closed, i.e., the start- and end-point are at the same location.  Then I want to look at the shortest of those, which represent the tops of hills or bottoms of valleys. 

There is a simple way to find those short closed contours--you need to run the Dissolve tool on the contours where the dissolve attribute is the elevation, and then uncheck the option to create multi-part features.  Then select the shortest features--look at your map--note that some of these features are at the edges. Set your interactive selection tool to remove from the current selection and unselect those features. Now you have many of the tops/bottoms (calculate one of these new fields).  What this misses, however, are the bigger flat tops.  It really depends on whether you want these.  Usually these are easy to see and can be quickly manually selected. 

There is nothing automatic in ArcGIS that can tell you whether the contour is a peak or valley (I really wish there were). 

You're right - it's a really simple thing to say, but it's actually proven to be a computationally challenging thing to do.  Even when you have a raster surface representing elevation, the questions about what to do at the edges are very difficult.  Imagine the Mississippi River as a depression that starts in Minnesota!  Or define the size of the largest depression or peak worth considering.  Can a peak be a linear feature (how do you know there is or isn't a saddle)?

Fun stuff--let us know if you find something.

LandSerf posted by Aileen Buckley on Mar 24 2011 8:53AM
Some peopel have found Jason Dyke's LandSurf software helpful -- you might check this out:

If you would like to post a comment, please login.

Contact Us | Legal | Privacy |