Hi everyone,
I’m working with a Water Utility Network in ArcGIS Pro 3.5 and trying to implement a custom isolation trace behavior.
Requirement
We have control valves with a source attribute called:
GroundCondition
If:
GroundCondition = "High Speed Road"
then the isolation trace should NOT stop at that valve and should instead continue to the next valid control valve.
Operationally, these valves are difficult/inappropriate to use for isolation.
What I Tried
1. Added a new field
IsolationEligible
Values:
- 1 = valid isolation valve
- 0 = should be skipped
Calculated using:
IIF(Upper(Trim($feature.GroundCondition)) == "HIGH SPEED ROAD", 0, 1)
2. Added Utility Network network attribute
Created a network attribute from IsolationEligible.
3. Updated Isolation Trace configuration JSON
I added IsolationEligible as a network attribute condition in:
- conditionBarriers
- filterBarriers
Example:
{
"name": "IsolationEligible",
"type": "networkAttribute",
"operator": "equal",
"value": 1,
"combineUsingOr": false,
"isSpecificValue": true
}
Observed Behavior
Connected Trace
Picks up the new field but behavior is not consistent
The trace stops devices where:
IsolationEligible = 0
Isolation Trace
Does NOT work as expected.
Observed behavior:
- Trace still stops at first control valve even when IsolationEligible = 0
- OR trace returns:
WARNING 002535: arcgis un trace warning
with no results.
Important Finding
After investigating Utility Network properties, I noticed:
Control Valve -> Category = Isolating Device
It appears the Isolation Trace solver inherently treats these valves as valid isolation candidates before the custom network attribute condition is evaluated.
This seems different from how Connected Trace behaves.
Steps followed:
- Created a new field along with a domain
- Added auto Population Rule to make sure new data updates accordingly
- Updated all existing control values with correct logic (Calculate field)
- Add Network Attribute
- Validated network topology
I introduce this IsolationEligible field to Supply Device FC and but values were calculated only for Control Value subtype which is the isolating device. For other types the value is "Null"
Questions
- Has anyone implemented similar “skip this valve during isolation solving” behavior?
- Is there a supported way to influence Isolation Trace candidate valve selection using custom network attributes?
- Is using separate asset types/categories the recommended pattern?
- Are there other approaches people have successfully used?
Any guidance or real-world patterns would be greatly appreciated.
Thanks!