I have a DEM that I want to retrieve a single contour polygon from at a given elevation. I can use the Contour tool to obtain a series of polylines at a given elevation by setting the contour interval to a point where only one contour is produced (e.g. 9999m) at the base contour interval (e.g. 105m).

What I want is a polygon representing the specified elevation, which happens to be the average water surface elevation of a river. You can see an example of my data in the image below.

Any thoughts on how I can accomplish this? The polyline contours run up to the edge of the DEM and then break off, so there is no continuous line which surrounds the whole river.

The second image is essentially what I would like to be output. You can see that I'll also have to solve the problem of islands within the river channel. I am attempting to automate/model this task so ArcObjects are fine.

Contour1 Contour2

1 Answer 1


By definition, the interior of the contour includes all points of higher elevation. Therefore, select all elevations equal to or exceeding the contour level and nullify the rest, as in

SetNull([MyDEM] < 65, 1)

Convert the resulting grid to a polygon.

  • I was originally hesitant to use this method because of artifact issues with the raster, but it appears that I can work around this and remove the "islands" at the same time by performing a region group and then filtering the converted polygons by area (largest polygon is the river channel). Thanks @whuber!
    – Radar
    Commented Sep 2, 2011 at 18:29

Your Answer

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

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