I'm using ArcGIS desktop 10.2 and I need to find the diameter of pipes which are either side of a particular valve. There are over 2000 of these valves on my map so I'll need some sort of tool.

The valves are represented as points/dots and the pipes are lines. The attribute table of the pipe layers have a Diameter field, showing the diameter of each section of pipe.

  • Do the pipes and valves intersect? It sounds like you could do a Spatial Join based on intersection. resources.arcgis.com/en/help/main/10.2/index.html#//…
    – juturna
    May 11 '15 at 18:48
  • Hi Juturna, firstly thank you so much for your reply, really appreciate it! Yeah the pipes visually run through or at least touch the valves as far as I know (don't have it in front of me right now, sorry!). I had thought of a spatial join although would it work if there was two different pipe diameters either side of the valve? So it would be spatially touching 2 pipes if you get me? Would the spatial join add both diameters to the valve attribute table?
    – Sheftee
    May 11 '15 at 18:52

If you have an Advanced License, I think you should be able to use the Near or Generate Near Table tool to find the 2 closest pipes to each valve.

Then You could join that table back to the Pipes FC based on the FID to bring the diameter fields over.

  • Hiya Craig, thanks so much for the response! Yeah I have an Advanced License and I've used the Near tool before so I've an idea about what you're suggesting. Sounds like a great solution! Would have never thought of that. Just one question though, would running the Near tool not just throw up one pipe as opposed to two? Sorry for all the questions, thanks again :)
    – Sheftee
    May 11 '15 at 19:17
  • 1
    The Generate Near Table gives you the option of selecting the max number of features based on a distance from the input dataset (valves). If you set this to 2 and leave the search distance blank, it should bring back the 2 closest pipes to each valve..
    – Craig
    May 11 '15 at 20:26
  • 2
    See if this gis.stackexchange.com/questions/125090/… helps
    – FelixIP
    May 11 '15 at 20:49
  • Near will only find a single feature, so it isn't really applicable in this case. You'd have to use GNT. Or a Spatial Join, which doesn't require an Advanced license (but would take similar extra steps) similar to Felix's answer. @GISDublin The problem is that you have two values of the same attribute and you want to join both. Because of this, either spatial join or GNT essentially duplicates every valve to get one pipe ID. If you want them stored as two fields you have to do some join trickery, and if as one field (pipe1, pipe2) then you have to look at concatenating rows.
    – Chris W
    May 11 '15 at 22:50
  • Some related questions that get into the issues with the join (one-to-many) that Craig's solution creates. They also cover both storing the pipeIDs as separate or a single field. gis.stackexchange.com/questions/85114 and gis.stackexchange.com/questions/134420 and half my answer at gis.stackexchange.com/questions/134693 also note the linked questions at those questions. Honestly, Felix's solution at his link is probably the simplest solution.
    – Chris W
    May 11 '15 at 22:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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