Arcade: Script to retrieve the greater diameter between connecting pipes

01-07-2022 04:59 AM
Labels (1)
New Contributor II


 I wonder if the community can help me with some Arcade scripting for an attribute rule.

I have a network of pipes that are connected to nodes. Most of pipes connecting have the same pipe diameter, but there instances where two pipes connecting to a node will have different diameter(larger pipe connecting to a smaller pipe)

I have a column in the node table called "Maximum Pipe Diameter" and I would like to populate the column with the diameter values of the connecting pipes. As stated above, the majority of the connecting pipes will have the same diameter, but there are a number of nodes where the connecting pipes have different diameters. 

Can an attribute rule be made to populate the Maximum Pipe Diameter with the larger diameter value of the connecting pipe? I've been looking at Github and wasn't able to find suitable script to perform this task.

Thanks for your help!


0 Kudos
2 Replies
MVP Esteemed Contributor

I don't have a layer to test this against, but I assume this shouldn't be too hard. Are the pipes all coming from the same layer? How about something like this?

var n = $feature

var pipes = FeatureSetByPortalItem(
    0, // or whatever layer index

var xs_pipes = Intersects(pipes, n)

var diam = Max(xs_pipes, 'pipe_diameter')

return diam


- Josh Carlson
Kendall County GIS
0 Kudos
New Contributor III

Hi Josh,
Yeah, the pipes all reside on one layer. I'll give  your code a shot. 
Thanks so much!

0 Kudos