This document is archived and information here might be outdated.  Recommended version.

ITraceFlowSolver Interface (ArcObjects .NET 10.8 SDK)
ArcObjects Help for .NET developers > ArcObjects Help for .NET developers > ArcObjects namespaces > NetworkAnalysis > ESRI.ArcGIS.NetworkAnalysis > Interfaces > IT > ITraceFlowSolver Interface
ArcGIS Developer Help

ITraceFlowSolver Interface

Provides access to members that perform basic traces on a network. Note: the ITraceFlowSolver interface has been superseded by ITraceFlowSolver2. Please consider using the more recent version.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

When To Use

Use the ITraceFlowSolver interface when you want to implement your own custom solver. This interface provides methods for common network tracing tasks such as find common ancestors and trace upstream.


Name Description
Method FindCircuits Finds all reachable network elements that are parts of closed circuits in the network.
Method FindCommonAncestors Finds all reachable network elements that are upstream from all the specified origins.
Method FindFlowElements Finds all reachable network elements based on the specified flow method.
Method FindFlowEndElements Finds all reachable network end elements based on the specified flow method.
Method FindPath Finds a path between the specified origins in the network.
Method PutEdgeOrigins Sets the starting edges for this trace solver.
Method PutJunctionOrigins Sets the starting junctions for this trace solver.
Write-only property TraceIndeterminateFlow Indicates if directional traces include edges with indeterminate or uninitialized flow direction.

Classes that implement ITraceFlowSolver

Classes Description

Not all members are callable from C#.  Please use ITraceFlowSolverGEN instead.

In order to do any type of trace analysis through the TraceFlowSolver you need to add flags to the solver. Whether you are adding one flag or multiple flags the solver requires an array of these flags. Junction flags and edge flags are added as seperate arrays.
For example, let's say your are doing a trace from one junction flag. The first step is to create a junction flag based on a feature in your network. Each feature in your network contains the following information needed to create a flag: the UserClassID, UserID, and UserSubID.
The UserClassID, UserID, and UserSubID are taken from the feature in the geometric network which you want to create a flag on. For information on getting these attributes from a feature see the Feature object help.
For more information on creating flags see the help for INetFlag.
Once you have created the flag you need to create an array of junction flags to add to the solver. Then you can add the array to the TraceFlowSolver object by calling the PutJunctionOrigins method.
If you are planning to use a trace solver that will be considering flow direction, you need to set the TraceIndeterminateFlow property.  See the help for TraceIndeterminateFlow for more information on this property.
You can now call one of the tracing methods on the ITraceFlowSolver interface.
[Visual Basic .NET]

Not all members are callable from VB.NET.  Please use ITraceFlowSolverGEN instead.

See Also

INetSolver Interface | ITraceFlowSolver Interface | INetSolverWeights Interface