添加网络属性 (公共设施网络)

摘要

用于向公共设施网络中添加网络属性。

网络属性是从网络中相应要素的属性派生的值,并存储在网络拓扑中。 追踪分析使用网络属性来控制遍历网络的方式。 尽管一个网络属性仅能与一个要素类属性相关联,但是单一公共设施网络所能拥有的网络属性数量却是没有限制的。 网络属性可用作权重,用于控制可遍历性和对网络中路径的成本进行建模。

使用情况

  • 一个网络属性只能与要素类上的一个属性相关联;但是,它可以与多个要素类相关联。

  • 使用企业级地理数据库时,已连接的 ArcGIS Enterprise 门户帐户必须是门户公共设施网络所有者

  • 必须禁用网络拓扑。

  • 在使用企业级地理数据库时,此工具必须连接到默认版本才能运行。

  • 使用企业级地理数据库时,输入公共设施网络参数值必须来自作为数据库公共设施网络所有者建立的数据库连接。

  • 许可:
    活动门户帐户必须被分配 ArcGIS Advanced Editing 用户类型扩展模块,才能在企业级部署中使用此工具。
  • 此工具可与设置网络属性工具配合使用,后者用于将网络属性分配给公共设施网络的要素类字段。

  • 下表列出了网络属性类型及其适用的参数:

    属性类型内嵌可分配可为空替换

    短整型

    复选标记复选标记

    长整型

    复选标记复选标记复选标记

    (仅限行外)

    双精度

    复选标记复选标记

    日期

    复选标记

参数

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

将添加网络属性的输入公共设施网络。

Utility Network; Utility Network Layer
属性名称

要添加至公共设施网络的网络属性的名称。

String
属性类型

指定网络属性的数据类型。

  • 短整型(16 位整型)字段类型将为短整型。
  • 长整型(32 位整数)字段类型将为长整型。
  • 双精度型(64 位浮点型)字段类型将为双精度型。
  • 日期字段类型将为日期型。
String
内嵌
(可选)

指定是否将网络属性保留在行内。 内嵌网络属性的效率略高,但是用户定义的内嵌网络属性的位数被限制在每个公共设施网络 25 位。 如果可能的话,应在线中存储最常用的网络属性(例如电力网络相位、天然气网和水网压力)。 位的大小由域参数决定。 内嵌属性仅支持整型网络属性(短整型或长整型)。

  • 选中 - 该属性将添加到拓扑内部,从而提高检索效率。
  • 未选中 - 该属性将存储在外部表中,且检索需要调用外部权重表。 这是默认设置。
Boolean
可分配
(可选)

指定是否在同一要素的多条边之间分配网络属性。

分配行为仅支持使用双精度型网络属性。 可以将具有可分配属性的网络属性分配给行内字段或交汇点要素类,但仅行要素具有已分配行为。

为了进行说明,请考虑 shape_length 网络属性以及由 5 个边元素组成的线要素,每个边元素 20 英尺,该线要素的总长度为 100 英尺。 将在所有边上分配此属性。 例如,使用已连接追踪中的函数对此线的 shape length 属性进行计数将返回计数 5,因为它考虑了每个单独的边元素,而非整条线。 值的分布取决于每个边元素方向上相对于原始要素起点的百分比。

  • 已选中 - 将分配网络属性。
  • 未选中 - 不会分配网络属性。 这是默认设置。
Boolean
属性域名称
(可选)

将与网络属性相关联的域。 选中内嵌时,需要使用此参数。 该域必须是编码值类型,用于确定要为内嵌属性分配的位数。 例如,LifeCycleStatusDomain (0, Unknown | 1, In-Service | 2, Proposed | 3, Abandoned) 域有 4 个条目,这意味着需要 2 位来存储内嵌属性。 编码值域必须具有从 0 开始的相继代码。

String
可覆盖
(可选)
注:

当前版本中未使用此参数,任何提供的值都将被忽略。 此参数的功能正在研发中,且将在未来的版本中适用。

指定是否将使用外部覆盖表覆盖存储在拓扑中的当前值。 例如,此参数可用于输入来自外部系统的实时数据,例如电力网络中的当前位置或天然气网的压力值。 以 SCADA 系统为例,该系统可将更新的设备 A 开关位置推送至 DeviceStatus 网络属性的覆盖表,拓扑引擎随后将通过该系统用覆盖值来覆盖设备 A 设备状态的当前值。

  • 已选中 - 将覆盖在拓扑中存储的当前值。
  • 未选中 - 不会覆盖在拓扑中存储的当前值。 这是默认设置。
Boolean
可为空
(可选)

指定网络属性是否支持空值。

  • 选中 - 网络属性支持空值。 这是默认设置。
  • 未选中 - 网络属性不支持空值。

Boolean
替换
(可选)

指定是否将网络属性用作替换项。 替换网络属性允许在追踪操作的传递期间使用替换值而不是 bitset 网络属性值。 替换仅支持使用长整型网络属性。

  • 选中 - 网络属性将用作替换项。
  • 未选中 - 网络属性不会用作替换项。 这是默认设置。

Boolean
要替换的网络属性
(可选)

用于替换的网络属性。 替换是基于正在传递的网络属性中的位数进行编码的。 网络属性必须为内嵌,且必须为小于或等于 8 位的整型字段类型。

String

派生输出

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

更新的公共设施网络。

Utility Network

arcpy.un.AddNetworkAttribute(in_utility_network, attribute_name, attribute_type, {is_inline}, {is_apportionable}, {domain}, {is_overridable}, {is_nullable}, {is_substitution}, {network_attribute_to_substitute})
名称说明数据类型
in_utility_network

将添加网络属性的输入公共设施网络。

Utility Network; Utility Network Layer
attribute_name

要添加至公共设施网络的网络属性的名称。

String
attribute_type

指定网络属性的数据类型。

  • SHORT字段类型将为短整型。
  • LONG字段类型将为长整型。
  • DOUBLE字段类型将为双精度型。
  • DATE字段类型将为日期型。
String
is_inline
(可选)

指定是否将网络属性保留在行内。 内嵌网络属性的效率略高,但是用户定义的内嵌网络属性的位数被限制在每个公共设施网络 25 位。 如果可能的话,应在线中存储最常用的网络属性(例如电力网络相位、天然气网和水网压力)。 位的大小由域参数决定。 内嵌属性仅支持整型网络属性(短整型或长整型)。

  • INLINE该属性将添加到拓扑内部,从而提高检索效率。
  • NOT_INLINE该属性将存储在外部表中,且检索需要调用外部权重表。 这是默认设置。
Boolean
is_apportionable
(可选)

指定是否在同一要素的多条边之间分配网络属性。

分配行为仅支持使用双精度型网络属性。 可以将具有可分配属性的网络属性分配给行内字段或交汇点要素类,但仅行要素具有已分配行为。

为了进行说明,请考虑 shape_length 网络属性以及由 5 个边元素组成的线要素,每个边元素 20 英尺,该线要素的总长度为 100 英尺。 将在所有边上分配此属性。 例如,使用已连接追踪中的函数对此线的 shape_length 属性进行计数将返回计数 5,因为它考虑了每个单独的边元素,而非整条线。 值的分布取决于每个边元素方向上相对于原始要素起点的百分比。

  • APPORTIONABLE将分配网络属性。
  • NOT_APPORTIONABLE不会分配网络属性。 这是默认设置。
Boolean
domain
(可选)

将与网络属性相关联的域。 当 is_inline = "INLINE" 时,需要使用此参数。 该域必须是编码值类型,用于确定要为内嵌属性分配的位数。 例如,LifeCycleStatusDomain (0, Unknown | 1, In-Service | 2, Proposed | 3, Abandoned) 域有 4 个条目,这意味着需要 2 位来存储内嵌属性。 编码值域必须具有从 0 开始的相继代码。

String
is_overridable
(可选)

注:

当前版本中未使用此参数,任何提供的值都将被忽略。 此参数的功能正在研发中,且将在未来的版本中适用。

指定是否将使用外部覆盖表覆盖存储在拓扑中的当前值。 例如,此参数可用于输入来自外部系统的实时数据,例如电力网络中的当前位置或天然气网的压力值。 以 SCADA 系统为例,该系统可将更新的设备 A 开关位置推送至 DeviceStatus 网络属性的覆盖表,拓扑引擎随后将通过该系统用覆盖值来覆盖设备 A 设备状态的当前值。

  • OVERRIDE将覆盖在拓扑中存储的当前值。
  • NOT_OVERRIDABLE不会覆盖在拓扑中存储的当前值。 这是默认设置。
Boolean
is_nullable
(可选)

指定网络属性是否支持空值。

  • NULLABLE网络属性支持空值。 这是默认设置。
  • NOT_NULLABLE网络属性不支持空值。
Boolean
is_substitution
(可选)

指定是否将网络属性用作替换项。 替换网络属性允许在追踪操作的传递期间使用替换值而不是 bitset 网络属性值。 替换仅支持使用长整型网络属性。

  • SUBSTITUTION网络属性将用作替换项。
  • NOT_SUBSTITUTION网络属性不会用作替换项。 这是默认设置。
Boolean
network_attribute_to_substitute
(可选)

用于替换的网络属性。 替换是基于正在传递的网络属性中的位数进行编码的。 网络属性必须为内嵌,且必须为小于或等于 8 位的整型字段类型。

String

派生输出

名称说明数据类型
out_utility_network

更新的公共设施网络。

Utility Network

代码示例

AddNetworkAttribute 示例 1(Python 窗口)

添加一个名为 Device Status 且具有短属性类型的网络属性。

import arcpy
arcpy.un.AddNetworkAttribute("Utility Network", "Device Status", "SHORT", 
                             "INLINE", "NOT_APPORTIONABLE", "", 
                             "ElectricDistributionDeviceStatus", 
                             "NOT_OVERRIDABLE")
AddNetworkAttribute 示例 2(Python 窗口)

添加用于替换的网络属性。

import arcpy
arcpy.un.AddNetworkAttribute("Utility Network", 
                             "Phases", "LONG", "NOT_INLINE", 
                             "NOT_APPORTIONABLE", 
                             "ElectricDistributionDeviceStatus", "", 
                             "NOT_NULLABLE", "SUBSTITUTION", 
                             "Phases current")

许可信息

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

相关主题