How to smooth contour lines and remove small "islands" of elevation?

16368
6
Jump to solution
08-31-2020 01:32 PM
MatthewBeal
Occasional Contributor III

I used a DEM to create 2 ft contours for my county. That process worked great, however I received a warning message telling me that some features had over one million vertices. Upon looking at the created contours, I can definitely see that each feature has a very large number of vertices. Additionally, it also captured tons of very small "islands" of high or low elevation. Example below:

 

 

I circled a few examples of some of these tiny areas of elevation that are insignificant enough to be removed. Is there a good way to simplify the lines without giving up a ton of accuracy and to also remove small islands of elevation?

0 Kudos
1 Solution

Accepted Solutions
MatthewBeal
Occasional Contributor III

Steve LynchDan Patterson‌ Thank you both for your help. I ended up coming across another workflow that really helped out with producing a smoother line. I took the original DEM and ran it through the 'Focal Statistics' tool. This smoothed out the DEM by averaging the cell values together in a user defined neighborhood (I used 3x3). I then ran the contour tool on that .That workflow is documented here.  Not only did that eliminate over 900k small polygons, but it also nicely smoothed out the line without giving up too much accuracy. For the few "islands" that remained, I did as you guys suggested and deleted anything that had a length of less than 1 meter. I am very happy with the end results! The original contours are in pink and the smoothed contours are in blue! 

View solution in original post

6 Replies
DanPatterson
MVP Esteemed Contributor

Did you specify the maximum number of vertices parameter?

Contour (Spatial Analyst)—ArcGIS Pro | Documentation 

As for the tiny islands, you could filter by only keeping contours whose length/perimeter is above a certain threshold

Also, many ways to generalize/smooth polylines, for example

Smooth Line (Cartography)—ArcGIS Pro | Documentation 


... sort of retired...
MatthewBeal
Occasional Contributor III

I didn't populate that parameter simply because I had no clue how many vertices the output would have. My main issue isn't with the number of vertices, but rather the "jaggedness" of the lines. I would prefer it if I could just remove some of the extraneous vertices that have a minimal impact on the overall shape of the line. 

In regards to the islands, I actually did this for anything less than one foot, but I wasn't sure how to establish a good cutoff point. 

On a side note, I think you have commented  on every single post I have put up in the last year. You are the man. Thank you for being so willing to help out and share your wealth of information! I also see your comments and advice on many old geonet threads that I come across when searching. You are a true cornerstone for the community, and I'd like to thank you for all the help that you provide!

DanPatterson
MVP Esteemed Contributor

Matthew Beal‌  Thanks

I added at least one link in my previous post on how to smooth contours.  If that doesn't work, let me know


... sort of retired...
0 Kudos
SteveLynch
Esri Regular Contributor

max vertices will not change the output. All it does is split a line with many vertices into many lines.

0 Kudos
SteveLynch
Esri Regular Contributor

Matthew

I'd be cautious of smoothing the contour lines (i.e the output).

We rather recommend smoothing the input raster as explained in the Contour documentation. 

Or, you could delete the short contours as Dan Patterson‌ suggests.

-Steve

0 Kudos
MatthewBeal
Occasional Contributor III

Steve LynchDan Patterson‌ Thank you both for your help. I ended up coming across another workflow that really helped out with producing a smoother line. I took the original DEM and ran it through the 'Focal Statistics' tool. This smoothed out the DEM by averaging the cell values together in a user defined neighborhood (I used 3x3). I then ran the contour tool on that .That workflow is documented here.  Not only did that eliminate over 900k small polygons, but it also nicely smoothed out the line without giving up too much accuracy. For the few "islands" that remained, I did as you guys suggested and deleted anything that had a length of less than 1 meter. I am very happy with the end results! The original contours are in pink and the smoothed contours are in blue!