Terminal Configuration properties

Summary

The properties below are returned by the terminalConfigurations object when using Describe on a utility network.

Properties

PropertyExplanationData Type
creationTime
(Read Only)

The creation time of the terminal configuration.

String
defaultConfiguration
(Read Only)

Of the valid terminal configurations available, this is the default path terminal configuration.

String
terminalConfigurationID
(Read Only)

The ID of the terminal configuration.

Integer
terminalConfigurationName
(Read Only)

The name of the terminal configuration.

String
terminals
(Read Only)

The terminals object. This object can be used to retrieve properties of the terminals.

Object
traversabilityModel
(Read Only)

The traversability of the terminal configuration. The directionality can be either directional or bidirectional.

String
validConfigurations
(Read Only)

The validConfigurations object. This object can be used to retrieve properties of the valid terminal configurations.

Object

Code sample

Utility network terminal configuration properties example (stand-alone script)

This stand-alone Python script prints a report of some utility network properties.

'''****************************************************************************
Name:        DescribeUtilityNetworkProperties.py
Description: This script reports the properties of a utility network
Created by:  Esri
****************************************************************************'''

# Import required modules
import arcpy

# Describe function on a Utility Network
UN = "C:\\MyProject\\databaseConn.sde\\mygdb.USER1.Naperville\\mygdb.USER1.ElectricNetwork"
d = arcpy.Describe(UN)

# Terminal Configuration properties
termconfigs = d.terminalConfigurations
for tc in termconfigs:
    print("*** - Terminal Configuration Properties - ***")
    print(f"ID: {tc.terminalConfigurationId}")
    print(f"Name: {tc.terminalConfigurationName}")
    print(f"Traversability Model: {tc.traversabilityModel}")
    print(f"Default Configuration: {tc.defaultConfiguration} \n")

    # For each terminal in the terminals object:
    for t in tc.terminals:
        print(" -- Terminal Properties -- ")
        print(f"Terminal ID: {t.terminalId}")
        print(f"Terminal Name: {t.terminalName}")
        print(f"Terminal Is Upstream: {t.isUpstreamTerminal} \n")

    # For each configuration in the valid configurations object:
    try:
        for lc in tc.validConfigurations:
            print(" - Configuration Properties - ")
            print(f"Configuration Id: {lc.id}")
            print(f"Configuration Name: {lc.name}")
            print(f"Description: {lc.description} \n")
            try:
                for tp in lc.terminalPaths:
                    print(f"From terminal id: {tp.fromTerminalId}")
                    print(f"To terminal id: {tp.toTerminalId}")
            except:
                print(f"{lc.name} does not have any terminal paths \n")
    except:
        print(f"{t.terminalName} does not have any valid configurations \n")