# Is it possible in QGIS to simplify a vector layer forcing orthogonality (only 90º angles)?

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).

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):

and this is how the result looks like:

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:

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
)
)
)
``````