Configure a utility network

Available with Standard or Advanced license.

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 manually or by using tools to help automate the process. 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 when you configure a utility network manually.

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 Utility network management tasks to review requirements for many common configuration and management tasks.

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 tool creates 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 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 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 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 connectivity and association rules, network categories, and terminal configurations are defined for network classes and tables using the asset group and asset type fields.

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

    • The Asset group field is automatically configured for network classes as the subtype field with a default subtype code description of 0 (unknown). Additional major classifications can be added to the network feature class or object table 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.

    The following is important to keep in mind when 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 that you 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 1023.

    The following is an example of feature classification in a gas domain network:

    One of the subtype 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 features have more than two inputs and outputs. For example, an electrical transformer device 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 devices and junction objects.

    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 or JunctionObject table using the Set Terminal Configuration tool at the asset group and asset type levels.

    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 to constrain how trace operations work and to define valid connectivity associations. For a device or junction object to represent a subnetwork as a subnetwork controller in a partitioned domain network, it must be set with a terminal configuration that has a minimum of two terminals (one upstream).

    See the following topics for more information:

  5. Create rules.

    Network rules are established for feature classes and tables 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 network feature. You can create them to constrain permissible 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 levels. 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 or junction object features at the asset group and asset type levels before the feature is set as a subnetwork controller.

    Additional network categories can be added to the utility network and set on domain network 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 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 and In service. 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 a container for other features. Association roles are assigned using the Set Association Role tool. Setting the association roles of Container or Structure is limited to feature classes and tables 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 and edge object tables in the utility network using the Set Edge Connectivity tool. Setting the edge connectivity at the asset group and asset type levels allows the editor snapping environment to behave differently depending on what connectivity policy is in place. This also enables control for midspan connectivity on edge object tables. The Edge Connectivity parameter in the tool is used to control the location on the line or edge object that point features or junction objects can connect to: AnyVertex or EndVertex.

    See Set edge connectivity for 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 enable network topology

After the configuration steps are complete, the following additional steps need to be completed to enable work with the utility network and related feature classes:

  • 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 before appending data to the network classes. The Add Tier tool creates a subnetwork name field with a nonnullable property to the underlying network feature classes. This add field process can only be completed if the network feature classes are empty.

    • Import network associations
    • Import subnetwork controllers
  • Register as branch versioned (enterprise geodatabases).
    • Prior to registering as versioned, ensure prerequisites are met for all utility network feature classes and tables.
    • Optionally, you can review and correct errors before registering as versioned. To perform quality assurance checks on your network, enable the network topology with the advanced option to Only generate errors. This updates errors 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 registering as branch versioned, because the network classes can still be edited when accessed directly from a database connection.

  • Enable the network topology.

For enterprise geodatabases, see Publish and consume services with a utility network for more information about sharing the utility network and related network feature classes.