Barriers

Barriers are used in traces, export subnetwork operations, and update subnetwork operations to mark the locations to stop tracing, exporting, or updating, respectively.

There are two types of barriers in a utility network:

  • Feature barriers—These can be created on a map using the Trace pane or the Add Trace Locations tool, or by specifying a user-defined feature class or table to serve as a barrier in the Trace geoprocessing tool.
  • Dynamic barriers—Network features that meet criteria defined by traversability barriers and filters

You create feature barriers by specifying the network features to serve as barriers when configuring a trace. Dynamic barriers allow you to use information about the network features to create barriers. For example, you can use a network attribute such as status to stop a trace at open switches.

You can configure all subnetworks in a tier to include barrier features when performing a trace or running update or export subnetwork. When the Include Barrier Features option is enabled, the results of a trace include barrier features; exported information includes barriers; and during a subnetwork update operation, the barrier features are updated. This is configured as part of the subnetwork trace configuration section of the subnetwork definition for a tier. In the Trace tool, you can use the Include Barrier Features parameter to accomplish the same thing.

Note:

The Include Barrier Features configuration option does not apply to features with terminals.

Feature barriers

Feature barriers are optional during tracing events. To include them, you use a tool to set features in the network as barriers for a trace.

Any network feature can be used as a barrier. When working with spatial features, a coincident point is created on the map to denote the location of the barrier for the trace. You can also select records from nonspatial edge and junction object tables and add them to the Trace pane to serve as barriers:

  • For points, devices with terminals can specify a specific terminal to set as the barrier.
  • For lines, a barrier can be placed anywhere along the line feature.
  • For polygons, a point is placed at the centroid to mark the barrier.
  • For junction objects, objects with terminals can specify a specific terminal to set as the barrier.
  • For edge objects, a barrier is placed on the object to specify the location of the barrier.

You can use the Aggregated Geometry option of the Result Types parameter to return partial feature results when performing trace operations. When a barrier is placed along an edge, trace results stop at the barrier and return partial feature geometry for the edge feature.

Create and remove barrier features using the Barriers tab in the Trace pane. In this pane, you can create one or more barriers at a time. When a barrier is created, the UN_Temp_Barriers feature class is created in the project's default geodatabase. Successive barriers are appended to this class. To remove all barriers, click the Clear All button Clear in the Trace pane.

Feature barriers can act as filter barriers when performing subnetwork-based traces where they restrict traversal to the subnetwork controllers from the starting points. This allows you to identify the subnetwork controllers required to perform the trace before the barriers are applied on the second traversal of the network features. This is useful for subnetwork-based traces where a feature barrier is placed between the starting points and subnetwork controllers. To enable this behavior, use the Filter Barrier option on the Barriers tab of the Trace pane or use the Filter Barrier parameter of the Add Trace Locations tool.

The Trace pane displaying a feature barrier designated as a filter barrier.
Note:

Using the Filter Barrier option with feature barriers requires ArcGIS Enterprise 10.8.1 or later.

Barriers can also be specified in a user-defined feature class or created using the Add Trace Locations tool. This tool creates an output feature class with the same schema as the UN_Temp_Barriers and allows selected spatial network features to be output to a user-defined feature class for use in a script or model.

When an existing user-defined feature class or table is used to specify barriers for the Trace tool, the following are requirements:

  • The schema of the user-defined feature class or table must contain a FEATUREGLOBALID field of type guid similar to that found in the UN_Temp_Barriers feature class and contain a value for it to be applied to the corresponding network feature as a barrier.
    • When this field is not populated, features without a corresponding value are not used to place a barrier. This option is helpful when you want to maintain granularity over which features are used as barriers.
  • The schema of the user-defined feature class or table must contain a PERCENTALONG field of type double to place a barrier along an edge feature or edge object.
    • The PERCENTALONG field must contain a value between 0.0 and 1.0 to indicate the location of the barrier along the edge.
    • If the PERCENTALONG field is not present or does not contain an appropriate value, it is assumed the barrier is to be placed on a junction and placement along an edge is ignored.
  • The schema of the user-defined feature class or table must contain a TERMINALID field of type long to place a barrier on a junction feature or junction object.
    • If the TERMINALID field is not present or does not contain an appropriate value, it is assumed the barrier is to be placed on an edge feature and placement on a junction is ignored.

Learn more about how to set starting points and barriers using the Trace pane

Dynamic barriers

In addition to feature barriers, utility networks can dynamically set barriers on features based on network attributes, network categories, and function conditions. Dynamic barriers are always used during an update or export subnetwork operation. During a trace operation, dynamic barriers can be modified.

There are two types of dynamic barriers: traversability barriers and filters. They are used in the following operations:

  • Subnetwork update—A subnetwork is updated starting at the subnetwork controller. During an update, a subnetwork trace also occurs. Any traversability barrier feature the trace encounters prevents the trace from continuing, and only features positioned before the traversability barrier are updated.
  • Export Subnetwork—Information about a subnetwork is exported to a JSON file. Part of the information includes connectivity (what is connected to what). As with a subnetwork update, a subnetwork trace is run at the same time as the export operation, starting at the subnetwork controller. Any traversability barrier feature the trace encounters prevents the trace from continuing, and only information about features up to that point is exported.
  • Trace—When a trace is run using the Trace tool, both types of barriers are considered. When both traversability barriers and filter barriers are present during a trace, traversability barriers are considered before filter barriers.

Additional configurations allow you to choose whether the barrier features are included in certain operations: trace results and calculations, updated with subnetwork information, or exported with subnetwork information. During an export, for example, the JSON file can include information about the barrier feature encountered.

Traversability barriers

The Update Subnetwork, Export Subnetwork, and Trace tools all use established traversability barriers. However, only the Trace tool allows you to modify these types of barriers. When you choose a tier with preset traversability barriers in the Trace tool, the Traversability parameters are updated with that information. The settings for these parameters can be adjusted as needed and can be applied to junctions, edges, or both. At this level, traversability barriers model an alternative representation of a subnetwork.

Traversability barriers define the extent of subnetworks and are established for all subnetworks in a tier by the administrator using the Set Subnetwork Definition tool. At this level, traversability barriers represent the standard conditions for defining subnetwork boundaries in a tier.

There are two types of traversability barriers: condition barriers and function barriers.

Condition barriers

A condition barrier is an expression based on network attributes or categories, for example, stop at all closed devices in a water network. When a feature meets the condition set in the expression, the trace, update subnetwork, or export subnetwork operation does not continue to the next feature.

More than one condition barrier can be implemented using the Combine using option (define an AND or an OR condition). Expressions based on network attributes can be compared with other network attributes; for example, the Current Pressure attribute value of stop a trace does not match the Normal Pressure value.

Learn more about using multiple conditional expressions

Function barriers

Function barriers define the boundary of subnetworks based on whether a function condition has been satisfied. Function barriers can be used for such things as distinguishing a subnetwork in a pipe network based on a threshold pressure value (for example, 50). In this scenario, each feature considered during a trace, update, or export operation, with the Pressure attribute present, will contribute to the value of the total pressure calculated for the subnetwork (for example, 5 + 10 + 20 + 5 + 10). Once that value reaches 50, all features past that point are not traced, updated, or exported.

Networks often have paths that fork into multiple paths. You may at times want to consider all forked paths together (global), and at other times as separate from one another (local). Consider an example where you want to trace a set distance along a pipe network. In this scenario, if the starting point is placed at a fork with three paths, and the trace is set to trace 3 miles down the pipes using global values, the trace will travel 1 mile down each of the three forked paths. By enabling the Use Local Values option, the trace will travel 3 miles down each of the three forked paths. It is important to note that only one starting point is allowed when running a trace using a function barrier with the Use Local Values option selected.

More than one barrier type can be used at once. Combining barriers allows you to control a group of diverse, precise types of barriers. For example, you want to run a trace and have it stop at any open device, but you don't want the trace to travel more than 500 meters beyond the starting point. To accomplish this, you can use a barrier condition to control the type of open device that stops a trace, and you can use a function barrier to calculate the length of the line you travel and set a limit of 500.

Function barriers support apportionable situations and return a portion of the function value calculated for a line that has a barrier located midspan.

For example, in a pipe network, you want a trace to stop when it reaches 500 meters. The 500th meter may not be at the end of a pipe; it may be midspan along a pipe. In this case, the trace stops midspan, but the entire pipe is considered a barrier. The features returned in the results of the trace will add up to less than 500 meters. The Trace and Set Subnetwork Definition tool parameters allow you to control whether a barrier is included in the results. In the previous example, if the barrier pipe was included, the total length of the assets in the results of the trace would exceed 500 meters. In scenarios such as this, you can use the Aggregated Geometry option for the Result Types parameter of the Trace tool to return partial features for more accurate results. To learn more, see Configure a trace.

Note:

When using attribute propagation with multiple propagators configured for the same network attribute, condition and function barriers are evaluated against the values defined by the first propagator configured for the tier.

Filters

Filters are evaluated and applied on the second pass of a trace operation to allow the discovery of subnetwork controllers so that flow direction can be established. There are two types of filters: filter barriers and filter function barriers.

These are configured using the Trace tool and allow you to establish dynamic barriers for a subnetwork based trace operation. Both types of barriers can be used in the same trace.

Filters use a network attribute, a network category, or a combination of both to determine which features to consider as barriers, for example, stop at closed protective devices. When a trace reaches a feature meeting the condition of the filter, it stops and does not travel beyond it.

Note:
If traversability barrier features are present, they are considered before filters.

You can control the types of features that act as barriers with the Apply Filter To parameter of the Trace tool. This applies to situations in which you want to consider attribute values for only certain types of features—for example, only consider pressure for pipes, or stop a trace when a pressure threshold is reached. Use the Nearest Categories and Nearest Asset Groups/Types parameters to further refine the specific types of assets that can act as barriers or be considered during function calculations; for example, only consider the pressure for pipes that are above 10 PSI.

When you are working with an upstream, downstream, and loops trace, the Filter by bitset network attribute parameter can be used to add special logic so the trace more closely reflects real-world scenarios. For example, if running a loops trace in an electrical network, the phases current network attribute could be used to determine whether the loop is a true electrical loop (the same phase is energized all around the loop) and return only true electrical loops in the trace result. This ensures that only valid paths that are specified by the network attribute are returned.

Filter barriers

A filter barrier uses an expression you define to determine what features are barriers in a subnetwork. Filter barriers are similar to condition barriers, and when both are present, condition barriers are considered first.

An isolation trace requires that a filter barrier be defined in the trace configuration to help pinpoint which features are isolating the starting point or points. This uses a specific network attribute or network category to stop the trace. For example, a filter barrier can be used with Category = Isolating. In this example, Isolating is a user-defined network category that is assigned to specific asset groups and asset types that are considered isolating. Additional filter barriers can be used to return valves with specific properties. For example, you can choose to return only accessible and operable valves: ones that are not paved over or rusted shut.

Filter barriers can be used in situations where a condition barrier would prevent discovery of the subnetwork controller and cause the trace to fail. For example, consider an upstream trace from a device where you want the trace to stop when it encounters any feature with a lifecycle status that does not include In Service and To Be Retired. If a proposed or abandoned device was encountered while the trace was attempting to locate subnetwork controllers and determine directionality, the trace would fail with an error stating that no valid subnetwork controllers were found. Configuring this as a filter barrier allows the subnetwork controller to be identified and applies the condition on a second pass of the trace from the starting point.

More than one filter barrier can be implemented using the Combine Using option (define an AND or an OR condition). Filters with expressions based on network attributes can be compared with other network attributes; for example, stop a trace where the Phase Current attribute value does not include the Phases Built attribute value. Another example would be to stop a trace at structures owned by the municipality with an installation date later than 1990.

Learn more about using multiple conditional expressions

Filter function barriers

Filter function barriers use a condition to determine when a trace stops. When a trace meets this condition, it stops. Filter function barriers are similar to function barriers in the Traversability section of the Trace tool. When both are present, function barriers are considered before filter function barriers.

Filter function barriers support apportionable situations; for example, in a pipe network, you want a trace to stop when it reaches 500 meters. The 500th meter may not be at the end of a pipe; it may be midspan along a pipe. In this case, the trace stops midspan, but the entire pipe is considered a barrier. The features returned in the results of the trace will add up to less than 500 meters. The Trace and Set Subnetwork Definition tool parameters allow you to control whether a barrier is included in the results. In the previous example, if the barrier pipe was included, the total length of the assets in the results of the trace would exceed 500 meters.

Note:

When running a trace using a filter function barrier with the Use Local Values option selected, only one starting point is allowed.