Skip to main content

Свойства уровня

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

Свойства, описанные ниже, возвращает объект tiers, при использовании Describe в инженерной сети.

Более подробно об уровнях в инженерной сети

Свойства

Свойство Объяснение Тип данных

aggregatedLinesForSubnetLine

(Только для чтения)

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

Object

creationTime

(Только для чтения)

Время создания этого уровня.

String

diagramTemplates

(Только для чтения)

Список шаблонов схемы, используемых уровнем.

String

manageSubnetwork

(Только для чтения)

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

Object

name

(Только для чтения)

Имя уровня.

String

rank

(Только для чтения)

Значение ранга уровня.

Integer

subnetworkFieldName

(Только для чтения)

Имя поля подсети.

String

supportDisjointSubnetwork

(Только для чтения)

Определяет, поддерживает ли уровень непересекающиеся подсети.

  • True - уровень поддерживает непересекающиеся подсети.

  • False - уровень не поддерживает непересекающиеся подсети.

Boolean

tierGroupName

(Только для чтения)

Если в сети есть определение иерархических уровней, это имя группы уровней, к которой уровень относится.

String

tierID

(Только для чтения)

ID уровня.

Integer

tierTopology

(Только для чтения)

Тип топологии уровня, например, радиальная или ячеистая топология.

String

updateSubnetworkEditModeForDefaultVersion

(Только для чтения)

Режим редактирования обновлений подсети в версии по умолчанию.

String

updateSubnetworkEditModeForNamedVersion

(Только для чтения)

Режим редактирования обновлений подсети в именованной версии.

String

updateSubnetworkOnContainers

(Только для чтения)

Возвращает, будет ли процесс обновления подсети обновлять поддерживаемое имя подсети для контейнеров специализированной сети.

  • True - Контейнеры специализированной сети будут обновлены.

  • False - Контейнеры специализированной сети не будут обновлены.

Boolean

updateSubnetworkOnStructures

(Только для чтения)

Возвращает, будет ли процесс обновления подсети обновлять атрибут поддерживаемого имени подсети для контейнеров структурной сети.

  • True - Контейнеры структурной сети будут обновлены.

  • False - Контейнеры структурной сети не будут обновлены.

Boolean

updateSubnetworkTraceConfiguration

(Только для чтения)

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

Object

validDevices

(Только для чтения)

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

Object

validEdgeObjects

(Только для чтения)

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

Object

validJunctions

(Только для чтения)

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

Object

validJunctionObjects

(Только для чтения)

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

Object

validJunctionObjectSubnetworkControllers

(Только для чтения)

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

Object

validLines

(Только для чтения)

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

Object

validSubnetworkControllers

(Только для чтения)

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

Object

Пример кода

Свойства уровня, пример (автономный скрипт)

Этот автономный скрипт Python возвращает отчет о свойствах, возвращаемых объектом tiers.

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

# Import required modules
import arcpy

# Describe functions on a Utility Network
UN = "C:\\Projects\\MyProject\\unowner.sde\\Naperville.UNOWNER.Naperville\\Naperville.UNOWNER.Naperville"
d = arcpy.Describe(UN)

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

    for tier in dom.tiers:
        print(f"Tier Name: {tier.name}")
        print(f"Rank: {tier.rank}")
        print(f"Tier topology type: {tier.tierTopology}")
        print(f"Tier group name: {tier.tierGroupName} \n")
        print(f"Subnetwork field name: {tier.subnetworkFieldName}")
        print(f"Supports disjoint subnetwork: {tier.supportDisjointSubnetwork}")
        print(f"Update Subnetwork Edit Mode For Default Version: {tier.updateSubnetworkEditModeForDefaultVersion}")
        print(f"Update Subnetwork Edit Mode For Named Version: {tier.updateSubnetworkEditModeForNamedVersion}")
        print(f"Update Subnetwork On Structures: {tier.updateSubnetworkOnStructures}")
        print(f"Update Subnetwork On Containers: {tier.updateSubnetworkOnContainers}")
        print(f"Diagram templates: {tier.diagramTemplates} \n")
        print(f"Manage IsDirty: {tier.ManageSubnetwork.isDirty} \n")

        # Subnetwork Controller Properties
        for sc in tier.validSubnetworkControllers:
            print(" -- Subnetwork Controllers Properties -- ")
            print(f"Asset Group Code: {sc.assetGroupCode} \n")
            print(" - Asset Type Properties - ")
            for at in sc.assetTypes:
                print(f"Asset Type Code: {at.assetTypeCode} \n")

        # Valid Device Properties
        for vd in tier.validDevices:
            print(" -- Valid Devices Properties -- ")
            print(f"Asset Group Code: {vd.assetGroupCode} \n")
            print(" - Asset Type Properties - ")
            for at in vd.assetTypes:
                print(f"Asset Type Code: {at.assetTypeCode} \n")

        # Valid Lines Properties
        for vl in tier.validLines:
            print(" -- Valid Lines Properties -- ")
            print(f"Asset Group Code: {vl.assetGroupCode} \n")
            print(" - Asset Type Properties - ")
            for at in vl.assetTypes:
                print(f"Asset Type Code: {at.assetTypeCode}")

        # Valid Junctions Properties
        for vj in tier.validJunctions:
            print(" -- Valid Junctions Properties -- ")
            print(f"Asset Group Code: {vj.assetGroupCode} \n")
            print(" - Asset Type Properties - ")
            for at in vj.assetTypes:
                print(f"Asset Type Code: {at.assetTypeCode}")

        # Valid Junction Objects Properties
        for vjo in tier.validJunctionObjects:
            print(" -- Valid JunctionObjects Properties -- ")
            print(f"Asset Group Code: {vjo.assetGroupCode} \n")
            print(" - Asset Type Properties - ")
            for at in vjo.assetTypes:
                print(f"Asset Type Code: {at.assetTypeCode}")

        # Valid Junction Objects Subnetwork Controller Properties
        for vjosc in tier.validJunctionObjectSubnetworkControllers:
            print(" -- Valid Junction Object Subnetwork Controllers Properties -- ")
            print(f"Asset Group Code: {vjosc.assetGroupCode} \n")
            print(" - Asset Type Properties - ")
            for at in vjosc.assetTypes:
                print(f"Asset Type Code: {at.assetTypeCode} \n")

        # Valid Edge Objects Properties
        for veo in tier.validEdgeObjects:
            print(" -- Valid EdgeObjects Properties -- ")
            print(f"Asset Group Code: {veo.assetGroupCode} \n")
            print(" - Asset Type Properties - ")
            for at in veo.assetTypes:
                print(f"Asset Type Code: {at.assetTypeCode}")

        # Aggregated Lines for SubnetLine Properties
        for al in tier.aggregatedLinesForSubnetLine:
            print(" -- Aggregated Lines for SubnetLine Properties -- ")
            print(f"Asset Group Code: {al.assetGroupCode} \n")
            print(" - Asset Type Properties - ")
            for at in al.assetTypes:
                print(f"Asset Type Code: {at.assetTypeCode} \n")

        # Update Subnetwork Trace Configuration Properties
        print(" -- Update Subnetwork Trace Properties -- ")
        ust = tier.updateSubnetworkTraceConfiguration
        print(f"Include Containers: {ust.includeContainers}")
        print(f"Include Content: {ust.includeContent}")
        print(f"Include Structures: {ust.includeStructures}")
        print(f"Include Barriers: {ust.includeBarriers}")
        print(f"Validate Consistency: {ust.validateConsistency}")
        print(f"Validate Locatability: {ust.validateLocatability}")
        print(f"Include Isolated: {ust.includeIsolated}")
        print(f"Ignore Barriers at Starting Points: {ust.ignoreBarriersAtStartingPoints}")
        print(f"Include Up To First Spatial Container: {ust.includeUpToFirstSpatialContainer}")
        print(f"Allow Indeterminate Flow: {ust.allowIndeterminateFlow}")
        print(f"Domain Network Name: {ust.domainNetworkName}")
        print(f"Tier Name: {ust.tierName}")
        print(f"Target Tier Name: {ust.targetTierName}")
        print(f"Subnetwork Name: {ust.subnetworkName}")
        print(f"Diagram Template Name: {ust.diagramTemplateName}")
        print(f"Shortest Path Network Attribute Name: {ust.shortestPathNetworkAttributeName}")
        print(f"Filter Bitset Network Attribute Name: {ust.filterBitsetNetworkAttributeName}")
        print(f"Traversability Scope: {ust.traversabilityScope}")
        print(f"Filter Scope: {ust.filterScope} \n")

        # Condition Barrier Properties
        print(" - Condition Barrier Properties - ")
        for cb in ust.conditionBarriers:
            try:
                print(f"Name: {cb.name} ")
                print(f"Type: {cb.type} ")
                print(f"Operator: {cb.operator} ")
                print(f"Value: {cb.value} ")
                print(f"CombineUsingOr: {cb.combineUsingOr}")
                print(f"Is Specific Value: {cb.isSpecificValue} \n")
            except:
                print("Skipped condition barrier properties. \n")

        # Function Barrier Properties
        print(" - Function Barrier Properties - ")
        for fb in ust.functionBarriers:
            try:
                print(f"Name: {fb.networkAttributeName}")
                print(f"Type: {fb.functionType}")
                print(f"Operator: {fb.networkAttributeOperator}")
                print(f"Value: {fb.value} ")
                print(f"Use Local Values: {fb.useLocalValues} \n")
            except:
                print("Skipped function barrier properties. \n")

        # Filter Barrier Properties
        print(" - Filter Barrier Properties - ")
        for filb in ust.filterBarriers:
            try:
                print(f"Name: {filb.name}")
                print(f"Type: {filb.type}")
                print(f"Operator: {filb.operator}")
                print(f"Value: {filb.value}")
                print(f"CombineUsingOr: {filb.combineUsingOr}")
                print(f"Is Specific Value: {filb.isSpecificValue} \n")
            except:
                print("Skipped filter barrier properties. \n")

        # Filter Function Barrier Properties
        print(" - Filter Function Barrier Properties - ")
        for ffb in ust.filterFunctionBarriers:
            try:
                print(f"Name: {ffb.networkAttributeName}")
                print(f"Type: {ffb.functionType}")
                print(f"Operator: {ffb.networkAttributeOperator}")
                print(f"Value: {ffb.value}")
                print(f"Use Local Values: {ffb.useLocalValues} \n")
            except:
                print("Skipped filter function properties. \n")

        # Functions Properties
        print(" - Functions Properties - ")
        for f in ust.functions:
            # Try to get these properties if the exist, else, print the empty list
            try:
                print(f"Function Type: {f.functionType}")
                print(f"Function Network Attribute Name: {f.networkAttributeName}")
                print(f"Function Summary Attribute Name: {f.summaryAttributeName} \n")
                # Function Conditions
                print(" - Function Conditions - ")
                for fc in f.conditions:
                    print(f"Name: {fc.name}")
                    print(f"Type: {fc.type}")
                    print(f"Operator: {fc.operator}")
                    print(f"Value: {fc.value}")
                    print(f"CombineUsingOr: {fc.combineUsingOr}")
                    print(f"Is Specific Value: {fc.isSpecificValue} \n")
            except:
                print("Skipped functions properties. \n")

        # Nearest Neighbor Properties
        print(" - Nearest Neighbor Properties - ")
        nn = ust.nearestNeighbor
        # Try to get these properties if the exist, else, print the empty list
        try:
            print(f"Count: {nn.count}")
            print(f"Cost Network Attribute Name: {nn.costNetworkAttributeName}")
            print(f"Nearest Categories: {nn.nearestCategories} \n")
            print(f" - Nearest Asset Properties - ")
            for nsta in nn.nearestAssets:
                try:
                    print(f"Network Source ID: {nsta.networkSourceID}")
                    print(f"Asset Group Code: {nsta.assetGroupCode}")
                    print(f"Asset Type Code: {nsta.assetTypeCode} \n")
                except:
                    print("Skipped nearest assets properties. \n")
        except:
            print("Skipped nearest neighbor properties. \n")

        # Output Filter Properties
        print(" - Output Filter Properties - ")
        for ofp in ust.outputFilters:
            # Try to get these properties if the exist, else, print the empty list
            try:
                for of in ofp:
                    print(f"Network Source ID: {of.networkSourceID}")
                    print(f"Asset Group Code: {of.assetGroupCode}")
                    print(f"Asset Type Code: {of.assetTypeCode} \n")
            except:
                print("Skipped output filter properties. \n")

        # Output Condition Properties
        print(" - Output Condition Properties - ")
        for oc in ust.outputConditions:
            # Try to get these properties if the exist, else, print the empty list
            try:
                print(f"Name: {oc.name}")
                print(f"Type: {oc.type}")
                print(f"Operator: {oc.operator}")
                print(f"Value: {oc.value}")
                print(f"CombineUsingOr: {oc.combineUsingOr}")
                print(f"Is Specific Value: {oc.isSpecificValue} \n")
            except:
                print("Skipped output condition properties. \n")

        # Propagators Properties
        print(" - Propagator Properties - ")
        for p in ust.propagators:
            # Try to get these properties if the exist, else, print the empty list
            try:
                print(f"Network Attribute Name: {p.networkAttributeName}")
                print(f"Trace Propagator Function Type: {p.tracePropagatorFunctionType}")
                print(f"Network Attribute Filter Operator: {p.networkAttributeOperator}")
                print(f"Network Attribute Value: {p.value}")
                print(f"Propagated Attribute Name: {p.propagatedAttributeName}")
                print(f"Substitution Attribute Name: {p.substitutionAttributeName}")
            except:
                print("Skipped propagator properties. \n")