1

Is there any tool/plugin in QGIS that will allow me to filter a point layer to remove all points closer than a given distance? I have a project in which I need no points to be closer than 50m from the next, keeping as many of the original points as possible.

I have QGIS versions 3.6.0 and 2.18.15.

2
  • Do you actually need to remove the features, or only hide the ones that are too close together? If you only need to hide them, try the point cluster renderer. When points are clustered too close together, it will display a single point in the middle of the point cluster instead.
    – csk
    Apr 22, 2019 at 17:31
  • @csk - I'd like to remove them. Then next step is to use the Count Points in Polygon tool, so I'll need the extra points removed from the layer.
    – matt
    Apr 22, 2019 at 18:32

2 Answers 2

0

Create a 50m buffer of the point layer. Check the option to "Dissolve Result." Buffers that overlap will be dissolved into a single feature.

Use the centroids tool to convert the buffers back into points. The result will be a point layer, where

  • Each group of points that had overlapping buffers, will now be converted into a single point at the centroid of that group.
  • Isolated points will remain where they were (+/- some rounding error).
2
  • The data are points along roads, so the are arranged linearly. There are places at which there may be 100 consecutive points, each 10-40m apart. In that scenario, I would like to show a point every 50m (or the minimum distance >50m). Using the buffer/dissolve method you gave above will result in those entire areas being represented by a single point.
    – matt
    Apr 22, 2019 at 21:29
  • If you want a new answer based on that information, you should edit your question to include all the necessary information.
    – csk
    Apr 22, 2019 at 21:51
0

The Points Thinning tool (SAGA->Vector point tools->Points thinning) accomplishes what I needed. A description is given on this question

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.