Take the 2-minute tour ×

I have a landuse classification raster file (6 classes) of a large area. But I need it in vector polygons so I vectorised it. No problem so far, but the result is - of course - that every pixel is exactly vertorised with all its egdes :) But I need it smooth like contours. So, okay, I could generalize it with Boyle's Algorithm for instance, but its just too much for my computer to calculate that...

So what could I do? Thanks! Martin

enter image description here

share|improve this question

2 Answers 2

up vote 7 down vote accepted

Use GRASS with the native GUI or with the QGIS plugin or with the Sextante plugin and use the v.generalize tool, choosing the "Chaikens" algorithm.

share|improve this answer
Thanks, this is just working, wow! I never tryed to do that from gis with Sextante, I always did it with grass directly (and it did not work)! –  MAP Aug 31 '12 at 15:15
The v.generalize tool as available through QGIS facilitates for a host of generalization tools of which "chaikens" algoritm is just one of them. The other ones are: douglas, douglas_reduction, lang, reduction, reumann, remove_small, boyle, sliding_averaging, distance_weighting, hermite, snakes, network and displacement. –  ragnvald Aug 20 at 12:07

You can also use ArcGIS with (ET GeoWizards) to do this:

1- Use "Smooth Polygon" from ArcToolbox>Cartography Tools> Generalization

2- then you might get some gaps according to the Smoothing Tolerance you set.

3-if yes, then you can use either "Eliminate Polygon Part" ArcToolbox or use "Fill Holes" from ET GeoWizards Tools and set the 'Maximum area of holes to be removed' to the areas you want to fill.


share|improve this answer
Note OP is looking for QGIS, Grass, SAGA solutions. Smooth polygon and eliminate are both memory intensive--perhaps a better solution would be to generalize the raster prior to vector operations. –  Aaron Aug 30 '12 at 4:40

Your Answer


