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

Function Class
Functions allow the computation of values during a network trace.
Object Model
Function ClassCondition ClassNetworkAttribute ClassField Class
Syntax
public abstract 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