I have two layers that I'm trying to conditionally join. One layer JUNCTIONS has junction IDs (NAME) and flooding volumes (Flood_cf) for each junction. I'm interested in identifying and symbolizing only the junctions with a flooding volume that exceeds a threshold (400 cubic feet).

The second layer CONDUITS contains pipe features with starting and ending nodes for each pipe. I would like to use the JUNCTIONS layer to identify the pipes that are surcharging (i.e. flooding). These are the pipes with starting nodes (INLETNODE) that match the NAMES from the JUNCTIONS layer which exceed the set threshold. Then, I would like to add a field to the CONDUITS layer in order to tag these pipes for symbology.

I tried doing a subquery (i.e. SELECT FROM (SELECT FROM) ) but I couldn't get the syntax to work. Alternatively, I could create a new feature class for the nodes that exceed the threshold, join the new layer to the CONDUITS layer, and export the results to a new layer. However, this process is tedious and generates a lot of extra and unnecessary files and fields. Is there a faster and a cleaner way to do this? I'll eventually have to create a model for this process because I need to run it on hundreds of files.

1 Answer 1

  1. Add your FLOODING field to your CONDUITS table.
  2. Perform a Table Join on your CONDUITS layer:

Right-click on the CONDUITS layer in the table of contents -> Joins and Relates -> Join....

In box 1 use your key field INLETNODE. In box 2 use your layer JUNCTIONS. In box 3 use the field name NAME. Click OK.

enter image description here

enter image description here

  1. Open the attribute table of your CONDUITS layer. Right-click on the added FLOODING field and click Field Calculator.... Find the joined Flood_cf field for your field calculate.

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.