ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Data.UtilityNetwork.Trace Namespace / TraceConfiguration Class / Propagators Property
Example

In This Topic
    Propagators Property
    In This Topic
    A list of Propagators to execute while performing the trace.
    Syntax
    Public Property Propagators As IReadOnlyList(Of Propagator)
    public IReadOnlyList<Propagator> Propagators {get; set;}
    Remarks
    Propagator objects allow a subset of NetworkAttribute values to propagate through a network while executing a trace. The canonical example is phase propagation- open devices along the network will restrict some phases from continuing along the trace. Propagators are only applicable to subnetwork-based traces. (SubnetworkTracer, UpstreamTracer, etc.)
    Example
    Create a Propagator
    {
      // This routine creates a Propagator to propagate the Phases Normal network attribute downstream during a trace
      static void CreatePropagator(UtilityNetworkDefinition utilityNetworkDefinition, TraceConfiguration traceConfiguration)
      {
        const int ABCPhase = 7;
        // Get a NetworkAttribute object for the Phases Normal attribute from the UtilityNetworkDefinition
        using NetworkAttribute normalPhaseAttribute = utilityNetworkDefinition.GetNetworkAttribute("Phases Normal");
        // Create a propagator to propagate the Phases Normal attribute downstream from the source, using a Bitwise And function
        // Allow traversal to continue as long as the Phases Normal value includes any of the ABC phases
        // (represented by the constant ABCPhase)
        Propagator phasePropagator = new Propagator(normalPhaseAttribute, PropagatorFunction.BitwiseAnd,
          Operator.IncludesAny, ABCPhase);
    
        // Assign this propagator to our trace configuration
        traceConfiguration.Propagators = new List<Propagator>() { phasePropagator };
      }
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also