1

I have produced a polygon and need to remove the selected points from the polygon.

However, I want this to result in the orange polygon completely excluding these points so that there is just blank space/the basemap in these locations?

enter image description here

PolyGeo
  • 65,136
  • 29
  • 109
  • 338
  • 3
    You are aware of the fact that points are onedimensional? So you really want to build a difference between points and polygon or rather between pointbuffers and polygon? – MrXsquared Jun 10 '22 at 16:03
  • 2
    Another option is to build a convex hull around points that are within the polygon, and after applying a difference geoalogorithm. – Taras Jun 10 '22 at 17:36
  • @MrXsquared hi many thanks for your comment. Yes aware points are 1D. I suppose pointbuffers Vs polygons would be fine as long as the buffers are very small (each point is a small house). I used the difference tool under the vector tab but this didn't work. Again apologies if dumb question but would appreciate any pointers! – FloodsEssex Jun 10 '22 at 18:48
  • @Taras thanks Taras that sounds interesting, does sound a bit beyond my ability though :-) – FloodsEssex Jun 10 '22 at 18:49

1 Answers1

2
  1. Create a (small) buffer around your points to convert them to polygons.

  2. Run difference tool using these buffers as input.


Another option is to use QGIS expressions with Geometry generator (for visualisation only) or Geometry by expression (to create actual geometries). See here for details.

Use this expression on the point layer and rename poly to the name of your polygon layer and change the value of 40 to adapt the buffer size:

difference (
    overlay_within('poly', $geometry)[0],  -- change poly to the name of your polygon layer
    buffer (collect ($geometry), 40)  -- change this value to adapt buffer size
)

The solution using Geometry generator: the red polygon corresponds to the yellow (invisible) one but with small holes cut out where the blue points are: enter image description here

Babel
  • 71,072
  • 14
  • 78
  • 208