Ask A Cartographer

Calculate area between contour lines?

June 29 2011 | 2 comments
Categories: Map Data

I am trying to calculate the area between contour lines (300 - 600 meters depth) in several specific defined locales without resorting to doing this manually with the area tool. Or would be using the area tool be my best bet? I'm on ArcInfo.

Any suggestions would be greatly appreciated.

Mapping Center Answer:

You will need a feature class that defines the area (e.g., your study area or map sheet extent) that you'll want to base your area calculations on.  

Use the Feature to Polygon tool to produce the polygons which will automatically have an area field.  If you want the area in a specific unit (other than your coordinate system's units), add a new double/floating point field and then Calculate Geometry.  (You can also automate this in the Calculate Field tool by using a Python expression.)

You will still need to manually select the polygon you want to know the area for, based on the contour elevation values.  

If you want to automate the selection for one particular elevation range, do the following.

Select by Attributes the contour elevation for the minimum value in the range, e.g., "CONTOUR" = 1400

Then Select by Location the features in the result of the Feature Polygon tool based on intersecting the selected contours.  This will select the polygons on both sides, so the next step is to to unselect the polygon on the wrong side of your range.

Let's say I was interested in a range of 1390 - 1400.   But right now I also have polygons selected that intersect 1410.  So, Select by Attributes on the Contours for "CONTOUR" = 1410.  Now use the Select by Location to "remove from the currently selected features in" your polygons.  

That will give you all the polygons in the range you are interested in.  If you open the Attribute table for your polygons, you right-click on the area column and choose Statistics and get the sum (among other summary statistics) for the area of that range.

The point in sharing that is that you could build a model to automate that where inputs are your contours, a boundary, and a range (min value and max value).






thanks! posted by Dusty Long on Jun 29 2011 11:08AM
Worked perfectly as directed (did not need to automate entirely but thank you for those instructions as well).

Many thanks for the prompt and useful response!
Happy to help! posted by Aileen Buckley on Jun 29 2011 11:36AM
Glad you are on your way with this!

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

Contact Us | Legal | Privacy |