Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

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

share|improve this question
add comment

1 Answer

up vote 3 down vote accepted

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.

share|improve this answer
    
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! –  Nick Ochoski Sep 2 '11 at 18:29
add comment

Your Answer

 
discard

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.