Summary
Adds a terminal configuration to an existing utility network.
Features with terminals require constraints that define the valid configuration of the internal connectivity of the device or junction object. This tool allows you to add a new terminal configuration to a utility network that can be later assigned to a class at the asset group or asset type level using the Set Terminal Configuration tool.
Usage
Terminals are configured on a device or junction object by assigning a terminal configuration. Only one terminal configuration can be assigned to each of the asset types that support terminals.
The terminals on a feature have a directionality setting. They can be set as directional (only one flow direction is permissible) or bidirectional (both flow directions are permissible).
A minimum of two and a maximum of eight terminals must be specified. The terminal name should be a meaningful description such as high-side or source-side.
For features with three or four terminals, you can define valid configurations. This is designed to handle complex switching devices when you need to constrain the flow paths between pairs of terminals. For example, in a four-terminal device with terminals named A, B, C, and D, you may want to allow flow from A to B and C, but not from A to D.
The network topology must be disabled.
When working with an enterprise geodatabase the following are requirements:
- This tool must be connected to the default version when executed.
- The Input Utility Network parameter value must be from a database connection established as the database utility network owner.
- The connected ArcGIS Enterprise portal account must be the portal utility network owner.
Syntax
arcpy.un.AddTerminalConfiguration(in_utility_network, terminal_configuration_name, traversability_model, {terminals_directional}, {terminals_bidirectional}, {valid_paths}, {default_path})
Parameter | Explanation | Data Type |
in_utility_network | The input utility network to which the terminal configuration will be added. | Utility Network; Utility Network Layer |
terminal_configuration_name | The name of the terminal configuration. | String |
traversability_model | Specifies the directionality of the terminal configuration. A directional traversability model means the flow for the terminal will only go in one direction. A bidirectional traversability model means the terminal allows flow in both directions.
| String |
terminals_directional [[name, upstream],...] (Optional) | The name and directional flow of each directional terminal. A minimum of two terminals must be specified, up to a maximum of eight. The name of each terminal cannot exceed 32 characters. This parameter is required if the traversability_model parameter value is DIRECTIONAL.
| Value Table |
terminals_bidirectional [[name],...] (Optional) | The name of each bidirectional terminal. A minimum of two terminals must be specified, up to a maximum of eight. The name of each terminal cannot exceed 32 characters. This parameter is required if the Directionality parameter value is Bidirectional (traversability_model = "BIDIRECTIONAL" in Python). | Value Table |
valid_paths [[Name, [Value]],...] (Optional) | The name or names and valid path or paths for the terminal configuration. For bidirectional traversability, this parameter is required if you have three or more terminals. If you are using directional traversability, one of the terminals must be upstream to have valid configurations. Valid paths must be set to indicate which path or paths in a device or junction object are valid for a resource to travel through. Provide a name for each valid path and specify a value.
| Value Table |
default_path (Optional) | The default path of the valid configurations. This will be assigned to new features that have this terminal configuration assigned to their asset type. If no valid configurations have been specified, the default configuration ALL will be used.
| String |
Derived Output
Name | Explanation | Data Type |
out_utility_network | The updated utility network. | Utility Network |
Code sample
Add a terminal configuration that is bidirectional with three terminals.
import arcpy
arcpy.AddTerminalConfiguration_un('Electric Utility Network', 'config1',
'BIDIRECTIONAL', None, 'A;B;C',
'Top A-B;Bottom A-C', 'Top')
Add a terminal configuration that is directional with three terminals.
import arcpy
arcpy.AddTerminalConfiguration_un('Electric Utility Network', 'config2',
'DIRECTIONAL', 'A true;B true;C false', None,
'Top A-B;Bottom A-C', 'Bottom')
Add a terminal configuration that is directional with three terminals. Valid paths are specified using a collection of terminal pairs.
import arcpy
arcpy.AddTerminalConfiguration_un('Electric Utility Network', 'config3',
'DIRECTIONAL', 'A true;B false;C false', None,
"AB A-B;ABAC 'A-B;A-C'", 'AB')
Environments
Licensing information
- Basic: No
- Standard: Yes
- Advanced: Yes