Which smoothing technique to use for spiky features?

4146
3
10-02-2014 09:04 AM
StefanieSteinbach
New Contributor III

Hi all,

I have derived features that represent a coherent lowland area.

The results are not bad, but a lot spikier than the natural features. With the smoothing techniques I used so far (Smooth polygon, Simplify polygon with the different variations of the methods) I don't get rid of the spikes and always use volume and accuracy.

Is there a technique, trick or workaround with which I can can even out the spikes and not lose volume of the lowland area?

All ideas are greatly appreciated!

0 Kudos
3 Replies
StabsstelleGIS
New Contributor III

Maybe this could help you: Look for spikes in a polygon

Andre

0 Kudos
XanderBakker
Esri Esteemed Contributor

With the method that Andre Völkner‌ suggest in the mentioned thread (using a negative buffer) this will remove the spikes, but will decrease the area. You could however use a positive buffer (play around with the buffer size) uintil you reach the original area. This could be done in a loop and in memory using some Python code.

0 Kudos
StabsstelleGIS
New Contributor III

I can't retrace your approach, but here's my solution:

1. Negative buffer on Feature -3m

2. Positive buffer on neg. buffer 3m (now you have a feature without spikes more narrow than 6m, but with rounded corners)

3. If the new buffer perimeter is less than the original feature perimeter * 0.75 and if the ratio between bufferarea and featurerarea is  > 0.95, then a spike is detected (Otherwise, the algorithm stops her)

4. Use the Tool "Split Line At Vertices"  with second buffer as input

5. Delete every linefeature, whose Shape_length is less than 0.3 Meters

6. Use the Tool "Extend line" with the cleaned lines as input, and length = 4m (greater than bufferradius)

7. Use the Tool "Feature to Polygon" with the extended lines as input

These number parameters did it for my data, other data will need other number inputs, especially the bufferradius is important for spike detection.

Andre

0 Kudos