5

I´d like to reproduce the smoothing operations done with the Generalizer Plugin inside the v.generalizer Toolbox so I can use them on a polygon layer instead of only on a line layer.

I tried different values for different settings but I just don´t see how to get the same results using the v.generalizer algorithm in the Processing toolbar.

Simply said: To which values in the v.generalizer algorithm window do the settings I see in the generalizer plugin correspond to?

Here are the settings I´d like to use and the results I get:

1) Hermite

enter image description here

2) Chaiken

enter image description here

Now in the v.generalize windows there are so many options and values but nothing there is named the same as the ones in the generalizer plugin…

I hope you can help me, I´m also grateful for hints to other ways to smoothen my polygons in a way that produces results similar to those in the pictures above.

I tried using the v.generalizer toolbox after reading these two question:

Is there a QGIS bezier curve tool?

Is there a way to render lines with a smooth (bezier) curves in QGIS?

I'm using QGIS 2.4.

1
  • There was a comment before (deleted by author?) suggesting converting everything to line first, then smoothing with generalizer plugin and then reconverting into polygons. However, since I´m promoting QGIS in my small research group at university and everyone is a beginner this is sadly no solution that would appeal to anyone. Also the Polygon-Layer I myself am working on will be a constant work in progress so converting or reconverting thrice over after adding more polygons (that also have additional attribute information) would really not be possible.
    – Taya
    Nov 12, 2014 at 20:38

1 Answer 1

6

There is a difference in wording but I think the options from the Generalizer plugin exists in the v.generalizer interface. Using Google Translate (yes, not the best thing to use) for the Generalizer Homepage, we can find a description on each algorithms used and their corresponding parameters.


In terms of Hermite Spline Interpolation, the homepage tells us:

Threshold - Determines the distance between the created points.

Thightness - Factor determining the degree of bending of the resulting line. 

Now looking at the Help section in v.generalizer, we can try and find those parameters mentioned above. For Threshold:

threshold=float
Maximal tolerance value <------ This is in the options.
Options: 0-1000000000

For Thightness:

Minimum angle between two consecutive segments in Hermite method <--- This is in the options.

Hermite


In terms of Chaiken's Algorithm, the homepage tells us:

Level - Determines the number of iterations of the algorithm.

Weight - Determines the shear rate, the bigger the fillets are closer to the line of nodes. 

Now we look at the Help section in v.generalizer again. For Level:

Number of iterations <----- This is in the options.

For Weight:

betweeness_thresh - It denotes to what extent a line is in between the other lines in the network (unsure if this is the correct parameter!)

Chaiken


I could be wrong with this, in which case hopefully others can advise and/or re-edit this post.

2
  • Thanks for the hint. I tried this and I didn´t even get slightly comparable results to the nice smoothing the generalizer plugin does. Tried different values in the suggested field for Hermite. After that I tried the values in the suggested fields for Chaiken Method but that did produce an Error relating to the file "ogr_SOSI_old.dll" I had to rename because of the constant buzzing sound and slowness of QGIS 2.4. As a result I then got a point layer ;) So still hoping for additional input, Greetings, Taya
    – Taya
    Nov 12, 2014 at 20:36
  • Apologies Taya, hopefully others will be able to advise about this issue (and I deleted the comment about converting lines to polygon and back to lines, I realised that the conversion process might introduce more errors!).
    – Joseph
    Nov 13, 2014 at 12:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.