ArcGIS Pro 3.3 API Reference Guide
ArcGIS.Core.Data.UtilityNetwork.Trace Namespace / Function Class
Members Example

In This Topic
    Function Class
    In This Topic
    Functions allow the computation of values during a network trace.
    Object Model
    Function ClassCondition ClassNetworkAttribute ClassField Class
    Syntax
    public abstract class Function 
    Public MustInherit Class Function 
    Remarks
    Functions are evaluated at each applicable network element. The meaning of applicable varies depending on the Tracer. At the conclusion of the trace, function results can obtained using the FunctionOutputResult class.
    Example
    Create a Function
    // Get a NetworkAttribute object for the Load network attribute from the UtilityNetworkDefinition
    using (NetworkAttribute loadNetworkAttribute = utilityNetworkDefinition.GetNetworkAttribute("Load"))
    {
      // Create a function to sum the Load
      Add sumLoadFunction = new Add(loadNetworkAttribute);
    
      // Add this function to our trace configuration
      traceConfiguration.Functions = new List<Function>() { sumLoadFunction };
    }
    
    Create a FunctionBarrier
    // Create a NetworkAttribute object for the Shape length network attribute from the UtilityNetworkDefinition
    using (NetworkAttribute shapeLengthNetworkAttribute = utilityNetworkDefinition.GetNetworkAttribute("Shape length"))
    {
      // Create a function that adds up shape length
      Add lengthFunction = new Add(shapeLengthNetworkAttribute);
    
      // Create a function barrier that stops traversal after 1000 feet
      FunctionBarrier distanceBarrier = new FunctionBarrier(lengthFunction, Operator.GreaterThan, 1000.0);
    
      // Set this function barrier
      traceConfiguration.Traversability.FunctionBarriers = new List<FunctionBarrier>() { distanceBarrier };
    }
    
    Inheritance Hierarchy
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also