Свойства инженерной сети

Краткая информация

Функция Describe возвращает следующие свойства инженерной сети.

Инженерная сеть возвращает dataType "Utility Network".

Более подробно об инженерной сети

Свойства

СвойствоОписаниеТип данных
associationSource
(только чтение)

Объект associationSource. Объект может использоваться для получения свойств источников соединений.

Object
categories
(только чтение)

Объект categories. Объект может использоваться для получения свойств категорий инженерной сети.

Object
createDirtyAreaForAnyAttributeUpdate
(только чтение)

Создаются ли измененные области в случае обновлении атрибутов при включенной топологии сети.

  • True - измененные области создаются при изменении атрибутов.
  • False - измененные области не создаются при изменении атрибутов.

Boolean
creationTime
(только чтение)

Дата и время создания инженерной сети.

DateTime
domainNetworks
(только чтение)

Объект domainNetworks. Объект может использоваться для получения свойств специализированных сетей.

Object
globalID
(только чтение)

Global ID инженерной сети.

String
minimalDirtyAreaSize
(только чтение)

Минимальный размер измененных областей топологии сети.

Integer
networkAttributes
(только чтение)

Объект networkAttributes. Объект может использоваться для получения свойств атрибутов сети.

Object
proVersion
(только чтение)

Версия ArcGIS Pro, используемая для построения инженерной сети.

String
schemaGeneration
(только чтение)

Значение создания схемы для входной инженерной сети.

Integer
serviceTerritoryFeatureClassName
(только чтение)

Название полигонального класса объектов, использующегося для задания экстента инженерной сети.

String
systemJunctionObjectSource
(только чтение)

Объект systemJunctionObjectSource. Объект может использоваться для получения свойств источников объектов системных соединений.

Object
systemJunctionSource
(только чтение)

Объект systemJunctionSource. Объект может использоваться для получения свойств источников системных соединений.

Object
terminalConfigurations
(только чтение)

Объект terminalConfigurations. Объект может использоваться для получения свойств конфигурации терминалов.

Object

Пример кода

Пример свойств инженерной сети (автономный скрипт)

Этот автономный скрипт Python выводит отчет о некоторых свойствах инженерной сети.

'''****************************************************************************
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)

# Top level UN properties
print(f"Creation Time: {d.creationTime}")
print(f"Pro Version: {d.proVersion}")
print(f"Global ID: {d.globalId}")
print(f"Properties: {d.properties}")
print(f"Schema generation: {d.schemaGeneration}")
print(f"Minimal dirty area size: {d.minimalDirtyAreaSize}")
print(f"Create Dirty Area For Any Attribute Update: {d.createDirtyAreaForAnyAttributeUpdate} \n")

# Association source properties
asources = d.associationSource
print("*** - Association Sources properties - ***")
print(f"Name: {asources.name}")
print(f"ID: {asources.sourceID}")
print(f"Type: {asources.sourceType} \n")

# System junction object source properties
sjosources = d.systemJunctionObjectSource
print("*** - System Junction Object Source properties - ***")
print(f"ID: {sjosources.sourceID}")

# System junction source properties
sjsources = d.systemJunctionSource
print("*** - System Junction Source properties - ***")
print(f"Name: {sjsources.name}")
print(f"ID: {sjsources.sourceID}")
print(f"Type: {sjsources.sourceType} \n")

# Domain Network properties
domnets = d.domainNetworks
for dom in domnets:
    print("*** - Domain Network properties - ***")
    print(f"Creation Time: {dom.creationTime}")
    print(f"Release Number: {dom.releaseNumber}")
    print(f"Is Structure Network: {dom.isStructureNetwork}")
    print(f"Domain Network ID: {dom.domainNetworkId}")
    print(f"Domain Network Name: {dom.domainNetworkName}")
    print(f"Domain Network Alias Name: {dom.domainNetworkAliasName}")
    print(f"Subnetwork Table Name: {dom.subnetworkTableName}")
    print(f"Subnetwork Label Field Name: {dom.subnetworkLabelFieldName}")
    print(f"Tier Definition: {dom.tierDefinition}")
    print(f"Subnetwork Controller Type: {dom.subnetworkControllerType} \n")

# Network Attribute properties
netattrs = d.networkAttributes
for na in netattrs:
    print("*** - Network Attribute properties - ***")
    print(f"ID: {na.Id}")
    print(f"Name: {na.name}")
    print(f"Network Attribute To Substitute: {na.networkAttributeToSubstitute}")
    print(f"Data Type: {na.dataType}")
    print(f"Field Type: {na.fieldType}")
    print(f"Usage Type: {na.usageType}")
    print(f"isEmbedded: {na.isEmbedded}")
    print(f"isApportionable: {na.isApportionable}")
    print(f"isOverridable: {na.isOverridable}")
    print(f"isSubstitution: {na.isSubstitution}")
    print(f"Domain name: {na.domainName}")
    print(f"bitPosition: {na.bitPosition}")
    print(f"bitSize: {na.bitSize}")
    print(f"Junction Weight ID: {na.junctionWeightId}")
    print(f"Edge Weight ID: {na.edgeWeightId} \n")

    # For each attribute assignment in the attribute assignments object:
    try:
        unas = na.assignments
        for una in unas:
            print(" -- Attribute Assignment Properties -- ")
            print(f"Utility Network Assignment Attribute ID: {una.networkAttributeId}")
            print(f"Utility Network Assignment Attribute Source Name: {una.networkSourceName} \n")
            # For each field evaluator in the attribute evaluator object:
            print(" - Field Evaluator Properties - ")
            fe = una.evaluator
            print(f"Field Evaluator Type: {fe.evaluatorType}")
            print(f"Field Evaluator Name: {fe.fieldName} \n")
    except:
        print(f"{na.name} does not have any attribute assignments \n")

# 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.validConfigurationPaths:
            print(" - Configuration Properties - ")
            print(f"Configuration Id: {lc.terminalConfigurationID}")
            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")

# Categories properties
categories = d.categories
for cat in categories:
    print("*** - Categories properties - ***")
    print(f"Category creation time: {cat.creationTime}")
    print(f"Category Name: {cat.name} \n")