0

I need to thin a point vector later based on the distances amongst points. So I have a threshold and wish to omit all records but one that is below a distance D representing a distance between points. Say D points are tree locations D is the canopy radius and I want to select/extract/remove all trees within the canopy of another tree.

I have tried 2 approaches unsuccessfully:

  1. Distance matrix (QGIS) and I can select points below D but can only remove all or none, but I need to have a single remaining one.

  2. Buffering the points with D and applying the Select Within Plugin to select polygons with their centroid within other polygons returns a selection of all polygon because centroids fall inside the other polygons.

How do I remove all records but the first that are closer than D?

enter image description here

3
  • Your question is not clear. Do you really want to have only one single point remaining? What does D relate to, the distances between point neighbors? Dec 7, 2018 at 9:35
  • If it does not have to be GRASS-oriented, there is SAGA algorithm which does exactly what you have described.
    – Kazuhito
    Dec 7, 2018 at 13:41
  • You may want to take a look at v.decimate (grass.osgeo.org/grass76/manuals/v.decimate.html) which decimates a point cloud, perhaps useful here as well.
    – markusN
    Dec 14, 2018 at 21:06

2 Answers 2

1

The function Point thinning of SAGA plugin for QGIS does this based on a distance threshold as desired. A similar question explains this here

0

In the top toolbar: Vector > Shape Tools > Geodesic Geometry Simplification > Geodesic point decimate. You can then specify the input layer, specify the minimum distance between points, and save the output layer in specified directory.

Vector > Shape Tools > Geodesic Geometry Simplification > Geodesic point decimate

1
  • As of 3.20.3, Geodesic Point Decimate is found within the Shape Tools plugin.
    – Stu Smith
    Sep 20, 2021 at 4:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.