更新子网 (公共设施网络)

描述

更新指定子网的子网表、SubnetLine 要素类和子网系统逻辑示意图中的子网信息。同时创建或更新子网要素的某些属性。将生成所有新子网的记录,将移除所有已删除子网的记录,并将更新所有已修改子网的形状和信息。

了解有关如何更新子网的详细信息

使用方法

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

    • 公共设施网络必须注册为分支版本
    • 输入公共设施网络必须来自公共设施网络服务。
    • 如果在默认版本上执行此工具,则将就地更新 SubnetLine 要素类的几何、子网名称属性和传播字段。如果针对指定版本执行此工具,则默认行为(不含事件)将限制对在该版本中编辑的要素和对象的更新。可以将编辑模式更改为使用事件(含事件)。此选项将执行地理数据库行为,并且可以针对默认版本和指定版本在子网定义中进行设置。了解有关“更新子网”工具使用的编辑模式的详细信息

  • 此工具用于根据已更新子网创建或更新网络逻辑示意图(如果设置子网定义时已指定逻辑示意图模板)。

  • 运行此工具前,必须保存所有编辑内容。

  • 必须启用网络拓扑。

  • 不存在与子网要素相交的脏区。

语法

arcpy.un.UpdateSubnetwork(in_utility_network, domain_network, tier, {all_subnetworks_in_tier}, {subnetwork_name}, {continue_on_failure}, {condition_barriers}, {function_barriers}, {include_barriers}, {traversability_scope}, {propagators})
参数说明数据类型
in_utility_network

包含子网的公共设施网络。

Utility Network; Utility Network Layer
domain_network

包含子网的域网络。

String
tier

包含子网的层。

String
all_subnetworks_in_tier
(可选)

指定是否更新层中的所有子网。要更新层中的子网子集,请使用 subnetwork_name 参数。

  • ALL_SUBNETWORKS_IN_TIER更新层中的所有子网。此选项使用异步处理通过系统 UtilityNetworkTools 地理处理服务更新子网。此服务为公共设施网络地理处理任务而保留,并具有较长的默认超时设置。这是默认设置。
  • SPECIFIC_SUBNETWORK仅更新 subnetwork_name 参数中指定的子网。
Boolean
subnetwork_name
(可选)

要更新的子网的名称。如果使用 all_subnetworks_in_tier 参数来更新所有子网,则将忽略此参数。

String
continue_on_failure
(可选)

指定如果在更新多个子网时某一子网更新失败,是否停止更新进程。

  • CONTINUE_ON_FAILURE如果失败,则继续更新子网。
  • STOP_ON_FAILURE如果失败,则停止更新子网。这是默认设置。
Boolean
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_INCLUDE_ANY按位与运算,其中值中的所有位均不存在于属性中(按位与 == False)。

条件障碍 type 选项如下:

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

Combine Using 值如下:

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

此参数仅可通过 Python 获得。

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

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

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

函数障碍组件如下:

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

  • TRUE使用局部值。
  • FALSE使用全局值。这是默认设置。

函数障碍 function 选项的可能值如下:

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

例如,起点要素的值为 20。下一个要素的值为 30。如果使用 Minimum 函数,则结果为 20;使用 Maximum 函数,结果为 30;使用 Add 函数,结果为 50;使用 Average 函数,结果为 25;使用 Count 函数,结果为 2;使用 Subtract 函数,结果为 -10。

函数障碍 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
include_barriers
(可选)

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

  • INCLUDE_BARRIERS追踪结果中包含可遍历性障碍。这是默认设置。
  • EXCLUDE_BARRIERS追踪结果中不包含可遍历性障碍。
注:

此参数仅可通过 Python 和 ModelBuilder 获得。

Boolean
traversability_scope
(可选)

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

  • BOTH_JUNCTIONS_AND_EDGES将可遍历性同时应用于交汇点和边。这是默认设置。
  • JUNCTIONS_ONLY将可遍历性仅应用于交汇点。
  • EDGES_ONLY将可遍历性仅应用于边。
注:

此参数仅可通过 Python 和 ModelBuilder 获得。

String
propagators
[[Attribute, Substitution Attribute, Function, Operator, Value],...]
(可选)

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

传播程序组件如下:

  • 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 - 提供会基于运算符值导致终止的输入属性类型的特定值。

传播程序 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 和 ModelBuilder 获得。

Value Table

派生输出

名称说明数据类型
out_utility_network

更新的公共设施网络。

公共设施网络

代码示例

UpdateSubnetwork 示例 1(Python 窗口)

更新名为 RMT004 的特定子网。

import arcpy
arcpy.UpdateSubnetwork_un("Utility Network", "ElectricDistribution", 
                          "Medium Voltage", "SPECIFIC_SUBNETWORK", "RMT004", 
                          "CONTINUE_ON_FAILURE")
UpdateSubnetwork 示例 2(Python 窗口)

更新 Medium Voltage 层中的所有子网。

import arcpy
arcpy.UpdateSubnetwork_un("Utility Network", "ElectricDistribution", 
                          "Medium Voltage", "ALL")

环境

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

许可信息

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

相关主题