Skip To Content

Configure a utility network

You can create and configure a utility network manually to meet your utility's asset management requirements, business demands, and modeling needs. The initial configuration process can be completed using tools that can help automate the process or completed manually. The manual configuration process includes steps such as adding domain networks, setting up asset classification for network feature classes, adding or modifying rules, adding tiers, and more. This topic discusses the major components and tools involved in configuring a utility network manually.

Overview of process to configure a utility network

A utility network can be created and configured manually using the suite of geoprocessing tools available in the Utility Network Tools toolbox, along with existing ArcGIS Pro functionality and tools. This process can also be scripted. The same tools that are used during the initial phase of implementation can be revisited when additional configuration is needed for the utility network.


Certain network configuration tasks cannot be modified or are only allowed before the network topology is enabled for the first time. See Network topology actions to review common configuration tasks and the network topology state required.

The following steps provide a high-level overview of the process of creating and configuring a utility network:

  1. Create a utility network

    The utility network is created inside an existing feature dataset using the Create Utility Network tool. This will create the utility network dataset, along with structure domain network feature classes.

    See Create a utility network for more details.

  2. Add domain networks

    In most cases, a utility network will have at least one domain network. You can add more domain networks if your utility has multiple types of utility services, such as gas and water. You can add one or more domain networks to the utility network using the Add Domain Network geoprocessing tool. This tool will create five empty network feature classes for each domain network added to the utility network.

    See Add a domain network for specific steps.

  3. Set up feature classification for network feature classes

    To extend the types of assets in the domain network feature classes, a rich feature classification must be configured using subtypes and domains. Two system-provided fields are included as part of the default schema for utility network feature classes. Subtypes are configured on the Asset group field and attribute domains are created and assigned per subtype on the Asset type field.

    Each network feature class, except SubnetLine, has a requirement that a coded value attribute domain must be assigned on the Asset type field for each subtype (asset group). This is enforced when enabling the network topology. This level of classification is used in many of the Utility Network tools for configuration and recorded in the network properties. Network properties such as association rules, network categories, and terminal configurations are defined for network feature classes using the asset group and asset type fields.

    The Asset group and Asset type fields serve as the major and minor classification for network feature classes:

    • The Asset group field is automatically configured for network feature classes as the subtype field with a default subtype code description of 0:unknown. Additional major classifications can be added to the feature class using the Subtypes view or the Add Subtype tool.
    • The Asset type field must be configured by assigning an attribute domain for a finer classification of the asset group. To do this, attribute domains are created exclusively for assignment to the Asset type field and assigned at the subtype level. Attribute domains for the Asset type field are created using the Domains view or the Create Domain and Add Coded Value To Domain tools. The Assign Domain To Field tool is used to assign the domain to the Asset type field for a specific asset group by using the subtype code.

    Some important notes about managing subtypes and attribute domains used for network feature classification:
    • Ensure the split policy for the coded value domain is set based on the desired behavior for splitting utility network features. It is recommended to use a duplicate split policy for domains assigned to the asset type field. Review split policies for attribute domains.
    • The code value for the asset type attribute domain and asset group subtype cannot exceed a value of 1023.

    An example of feature classification in a gas domain network:

    One of the subtypes values that defines the Asset group field for the Device feature class is Valve. This serves as one of the major classifications for the Device feature class.

    An attribute domain named GasDeviceValveAssetType is created and assigned to the Asset type field for the Valve subtype. It contains the allowable values for a finer level of classification for the valve features.








    GasDeviceValveAssetType attribute domain values.

  4. Create and assign terminal configurations

    Some complex devices have more than two inputs and outputs. For example, an electrical transformer often has two high-side inputs and three low-side outputs. These inputs and outputs are called terminals and can be defined for different types of device features. Terminal configurations are initially added as a property of the utility network layer using the Add Terminal Configuration tool. The terminal configuration is set on the Device feature class using the Set Terminal Configuration tool at the asset group and asset type level. For example, a terminal configuration of Transformer is added to the utility network layer to represent the different terminals. The terminal configuration is then assigned to the Device feature class in a domain network on the Transformer subtype value (defined on the Asset group field) and the Step Down Asset type value.

    Terminals are used for constraining how trace operations work and defining valid connectivity associations. For a device feature to represent a subnetwork as a subnetwork controller in a partitioned domain network, it must be set with a terminal configuration with a minimum of two terminals (one upstream).

    See the following topics for more information:

  5. Create rules

    Network rules are established for features classes that participate in a utility network at the asset group, asset type, and terminal (if applicable) levels. Network rules control what can connect to or be associated with other features; they can be added to a utility network individually using the Add Rule tool or in bulk using the Import Rules and Export Rules tools.

    Attribute rules are user-defined rules that are used to enhance the editing experience and help enforce data integrity. They allow you to define behaviors related to attributes and geometry of a feature. They can be created to constrain permissible feature configurations based on specified attribute or geometry criteria or automatically populate attribute values. For example, you can define a rule for field A that states this field cannot be less than the total of field B + field C.

    See the following topics for specific steps:

  6. Create and assign network categories

    Network categories are a useful way to group or tag a collection of features at the asset group and asset type level. The utility network has system-provided network categories, such as subnetwork controller, tap, and attribute substitution, that are required for performing certain operations. For example, the subnetwork controller network category must be assigned to certain device features at the asset group and asset type level before the device feature is set as a subnetwork controller.

    Additional network categories can be added to the utility network and set on domain network feature classes at the asset group and asset type level. Network categories can be used in trace operations as part of the terminator configuration or as part of the output filter used. For example, the user-defined network category Protective can be added as a terminator parameter in a connected trace to stop the traversal of features when it reaches a feature that has this network category.

    See the following topics for specific steps:

  7. Create and assign network attributes

    Network attributes are added to the network topology using the Add Network Attribute tool and assigned to a specific field for a network feature class using the Set Network Attribute tool. Since network attributes are stored in the network topology of the utility network, they can be used during tracing operations. In the trace configuration, network attribute filters can be used to define the traversability of the trace and filter results. To stop the traversal of a trace, network attributes can also be used as terminators. An example of a network attribute filter is the network attribute of Lifecycle Status, which can be added to the utility network and set on the ElectricDistributionLine class for the LIFECYCLESTATUS field. The LIFECYCLESTATUS field is additionally preconfigured with an attribute domain representing the different life cycle status values such as Proposed, In service, and so on. When performing a connected trace, this network attribute can be used in an expression as a network attribute filter to define traversability of the trace.

    See the following topics for specific steps:

  8. Assign association roles

    A utility network contains two types of association roles for structures or containers, and only features that are assigned to these roles can participate as a structural attachment or as a container for other features. Association roles are assigned using the Set Association Role tool. Setting association roles of Container or Structure are limited to feature classes that can support these types of relationships per the utility network feature restrictions.

    See Set or modify an association role assignment for specific steps.

  9. Set edge connectivity policies

    Edge connectivity policies can be set on line feature classes in the utility network using the Set Edge Connectivity tool. Setting the edge connectivity for the line at the asset group and asset type level allows the editor snapping environment to behave differently depending on what connectivity policy is in place. The Edge Connectivity parameter in the tool is used to control the location on the line that point features can connect to: AnyVertex or EndVertex.

    See Set edge connectivity for line features for specific steps.

  10. Add tiers and set the subnetwork definition

    One or more tiers can be added to the domain network to form a hierarchy or collection of individual partitioned subnetworks. Each subnetwork consists of one or more devices representing the subnetwork controller, junctions, and lines. Prior to creating the tier, the Device feature class must be configured. This includes configuring the Asset group and Asset type attributes, setting up terminal configurations, and so on. The tier is created to divide a domain network into logical groupings of subnetworks. During the creation of the tier, basic properties are defined such as domain network, tier group name, and topology type (partitioned domain networks only). After the tier is created, properties must be defined against it using the Set Subnetwork Definition tool. This will help set up valid subnetwork controllers, valid devices and line features, and so on. The subnetwork definition controls and restricts what is considered valid in the subnetwork as well as diagram templates for subnetwork system diagrams generated and subnetwork trace configuration properties when subnetworks are updated.

    See the following topics for specific steps:

Load data and prepare data for publishing

After the configuration steps are complete, the utility network dataset is in an unversioned state with the network topology disabled. The following additional steps need to be completed before the utility network and related feature classes are ready to be shared to an ArcGIS Enterprise portal:

  • Data loading—If there are network features to import after the configuration is complete, these can be imported using the Append tool. Associations and subnetwork controllers can be imported after the network features exist in the utility network that they are based on.
    • Append features to network classes using the Append tool. It is important to use the Preserve Global IDs environment setting when appending network features.

      It is important to perform all of the network configuration prior to appending data into the network classes. If data is appended to network classes prior to adding a new tier, an error will occur and the Add Tier process will fail. This is due to the Add Tier tool attempting to add the subnetworkname field that is non-nullable to the underlying network feature classes.

    • Import network associations
    • Import subnetwork controllers
  • Review and correct error features before registering as versioned.

    Before the network classes are registered as versioned, perform quality assurance checks on your network by enabling the network topology with the advanced option to Only generate errors. This updates the error features for review without fully enabling the network topology to allow corrections to be made to the features by editing or making further adjustments to the network rule base. It is beneficial to do this before fully enabling the network topology as the network classes can still be edited in an unversioned state when accessed directly from a database connection.

  • Register as branch versioned.
  • Enable the network topology.

See Publish and consume services with a utility network for more information about sharing the utility network and related network feature classes.