Available with Standard or Advanced license.
You can create and configure a utility network in multiple ways. The Utility Network Foundations can be used to meet your organization's asset management requirements, business demands, and modeling needs by creating a utility network based on a predefined industry template. You can use the Migration toolset or Utility Network Migration Wizard to migrate existing data from a geometric network or other feature classes into a simple utility network to support basic editing and tracing workflows without the use of a predefined industry model. Alternatively, you can create a utility network manually using a set of core tools in ArcGIS Pro.
The configuration process to create a utility network starts with the initial creation of the utility network dataset and continues through tasks to setup the network classes and properties within the utility network. This process involves adding, assigning, and setting up many geodatabase components such as subtypes, domains, rules, network attributes, network categories, and so on. While much of the configuration can be completed using the tools in ArcGIS Pro, the process is reliant upon geoprocessing tools for the ability to script and automate.
While the Utility Network Foundations or Migration toolset are recommended to configure your utility network, this topic discusses the major components and tools involved when you configure a utility network 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.
A utility network can be created and configured manually using the suite of geoprocessing tools available in the Utility Network toolbox. This process can be scripted and combined with tools found in the Utility Network Package toolbox to help simplify the configuration of a utility network. The same tools that are used during the initial phase of implementation can be revisited when additional configuration is needed for the utility network.
Caution:
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 manually creating and configuring a utility network:
- 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.
- 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 manages multiple types of utility services, such as water and wastewater, or electric and telecom. You can add one or more domain networks to the utility network using the Add Domain Network or Add Telecom Domain Network geoprocessing tools. These tools create empty network feature classes for each domain network added to the utility network.
See Add a domain network for specific steps.
- 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 in a traditional domain network, except SubnetLine, requires a coded value attribute domain to 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 for configuration with many of the tools in the Utility Network toolbox and is recorded in the network properties. Network properties such as network rules, network categories, and terminal configurations are defined for network classes 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 or Subtypes view is used to assign the domain to the Asset type field for a specific asset group and subtype.
Caution:
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 asset type attribute domain must use a short integer field type.
- The coded 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 allowed values for a finer level of classification of valve features.
Code Description 0
Unknown
1
Main
2
Shutoff
3
Station
GasDeviceValveAssetType attribute domain values - 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 feature or junction object to represent a subnetwork as a subnetwork controller in a partitioned traditional domain network, it must be set with a terminal configuration that has a minimum of two terminals, with one configured as upstream.
See the following topics for more information:
- 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:
- 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.
- 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:
- 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 and subnetwork tap in traditional domain networks, and unit identifier and splitter in telecom domain networks—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 in a traditional domain network. In a telecom domain network, the unit container network category must be assigned to container features to support connectivity inference in a path trace or to manage unit identifiers on unit identifiable objects.
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:
- 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 which 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.
- Configure additional domain network properties.
Depending on whether you are working with a traditional domain network, telecom domain network, or both, there are additional components and properties that can be configured for each domain network type:
- For traditional domain networks, add tiers and set the subnetwork definition.
You can add one or more tiers to a traditional 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. Before creating the tier, you must configure the Device feature class. 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, you must define properties 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:
- For telecom domain networks, set the circuit properties. Default properties are assigned to control how circuits are managed when a telecom domain network is created. You can modify these and configure additional properties to control how circuits are verified, imported, and traced using the Set Circuit Properties tool.
- For traditional domain networks, add tiers and set the subnetwork definition.
Load data and enable the network topology
After the configuration steps are complete, the following additional steps must 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.
Caution:
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 and tables. This add field process can only be completed if the network feature classes and tables are empty.
- Import network associations
- Import subnetwork controllers
- Append features to network classes using the Append tool. It is important to use the Preserve Global IDs environment setting when appending network features.
- Register as branch versioned (enterprise geodatabases).
- Before 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 Only generate errors checked. 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.
Additional tools to assist configuration of the utility network
In addition to the various tools found in the Administration toolset of the Utility Network Tools toolbox and Network Diagram Tools toolbox, the Data Management Tools toolbox includes a subset of tools outlined in the table below that can be used to configure the utility network. Review the help topic for each tool learn more.
Data Management tools | Description |
---|---|
Add Attribute Rule | Add an attribute rule to a dataset. |
Add Coded Value to Domain | Populates a coded value attribute domain with the code and description pairs. The code and description pairs represent acceptable values for the field the domain is assigned to. |
Add Field | Adds additional attribute fields to the feature classes in a domain network. |
Add Subtype | Creates additional subtype values to represent different assets for a feature class. In utility network feature classes, the default field specified for subtypes to be created is the ASSETGROUP field. |
Assign Default to Field | Creates a default value for a specified field when new rows are added to a class with the option to add subtypes to participate in the default value setting. An example of configuring default values for fields at the subtype level for the utility network; the ASSETGROUP is set for the subtype field when utility network feature classes are configured. Attribute domains for the ASSETTYPE field can be set as the default at the subtype level. |
Assign Domain to Field | Assigns an attribute domain to a specified field with the option to assign to a field by subtype. |
Create Domain | Establishes new attribute domains in the geodatabase where the utility network resides. Depending on the type of attribute domain created, this tool will be followed by the Add Coded Value to Domain or Set Value For Range Domain tool. |
Register as Versioned | Enables versioning on the dataset for multiuser editing. This is one of the last steps performed against the utility network feature dataset before enabling the network topology. |
Set Value for Range Domain | Sets the minimum and maximum values for an existing range domain. |
Update Geodatabase Connection Properties to Branch | Updates a database connection to branch versioning. This ensures branch versioning is used for the versioning type when registering datasets as versioned. |