2

I have tried different simplyfying algorithms and options within them (QGIS native, SAGA, GRASS) but nothing has worked. I saw there is an "Orthogonalize" tool in 3.x versions, but from what I saw in the documentation (still working with 2.18), it doesn't really do the trick either. No coding experience here, but I'm willing to give it a try. For now I want it just for visualization purposes (something like a pixelated effect), but I guess it could be useful to further customize these algorithms. The image below is an example of what I'd like to get at the end of the process. (By the way, I'm aware that in some cases there won't be an actual simplification since the number of segments could be higher if a low threshold is set in "traditional" simplifying algorithms).

1 Answer 1

3

You can create a grid with the extent of your polygon and than select those grid-cells that overlap the polygon.

In detail:

  1. Go to Menu Vector / Research Tools / Create grid.
  2. select rectangle (polygon) as grid type, set the extent of the grid to the extent of your polygon layer and chose a grid cell size that corresponds to the resolution of your "pixelation" effect: in my case, I chose 10 meters (the diameter of the circle is ca. 210 m):

enter image description here

and this is how the result looks like:

enter image description here

3a. One possibility now is using Select by location. As input, Select features from: your grid-layer, check the box are within and for By comparing to the features from, select your polygon layer. This is the result:

enter image description here

3b. Another option is to use expressions to check for each grid-cell if its centroid is inside or outside of the polygon (circle) and to keep only the cells where the centroid is inside. Be sure to have the grid layer selected/active, than use select by expression and paste this expression - you might have to adapt the get_feature_by_id ('polygon',1) part of the expression to your data/layernames ('polygon' is the layer-name, 1 is the feature-no).

within( 
    centroid ($geometry),
    geometry (
        get_feature_by_id (
            'polygon',
            1
        )
    )
)

enter image description here

0

Your Answer

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

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