Краткая информация
Свойства, описанные ниже, возвращает объект tiers, при использовании Describe в инженерной сети.
Свойства
Свойство | Описание | Тип данных |
aggregatedLinesForSubnetLine (только чтение) | Объект aggregatedLinesForSubnetLine может использоваться для получения свойств агрегированных линий для класса SubnetLine. | Object |
creationTime (только чтение) | Время создания этого уровня. | String |
diagramTemplates (только чтение) | Список шаблонов схемы, используемых уровнем. | String |
name (только чтение) | Имя уровня. | String |
rank (только чтение) | Значение ранга уровня. | Integer |
subnetworkFieldName (только чтение) | Имя поля подсети. | String |
supportDisjointSubnetwork (только чтение) | Определяет, поддерживает ли уровень непересекающиеся подсети.
| Boolean |
tierGroupName (только чтение) | Если в сети есть определение иерархических уровней, это имя группы уровней, к которой уровень относится. | String |
tierID (только чтение) | ID уровня. | Integer |
tierTopology (только чтение) | Тип топологии уровня, например, радиальная или ячеистая топология. | String |
updateSubnetworkEditModeForDefaultVersion (только чтение) | Режим редактирования обновлений подсети в версии по умолчанию. | String |
updateSubnetworkEditModeForNamedVersion (только чтение) | Режим редактирования обновлений подсети в именованной версии. | String |
updateSubnetworkOnContainers (только чтение) | Возвращает, будет ли процесс обновления подсети обновлять поддерживаемое имя подсети для контейнеров специализированной сети.
| Boolean |
updateSubnetworkOnStructures (только чтение) | Возвращает, будет ли процесс обновления подсети обновлять атрибут поддерживаемого имени подсети для контейнеров структурной сети.
| 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")
# 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")