设置子网定义 (公共设施网络)

描述

用于为公共设施网络中的子网设置域网络层的属性。

可通过定义设备、线、交汇点、边对象和交汇点对象类中的有效资产类型来限制参与层的要素类型。定义有效资产类型有助于通过限制可以参与特定层的子网的要素类型来强制实现数据的正确性。

配置参数将用于设置属性以指定在子网上执行追踪操作的时间。

了解有关设置子网定义的详细信息

了解有关子网管理的详细信息

了解有关追踪公共设施网络的详细信息

使用方法

  • 您还可以通过此工具设置和更改层的子网定义。要更改层的子网定义的值,请修改参数值并再次执行此工具。

  • 必须禁用网络拓扑。

  • 使用企业级地理数据库时,必须满足以下要求:

语法

arcpy.un.SetSubnetworkDefinition(in_utility_network, domain_network, tier_name, support_disjoint_subnetwork, {valid_devices}, {valid_subnetwork_controller}, {valid_lines}, {aggregated_line}, {diagram_template}, {summaries}, {condition_barriers}, {function_barriers}, {include_barriers}, {traversability_scope}, {propagators}, {update_structure_features}, {update_container_features}, {edit_mode_for_default_version}, {edit_mode_for_named_version}, {valid_junctions}, {valid_junction_objects}, {valid_junction_object_subnetwork_controller}, {valid_edge_objects}, {manage_subnetwork_isdirty}, {include_containers}, {include_content}, {include_structures}, {validate_locatability})
参数说明数据类型
in_utility_network

包含层的子网的输入公共设施网络。

Utility Network; Utility Network Layer
domain_network

包含层的域网络。

String
tier_name

包含子网的层的名称。

String
support_disjoint_subnetwork

指定输入图层是否支持不相交子网。不相交子网是属于同一个层的两个或多个子网,具有相同的子网名称,但不可遍历。此选项仅适用于具有分区层定义的域网络内的层。具有等级层定义的域网络中的层始终将此层属性设置为 SUPPORT_DISJOINT 以支持不相交的子网。

  • SUPPORT_DISJOINT 输入层支持不相交子网。
  • NO_DISJOINT输入层不支持不相交子网。这是默认设置。
Boolean
valid_devices
[valid_devices,...]
(可选)

将被标识为子网有效设备的资产组/资产类型对。

String
valid_subnetwork_controller
[valid_subnetwork_controller,...]
(可选)

在子网中标识为有效设备子网控制器的资产组/资产类型对。

String
valid_lines
[valid_lines,...]
(可选)

将被标识为子网有效线的资产组/资产类型对。

String
aggregated_line
[aggregated_line,...]
(可选)

所含几何将聚合以生成 SubnetLine 要素的有效线。此列表为 valid_lines 参数中所指定的值的子集。

String
diagram_template
[diagram_template,...]
(可选)

将用于为各个子网生成子网逻辑示意图的模板。

String
summaries
[[Function, Attribute, Filter Name, Filter Operator, Filter Type, Filter Value, Summary Attribute],...]
(可选)

用于设置汇总字段以在插入或更新 SubnetLine 要素时存储函数结果。

汇总组件如下:

  • Function - 从大量计算函数中进行选择。
  • Attribute - 选择按系统中定义的任何网络属性进行过滤。
  • Filter Name - 按属性名称过滤函数结果。
  • Filter Operator - 从大量运算符中进行选择。
  • Filter Type - 从大量的过滤类型中进行选择。
  • Filter Value - 提供输入过滤属性的特定值。
  • Summary Attribute - SubnetLine 要素类中将保留函数结果的字段。根据所选的函数和网络属性类型,只有用户添加的适用子网属性类型才对此参数有效。如果 SubnetLine 要素类中不存在用于存储汇总结果的字段,则可以使用添加字段工具进行创建。一个字段仅可支持一个汇总结果;因此每个汇总都需要在 SubnetLine 要素类中具有自己的字段。请参阅下列有关各种函数的有效字段类型矩阵:基于所选函数的汇总属性字段的有效字段类型矩阵

汇总 Function 值选项如下:

  • AVERAGE输入值的平均值。
  • COUNT要素数目。
  • MAX输入值的最大值。
  • MIN输入值的最小值。
  • ADD输入值的总和。
  • SUBTRACT输入值的差值。子网控制器和循环追踪类型不支持减法函数。

汇总 Filter Operator 值选项如下:

  • IS_EQUAL_TO该属性等于该值。
  • DOES_NOT_EQUAL该属性不等于该值。
  • IS_GREATER_THAN该属性大于该值。
  • IS_GREATER_THAN_OR_EQUAL_TO该属性大于或等于该值。
  • IS_LESS_THAN该属性小于该值。
  • IS_LESS_THAN_OR_EQUAL_TO该属性小于或等于该值。
  • INCLUDES_THE_VALUES按位与运算,其中值中的所有位都存在于属性中(按位与 == 值)。
  • DOES_NOT_INCLUDE_THE_VALUES按位与运算,其中并非值中的所有位都存在于属性中(按位与 != 值)。
  • INCLUDES_ANY按位与运算,其中值中的至少一个位存在于属性中(按位与 == True)。
  • DOES_NOT_INCLUDE_ANY按位与运算,其中值中的所有位均不存在于属性中(按位与 == False)。

汇总 Filter Type 值选项如下:

  • SPECIFIC_VALUE按特定值过滤。
  • NETWORK_ATTRIBUTE按网络属性过滤。

了解有关按位运算符的详细信息

Value Table
condition_barriers
[[Name, Operator, Type, Value, Combine Using],...]
(可选)

基于与网络属性的比较或对类别字符串的检查,对要素设置可遍历性障碍条件。条件障碍使用网络属性、运算符和类型以及属性值。例如,当要素的 Device Status 属性等于 Open 的特定值时,将停止追踪。当要素满足此条件时,追踪将停止。如果您要使用多个属性,可使用 Combine Using 参数来定义 And 或 Or 条件。

条件障碍组件如下:

  • Name - 按系统中定义的任何网络属性进行过滤。
  • Operator - 从大量运算符中进行选择。
  • Type - 从 name 参数指定的值中选择特定值或网络属性。
  • Value - 提供会基于运算符值导致终止的输入属性类型的特定值。
  • Combine Using - 如果要添加多个属性,则设置此值。您可以使用 And 或 Or 条件来对它们进行组合。

条件障碍 operator 值如下:

  • IS_EQUAL_TO该属性等于该值。
  • DOES_NOT_EQUAL该属性不等于该值。
  • IS_GREATER_THAN该属性大于该值。
  • IS_GREATER_THAN_OR_EQUAL_TO该属性大于或等于该值。
  • IS_LESS_THAN该属性小于该值。
  • IS_LESS_THAN_OR_EQUAL_TO该属性小于或等于该值。
  • INCLUDES_THE_VALUES按位与运算,其中值中的所有位都存在于属性中(按位与 == 值)。
  • DOES NOT INCLUDE_THE_VALUES按位与运算,其中并非值中的所有位都存在于属性中(按位与 != 值)。
  • INCLUDES_ANY按位与运算,其中值中的至少一个位存在于属性中(按位与 == True)。
  • DOES_NOT_INLCUDE_ANY按位与运算,其中值中的所有位均不存在于属性中(按位与 == False)。

了解有关按位运算符的详细信息

条件障碍 Type 值选项如下:

  • SPECIFIC_VALUE按特定值过滤。
  • NETWORK_ATTRIBUTE按网络属性过滤。

Combine Using 值如下:

  • AND合并条件障碍。
  • OR满足任一条件障碍时使用。

了解有关使用多条件表达式的详细信息

Value Table
function_barriers
[[Function, Attribute, Operator, Value, Use Local Values],...]
(可选)

基于函数对要素设置可遍历性障碍。函数障碍可用于执行以下操作:限制追踪距离起点的行程或设置停止追踪的最大值。例如,所经过的每条线的长度和为目前经过的总距离。当经过的总长度达到指定值时,追踪将停止。

函数障碍组件如下:

  • Function - 从大量计算函数中进行选择。
  • Attribute - 选择按系统中定义的任何网络属性进行过滤。
  • Operator - 从大量运算符中进行选择。
  • Value - 提供将导致终止的输入属性类型(若发现)的特定值。
  • Use Local Values - 计算每个方向的值,而不是整体全局值,例如计算形状长度总和的函数障碍,其中,如果值大于或等于 4,则追踪终止。在全局情况下,遍历两条值为 2 的边之后,形状长度总和即已达到 4,因此追踪会停止。如果使用局部值,每条路径上的局部值会变化,因此追踪会持续得更远。

函数障碍 function 值选项如下:

  • AVERAGE输入值的平均值。
  • COUNT要素数目。
  • MAX输入值的最大值。
  • MIN输入值的最小值。
  • ADD输入值的总和。
  • SUBTRACT输入值中的差值。子网控制器和循环追踪类型不支持减法函数。

函数障碍 operator 值选项如下:

  • IS_EQUAL_TO该属性等于该值。
  • DOES_NOT_EQUAL该属性不等于该值。
  • IS_GREATER_THAN该属性大于该值。
  • IS_GREATER_THAN_OR_EQUAL_TO该属性大于或等于该值。
  • IS_LESS_THAN该属性小于该值。
  • IS_LESS_THAN_OR_EQUAL_TO该属性小于或等于该值。
  • INCLUDES_THE_VALUES按位与运算,其中值中的所有位都存在于属性中(按位与 == 值)。
  • DOES_NOT_INCLUDE_THE_VALUES按位与运算,其中并非值中的所有位都存在于属性中(按位与 != 值)。
  • INCLUDES_ANY按位与运算,其中值中的至少一个位存在于属性中(按位与 == True)。
  • DOES_NOT_INCLUDE_ANY按位与运算,其中值中的所有位均不存在于属性中(按位与 == False)。

了解有关按位运算符的详细信息

函数障碍 Use Local Values 值选项如下:

  • TRUE使用局部值。
  • FALSE使用全局值。这是默认设置。
Value Table
include_barriers
(可选)

指定追踪结果中是否包含可遍历性障碍要素。即使已在子网定义中进行了预设,可遍历性障碍仍可选。

  • INCLUDE_BARRIERS追踪结果中将包含可遍历性障碍。这是默认设置。
  • EXCLUDE_BARRIERS追踪结果中将不会包含可遍历性障碍。
Boolean
traversability_scope
(可选)

要强制使用的可遍历性的类型。可遍历性范围指明是否在交汇点、边或这两处强制使用可遍历性。例如,如果定义了用于停止追踪的条件障碍,其中 Device Status 等于 Open 并将遍历范围仅设置为边,则即使追踪遇到开路设备,追踪也不会停止,因为 Device Status 仅适用于交汇点。换言之,此参数会为追踪指明是否要忽略交汇点和/或边。

  • BOTH_JUNCTIONS_AND_EDGES可遍历性将同时应用于交汇点和边。这是默认设置。
  • JUNCTIONS_ONLY可遍历性将仅应用于交汇点。
  • EDGES_ONLY可遍历性将仅应用于边。
String
propagators
[[Attribute, Substitution Attribute, Function, Operator, Value, Propagated Attribute],...]
(可选)

指定要传播的网络属性以及传播将在追踪过程中的发生方式。传播的类属性表示子网控制器上已传播至子网余下要素的关键值。例如,在配电模型中,您可传播相位值。

传播程序组件如下:

  • Attribute - 选择按系统中定义的任何网络属性进行过滤。
  • Substitution Attribute - 使用替换值而不是 bitset 网络属性值。替换是基于正在传播的网络属性中的位数进行编码的。替换是指同相位的某个位到另一个位的映射。例如对于相 AC 而言,可通过一个替换将位 A 映射到 B,将位 C 映射到 null。在该示例中,1010(相 AC)的替换是 0000-0010-0000-0000 (512)。该替换将捕捉映射,以通知您相 A 被映射到 B,且相 C 被映射到 null 而非相反(即相 A 未映射到 null,且相 C 未映射到 B)。
  • Function - 从大量计算函数中进行选择。
  • Operator - 从大量运算符中进行选择。
  • Value - 提供会基于运算符值导致终止的输入属性类型的特定值。
  • Propagated Attribute - 网络类中用于存储所计算传播值的字段的名称。字段类型应该与为 Attribute 值选择的网络属性的字段类型相同。

传播程序 function 值选项如下:

  • PROPAGATED_BITWISE_AND比较一个要素与下一个要素的值。
  • PROPAGATED_MIN获取最小值。
  • PROPAGATED_MAX获取最大值。

传播程序 operator 值选项如下:

  • IS_EQUAL_TO该属性等于该值。
  • DOES_NOT_EQUAL该属性不等于该值。
  • IS_GREATER_THAN该属性大于该值。
  • IS_GREATER_THAN_OR_EQUAL_TO该属性大于或等于该值。
  • IS_LESS_THAN该属性小于该值。
  • IS_LESS_THAN_OR_EQUAL_TO该属性小于或等于该值。
  • INCLUDES_THE_VALUES按位与运算,其中值中的所有位都存在于属性中(按位与 == 值)。
  • DOES_NOT_INCLUDE_THE_VALUES按位与运算,其中并非值中的所有位都存在于属性中(按位与 != 值)。
  • INCLUDES_ANY按位与运算,其中值中的至少一个位存在于属性中(按位与 == True)。
  • DOES_NOT_INCLUDE_ANY按位与运算,其中值中的所有位均不存在于属性中(按位与 == False)。

了解有关按位运算符的详细信息

注:

此参数仅可通过 Python 获得。

Value Table
update_structure_features
(可选)

指定更新子网进程是否将更新结构网络容器的受支持子网名称属性。

  • UPDATE将对结构网络容器进行更新。这是默认设置。
  • NOT_UPDATE不会对结构网络容器进行更新。
注:

此参数需要公共设施网络版本 4 或更高版本。

Boolean
update_container_features
(可选)

指定更新子网进程是否将更新域网络容器的受支持子网名称

  • UPDATE将更新域网络容器。这是默认设置。
  • NOT_UPDATE不会更新域网络容器。
注:

此参数需要公共设施网络版本 4 或更高版本。

Boolean
edit_mode_for_default_version
(可选)

指定默认版本上和具有文件地理数据库的子网更新的编辑模式。

  • WITHOUT_EVENTING事件将不会用于默认版本和文件地理数据库中的子网更新。此编辑模式会将子网名称和传播值更新到位。这是默认设置。
  • WITH_EVENTING事件将用于默认版本和文件地理数据库中的子网更新。当子网更新时,此编辑模式将执行地理数据库行为(例如,属性规则、编辑者追踪等),并为所有适用的要素和对象更新子网名称和传播值。
注:

此参数需要公共设施网络版本 4 或更高版本。

String
edit_mode_for_named_version
(可选)

为指定版本上的子网更新指定编辑模式。

  • WITHOUT_EVENTING事件将不会用于指定版本上的子网更新。对于在此版本中编辑的要素和对象,此编辑模式将更新其子网名称和传播值。这是默认设置。
  • WITH_EVENTING事件将用于指定版本上的子网更新。当子网更新时,此编辑模式将执行地理数据库行为(例如,属性规则、编辑者追踪等),并为所有适用的要素和对象更新子网名称和传播值。
注:

此参数需要公共设施网络 4 或更高版本,并且仅适用于企业级地理数据库。

String
valid_junctions
[valid_junctions,...]
(可选)

资产组/资产类型对将被标识为该子网的有效交汇点。

注:

此参数需要公共设施网络版本 4 或更高版本。

String
valid_junction_objects
[valid_junction_objects,...]
(可选)

资产组/资产类型对将被标识为该子网的有效交汇点对象。

注:

此参数需要公共设施网络版本 4 或更高版本。

String
valid_junction_object_subnetwork_controller
[valid_junction_object_subnetwork_controller,...]
(可选)

资产组/资产类型对将被标识为该子网的有效交汇点对象子网控制器。

注:

此参数需要公共设施网络版本 4 或更高版本。

String
valid_edge_objects
[valid_edge_objects,...]
(可选)

已标识为子网的有效边对象的资产组/资产类型对。

注:

此参数需要公共设施网络版本 4 或更高版本。

String
manage_subnetwork_isdirty
(可选)

指定子网表中的 Is dirty 属性是否将由更新子网操作管理。如果没有为层定义任何子网控制器,则此参数将使用默认选项 NOT_MANAGE

  • MANAGEIs dirty 属性将由更新子网操作管理。这是默认设置。
  • NOT_MANAGEIs dirty 属性不会由更新子网操作管理。
注:

此参数需要公共设施网络版本 5 或更高版本。

Boolean
include_containers
(可选)

指定是否在追踪结果中包含容器要素和对象。

  • INCLUDE_CONTAINERS 将在追踪结果中包含容器要素和对象。
  • EXCLUDE_CONTAINERS 不会在追踪结果中包含容器要素和对象。这是默认设置。

此参数需要公共设施网络版本 5 或更高版本。

Boolean
include_content
(可选)

指定追踪是否将在结果中返回容器的内容。

  • INCLUDE_CONTENT 将在追踪结果中包含容器要素的内容。
  • EXCLUDE_CONTENT 追踪结果中将不包含容器要素和对象的内容。这是默认设置。

此参数需要公共设施网络版本 5 或更高版本。

Boolean
include_structures
(可选)

指定追踪结果中是否包含结构要素和对象。

  • INCLUDE_STRUCTURES 将在追踪结果中包含结构要素和对象。
  • EXCLUDE_STRUCTURES 不会在追踪结果中包含结构要素和对象。这是默认设置。

此参数需要公共设施网络版本 5 或更高版本。

Boolean
validate_locatability
(可选)

指定如果遇到非空间交汇点或边对象并且遍历对象的关联层次结构中没有必要的包含、附件或连通性关联,是否在追踪或更新子网操作期间返回错误。此选项确保可以通过与要素或其他可定位对象的关联来定位追踪或更新子网操作返回的非空间对象。

  • VALIDATE_LOCATABILITY如果遇到非空间交汇点或边对象并且遍历对象的关联层次结构中没有必要的包含、附件或连通性关联,将返回一条错误。
  • DO_NOT_VALIDATE_LOCATABILITY追踪不会检查是否存在无法定位的对象并返回结果,无论遍历对象的关联层次结构中是否存在无法定位的对象。这是默认设置。
注:

此参数需要公共设施网络版本 5 或更高版本。

Boolean

派生输出

名称说明数据类型
out_utility_network

更新的输入公共设施网络。

公共设施网络

代码示例

SetSubnetworkDefinition 示例(独立脚本)

本示例在名为 ElectricDistribution 的域中设置了子网定义。

'''****************************************************************************
Name:        SetSubnetworkDefinition.py
Description: This script sets the subnetwork definition for a tier in a Utility Network
Created by:  Esri
****************************************************************************'''

# Import required modules        
import arcpy

# Set local variables
in_utility_network = "ElectricDistribution"
domain_network = "ElecDist"
tier_name = "Medium Voltage"
support_disjoint_subnetwork = "SUPPORT_DISJOINT"
valid_devices = "'CircuitBreaker/Unknown';'CircuitBreaker/Air powered';'NetworkProtector/Unknown';'NetworkProtector/NetworkProtector';'Transformer/Unknown';'Transformer/Buck boost';'Transformer/Single-phase overhead';'Transformer/Single-phase padmounted';'Transformer/Three-phase padmounted';'Transformer/Power';'Transformer/Step';'Transformer/Vault'"
valid_subnetwork_controller = "'CircuitBreaker/Unknown';'CircuitBreaker/Air powered'"
valid_lines = "'Busbar/Unknown';'Busbar/Busbar';'Connector/Unknown';'Connector/Connector';'LowVoltage/Unknown';'LowVoltage/Overhead';'LowVoltage/Underground';'MediumVoltage/Unknown';'MediumVoltage/Single-phase overhead';'MediumVoltage/Two-phase overhead';'MediumVoltage/Three-phase overhead';'MediumVoltage/Single-phase underground';'MediumVoltage/Two-phase underground';'MediumVoltage/Three-phase underground';'IsolatedNeutral/Unknown';'IsolatedNeutral/Concentric neutral';'IsolatedNeutral/Neutral';'SubTransmission/Unknown';'SubTransmission/Overhead';'SubTransmission/Underground'"
aggregated_line = "'Busbar/Unknown';'Busbar/Busbar';'MediumVoltage/Unknown';'MediumVoltage/Single-phase overhead';'MediumVoltage/Two-phase overhead';'MediumVoltage/Three-phase overhead';'MediumVoltage/Single-phase underground';'MediumVoltage/Two-phase underground';'MediumVoltage/Three-phase underground'"
diagram_template = "Basic"
summaries = ""
condition_barriers = "'Device Status' IS_EQUAL_TO SPECIFIC_VALUE 'Opened' #"
function_barriers = ""
include_barriers = "INCLUDE_BARRIERS"
traversability_scope = "BOTH_JUNCTIONS_AND_EDGES"
propagators = ""

# Run the SetSubnetworkDefinition tool
arcpy.SetSubnetworkDefinition_un(in_utility_network, 
                                 domain_network, 
                                 tier_name, 
                                 support_disjoint_subnetwork, 
                                 valid_devices, 
                                 valid_subnetwork_controller, 
                                 valid_lines, 
                                 aggregated_line, 
                                 diagram_template, 
                                 summaries, 
                                 condition_barriers, 
                                 function_barriers, 
                                 include_barriers, 
                                 traversability_scope, 
                                 propagators)

环境

此工具不使用任何地理处理环境。

许可信息

  • Basic: 否
  • Standard: 是
  • Advanced: 是

相关主题