I am trying to select Polygons from Layer A with the following rules:
Polygon in Layer A is smaller than 1 ha and further than 100 m from any other polygon in either Layer A or B that is greater than 2 hectares.
Polygon in Layer A measures between 1 ha and 2 ha and is further than 100 m from any other polygon in either Layer A or B greater than two hectares.
Polygon in Layer A measures between 2 ha and 3 ha and further than 100 m from any other polygon in either Layer A or B greater than two hectares.
Remove narrow corridors (less than < 50 m in width (see Fig 1)) from polygons in Layer A if the polygon is further than 30m away from any other polygon in either Layer A or B.
Narrow corridors are maximum 50m wide and can have any lenght. Not sure if it would work, but what about:
- Create vertices along the polygon using 'extract vertices';
- If necessary, create lat/lon of all points (if not skip to step 3)
- Create lines between all vertices (x1, x2, x3) (use make_line? command) and measure line_length (use $length command) (Fig 2)
- SELECT all lines <=50m
- Create a new polygon around the selection and call “narrow_corridors”
- Subtract narrow corridors from the original layer
Happy to have these run separate, as Layer B has hundreds of thousands of polygons and I can't think of a way around this.
Was thinking of using 'select by expression', but don't really know anything about coding yet.