Skip to end of metadata
Go to start of metadata

Suppose, you have two point clouds cloud 1 and cloud 2. Suppose, for each point P from cloud 1 you would like to get all the points from cloud 2 that are not farther then a given radius from P

Then, you could use points-join --all

> cat cloud-1.csv | points-join cloud-2.csv --radius 1.5 --all

Now, you also can specify variable radius for points in cloud 1. (E.g. your radius may vary depending on your point cloud density or structure, as it happened in our use case.)

Then you could run:

> cat cloud-1.csv | points-join --fields x,y,z,radius cloud-2.csv --radius 1.5 --all

(Note that, as a limitation, the point-specific radius should not exceed --radius value.)

  • No labels


  1. Very useful Vsevolod Vlaskine.

    I have another use-case that's slightly more tricky... suppose both point clouds have radii, I want to join all points that can reach each other with their combined radii (smile)

    ...guessing it's not a trivial extension?


    1. it is somewhat fiddlier implementation-wise (simply because the same code does the job for triangles as well); the current change took me half an hour to implement and test; what you are asking is doable in half a day to a 1-2 days (i.e. very doable provided we plan for it)

      of course the same functionality is trivially achieved by joining two points clouds as before and then filtering by csv-eval --output-if, however for points-join --all bloated output has proven to be somewhat a problem