[GIS] Looking for a tool to smooth edges of raster areas in QGIS

qgisrastersmoothing

I am looking for a tool which helps me to smooth primarily edges/outgrowths of raster areas/zones in QGIS/GRASS/SAGA.

I particular, regarding the image below, I would like to reduce the single lines (mostly probabilistic errors derived from modelling) on the edges (dark grey for better visibility), but no/least changes within the bright grey area.

enter image description here

I tried tools like GDAL sieve, SAGA majority filter and several tools of the LecoS Plugin (which is great, btw). Infortunately these tools also change the values within my perimeter(as the bright grey area is not a zone itself). Further, I could creat a binary raster (1 inside the zone and 0 or nodata for the 0-values). I could then smooth it using a nearest neighbour/moving window analysis. Creating a model would work, but:

If possible, I'd prefer "one-step" tool.

As I am a beginner to QGIS (GIS in general), for now I try to avoid using programming language.

Best Answer

ArcGIS's Boundary Clean uses an expand-shrink process. Therefore I suggest trying Saga's Shrink and Expand.

There are similar functions (e.g. r.region and r.grow.shrink) in GRASS which are available in a standard install but not enabled in the QGIS GUI. To use them you would have to enable them (see here) or do it from the commandline or start GRASS in stand alone mode.

Related Question