I have the following data:

  • possible locations of Tunnel Boring Machines(TBMs) in point form (green/purple points with 1 meter distance along the 20+ km tunnel line)
  • the location of nearby buildings in orange points enter image description here

While the TBMs are on the move, I want to be able to select building points within 200 meters, after I have stated a specific location for the TBMs. I have run the Near 3D tool on the buildings, getting the shortest distance to the tunnels, but I'd like to know which buildings are within 200 meters of each tunnel point so when I can see that the TBM is at a certain point, I can quickly get the building points nearby.

But there are around 22 000 points along each of the two tunnel lines, so how can I do this without running the Near 3D tool 44 000 times?

I'd like to have this all in one table, so that my colleagues can query the table without knowing how to use arcgis.

Is there an easy way to do this that I haven't realised yet?

  • I am trying a new way: creating 3D buffer zones around each tunnel point and selecting building points within each buffer zone. I'm stuck at the last point though, it hopefully has a simple solution, how can I select houses within a 3D multipatch while at the same time keeping the info from the tunnel buffer zones? Seems like Spatial join won't work for multipatch, and Select only selects.
    – Sil
    Dec 1, 2016 at 14:47

1 Answer 1


You should use the Generate Near Table tool, which allows you to select more than 1 nearest feature (closest and closest_count parameters). It will take some time to run, but will give you the result you want in one table.

  • Thanks, that seems to be a good solution, but I unfortunately only have the basic license and cannot access Generate Near Table.
    – Sil
    Nov 30, 2016 at 7:25
  • I saw 'Near' and thought you had an advanced license. Read too fast, sorry... You might need a Python script to do this then.
    – GISGe
    Nov 30, 2016 at 7:42
  • No problem, I appreciate the reply @GISGe. I'm not very experienced with scripting, does anyone have any pointers to how this could be scripted? Maybe an option could be to create 3D buffers around each of the 44 000 points and select the buildings within them and gathering them all in a table and deleting the duplicates - a script for that would be very useful too though.
    – Sil
    Dec 1, 2016 at 14:00
  • I did something very similar recently but it took much longer to run than the Generate Near Table tool. If you have no experience with scripting, there is an equivalent tool to create this Near Table in QGIS, this is maybe a quicker solution.
    – GISGe
    Dec 1, 2016 at 14:22
  • Thanks again @GISGe, maybe QGIS will have to be the solution.
    – Sil
    Dec 1, 2016 at 14:48

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.