Skip To Content ArcGIS for Developers Sign In Dashboard

Utility networks

An example of a utility network modeling real-world utility assets.

What is a utility network?

ArcGIS utility networks provide a comprehensive framework in ArcGIS for modeling utility systems such as electric, gas, water, storm water, wastewater, and telecommunications. Utility networks are designed to model the assets in your system—such as wires, pipes, valves, zones, devices, and circuits—and facilitate building real-world behavior into these modeled features. These connected assets and behavior allow you to perform advanced analysis to examine the flow of resources across your network.

If you are not familiar with ArcGIS utility networks, please refer to the What is a utility network topic in the ArcGIS Pro documentation. For details about the logical structure of a utility network see the Structure of a utility network topic and to create your own utility network see Utility network creation and configuration.

If you are interested in exploring transportation networks then please see the Find a route topic.

What can Runtime apps do with a utility network?

You can build ArcGIS Runtime apps that can:

  • Visualize network assets on a map.
  • Discover how features are connected.
  • Trace how resources, such as gas, water, and electricity, flow through the network.

Your app must be licensed with a Utility Network extension unless you are just viewing simple utility network features in a map.

Visualize a utility network

To help users discover and interact with a utility network, you can display and share a complete utility network via a web map. The web map could include one feature layer for every network source in the utility network as shown in this diagram:

Diagram of objects loaded when loading a utility network with a map with layers for all network sources.

Alternatively, if your app focuses on a specific workflow, you can display a map that contains a subset of the utility network's feature layers. Using a map ensures that the same feature symbology is applied to all apps that use the map. Or, you could create a brand new map in your ArcGIS Runtime app that adds feature layers directly to the map's operational layers. Choose the option that suits your workflow. For more information see, Access the utility network.

You can also manage which layers are visible and show or hide individual features inside containers such as stations, yards, cabinets, and vaults. You can also examine the feature's attributes and start to explore the utility network's assets, associations, and containment.

Explore the flow of resources in a utility network

The current version of ArcGIS Runtime gives you access to a range of tracing capabilities. These include:

Not supported at this release

This includes:

Utility network structure

A utility network allows you to model how all the components of a utility system are connected, intelligently handle dense collections of utility features, and perform hierarchal tracing analysis of a network. For an overview of how a utility network is organized see Structure of a utility network.

Below is a list of the primary ArcGIS Runtime classes required to visualize, explore and trace a utility network.

Utility network

API classes: UtilityNetwork

A utility network is a collection of domain networks (gas, water, electric, or other), plus a structure network, that is managed by an organisation. Each organization uses ArcGIS Pro to build and configure its utility network within a geodatabase. Every utility network will contain at least one domain network along with tiers, subnetworks and subnetwork controller, as required. The properties of these components define the characteristics of the subnetworks and drive the tracing operations.

In your ArcGIS Runtime app you can construct and load a utility network from a feature service to access the utility network's components from the utility network definition. .

Network definition

API classes: UtilityNetworkDefinition

Each utility network contains a one utility network definition. This provides metadata about a utility network's feature service. This class is the entry point to the metadata for all elements in the utility network, such as domain networks, network sources, and terminal configurations.

Domain network

API classes: UtilityDomainNetwork

Each utility network will have one or more domain network. One will be a structural network and all others will be domain networks corresponding to the various utility services. For example, a utility network can have separate distribution and transmission domain networks for electricity. Or it might have a domain network for each type of service, such as natural gas and electricity. All the domain networks share the same structure network so that you can find the devices and lines that are supported by common structures.

Each domain network will contain a tier along with a subnetwork controller type to indicate whether the subnetwork controllers are acting as sinks or sources.

For more information see Domain network.


API classes: UtilityTier

Tiers model the hierarchy of how the network delivers a resource such as natural gas, electricity, and water. For example, an electric distribution system can be subdivided into subtransmission, medium voltage, and low voltage levels, each represented as a tier. Each utility network can contain up to 63 tiers defined in a single or multiple domain networks.

A single tier can then define the topological organization (radial or mesh) of subnetworks that all share the same properties and adhere to the same restrictions. You can decide whether to trace within these tiers or across tiers using the tier's trace configuration. This configuration can support traversability, propagators, and function barriers.

For more information see Tiers.


A subnetwork represents a topological subpart within a tier where all the connected features are defined by the same subnetwork controller or controllers. Some examples of subnetworks are circuits in electric domain networks, and pressure zones in gas and water domain networks. Good network management depends on the reliability of the paths in a network (or subnetworks). The management of these subnetworks allows organizations to optimize the delivery of resources and track the status of a network.

A subnetwork controller is a type of network feature from which a resource is delivered or collected. A subnetwork controller type is defined for each domain network and when the tier is configured it is defined to use one or more of the controllers in the domain network. Certain asset group and asset type features in the device feature class are configured to allow features to be set as subnetwork controllers; this done by assigning a network category. Subnetwork controllers are set for device features using a specific terminal and are used as start or end points for tracing analysis.

Some examples of subnetwork controllers are circuit breakers (electric), town border stations (gas), and water towers (water).

To help with network management ArcGIS Runtime supports tracing across a subnetwork.

See the topic Trace a utility network for details about these subnetwork traces.

Utility element

API classes: UtilityElement

A utility element is an entity in a utility network. It can correspond to a feature or a piece of a feature (terminal inside a device feature or an edge within a linear feature). Utility elements are used across the utility network for a range of purposes to:

  • specify starting points and barriers for tracing
  • define the "from" and "to" sides of associations
  • return trace results
A utility element includes a reference to a feature inside a utility network source, plus a terminal (if applicable).

Network source

API classes: UtilityNetworkSource

A network source is a feature table whose features comprise one of a utility network's datasets. A utility network has multiple network sources containing related information. Some network sources contain devices appropriate for each domain network. For example, one network source for an electric utility network is a feature table named "Electric Distribution Device" representing electric devices like switches and transformers. Also, all utility networks have network sources representing physical structures such as "Electric Support Pole" or "Electric Substation Boundary".

Each network source has asset groups and types.

Asset group and asset types

API classes: UtilityAssetGroup, UtilityAssetType

An asset group is the first-level categorization of a network source. Each asset group has a collection of asset types that provide the second-level categorization. An example for an electric utility is the asset group High Voltage Insulator which contains the asset types Single, Single String Running Angle, Double Suspension, and Triple String Running Angle.

The asset group defines a utility element's broad classification. For example, a transformer is one of the subtypes for an asset group in an electric device network. The asset type defines a utility element's more specific classification within each asset group. For example, a power transformer is an asset type of a transformer in an electric device network. A terminal configuration can be assigned to one or more asset types.

For more information see Utility feature classification.

Terminal and terminal configurations

API classes: UtilityTerminal, UtilityTerminalConfiguration

Physical devices in the field can be modeled in a utility network using terminals. Each terminal can have defined ports from which resources, such as electricity and water, flow in and out. Each device can contain many terminals each of which can be interconnected. Terminal configurations model these interconnections by specifying the flow path through terminals

For example, consider a bypass switch with an attached voltage regulator. The bypass switch exists so the voltage regulator may be bypassed (for inspection and service, for example) without disrupting the electrical flow that normally passes through the voltage regulator. In normal operation, the blades inside the bypass switch connect certain device terminals together, while in bypass operation, other terminals are connected instead, so that the electricity flows along the desired path within the bypass switch.

For more information see Device terminals.


API classes: UtilityAssociation

Associations represent a relationship between two elements that is reflected in the network topology.

There are three types of associations:

  • Connectivity associations allow you to model network connectivity between two junctions that aren't colocated, that is, without geometric coincidence.
  • Structural attachment associations allow you to model equipment attached to structures.
  • Containment associations allow you to model assets that contain other assets.
For more information see Associations.

Some tracing methods make use of associations and can even return the associated structures or containers. For more information see Trace configuration.