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

摘要

更新指定子网的子网表SubnetLine 要素类子网系统逻辑示意图中的子网信息。

对于子网表,此工具将关联子网控制器的状态更改为清洁(Is dirty属性设置为 False)。 如果在工具运行期间发现验证一致性失败子网错误,则相关子网控制器的状态将被标记为无效(Is dirty 属性设置为无效)。 在 SubnetLine 要素类中,将生成新子网的记录,将删除已删除子网的记录,并更新已修改子网的形状和信息。 还将创建或更新子网要素的某些属性。

如果将层的更新子网策略配置为不管理该Is dirty属性,则可以使用更新子网操作从 Subnetworks 表中删除行,其中 Is deleted 属性设置为 true。

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

使用情况

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

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

      了解有关更新子网工具使用的编辑模式的详细信息

    • 许可:
      活动门户账户必须被分配 ArcGIS Advanced Editing 用户类型扩展模块,才能在企业级部署中使用此工具。

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

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

  • 必须启用网络拓扑。

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

参数

标注说明数据类型
输入公共设施网络

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

Utility Network; Utility Network Layer
域网络

包含子网的域网络。

String

包含子网的层。

String
层中的所有子网
(可选)

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

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

Boolean
子网名称
(可选)

将从层更新的子网的名称。 如果选中层中的所有子网参数,则将忽略此参数。 当子网表包含层级的 10,000 条或更多记录时,不会填充参数的选择列表,并且会为子网名称提供一个空字段。

String
失败后继续
(可选)

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

  • 选中 - 如果发生子网故障,更新过程不会停止,会继续。
  • 未选中 - 如果发生子网故障,更新过程会停止。 这是默认设置。

Boolean
条件障碍
(可选)
注:

此参数仅可用于 Python

Value Table
函数障碍
(可选)
注:

此参数仅可用于 Python

Value Table
包括障碍要素
(可选)
注:

此参数仅可用于 Python

Boolean
应用可遍历性至
(可选)

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

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

此参数仅可用于 Python

String
传播程序
(可选)
注:

此参数仅可用于 Python

Value Table

派生输出

标注说明数据类型
更新的公共设施网络

更新的公共设施网络。

Utility Network

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 参数设置为 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 的特定值时,将停止追踪。 当要素满足此条件时,追踪将停止。 如果您要使用多个属性,可使用组合方法参数来定义 And 或 Or 条件。

条件障碍组件如下:

  • Name - 按系统定义的任何网络属性进行过滤,或指定类别使用网络类别。
  • Operator - 从大量运算符中进行选择。
  • Type - 指定 Name 参数的值类型 Specific valueNetwork attribute,以此作为障碍。 当 Name 参数为 Category 时,必须将 Type 参数设置为 Specific value
  • 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满足任一条件障碍时使用。

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

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)。
Value Table
include_barriers
(可选)

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

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

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

  • BOTH_JUNCTIONS_AND_EDGES可遍历性将同时应用于交汇点和边。 这是默认设置。
  • JUNCTIONS_ONLY可遍历性将仅应用于交汇点。
  • EDGES_ONLY可遍历性将仅应用于边。
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)。
Value Table

派生输出

名称说明数据类型
out_utility_network

更新的公共设施网络。

Utility Network

代码示例

UpdateSubnetwork 示例 1(Python 窗口)

更新名为 RMT004 的特定子网。

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

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

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

环境

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

许可信息

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

相关主题