I would like to fill a fairly complex polygon with a point pattern fill, but the border of the polygon "cuts" the circles and the result does not look as clean as I would like.

dirty points

I know it is this is how it should be, but is there a way to use only full circles/points/dots? For example, showing a black dot only if its centre is contained within the polygon (and even if part of it is outside the polygon).

  • 1
    Not sure this is possible (yet). If you want full points on borders then you could add another symbol layer and use Outline: Marker line. You would have to play around with the settings to make it look neater.
    – Joseph
    Dec 1, 2015 at 10:48

1 Answer 1


You could try this approach, but with the following caveats:-

  • it will be slower than using a point pattern fill
  • it can't be rescaled if you zoom in/out - the grid pattern will be in map units
  • you'll probably need to do this on a CRS in meters.

You could make a vector grid (of polygon type) with an appropriate size (say, 100m x 100m spacing) depending on the symbol spacing you want and the scale you want to print at. You could also consider using MMQGIS Plugin > Create Grid which also allows hexagonal grids... this will allow an 'offset' look where every other row of dots is shifted slightly.

Next, do a spatial join (join attributes by location) with the original polygon - the one you wish to fill - so that you only keep those squares which intersect your original polygon. That should give you a grid of square cells which slightly overlaps your original area.

Now, render this grid as 'centroid fill'. Centroid markers should all show completely, although it's possible some centroids will be OUTSIDE of your fill polygon. But it should fix the problem you have here with small interior holes clipping your symbols.

An alternative is to use a finer point spacing on your pattern fill, and smaller symbols.

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.