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

描述

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

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

使用方法

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

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

  • 必须禁用网络拓扑。

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

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

  • 此工具可与设置网络属性工具配合使用,后者用于将网络属性分配给公共设施网络的要素类字段。

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

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

    短整型

    复选标记复选标记

    长整型

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

    (仅限行外)

    双精度型

    复选标记复选标记

    日期型

    复选标记

语法

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
(可选)

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

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

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

例如,对于 shape_length 网络属性,如果一个线要素由五个边元素组成,并且该线要素的总长度是 100 英尺,则将在所有边上分配该属性,每条边 20 英尺。值的分布取决于每个边元素方向上相对于原始要素起点的百分比。

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

将与网络属性相关联的域。当 is_inlineTrue 时,需要使用此参数。该域必须是编码值类型,用于确定要为内嵌属性分配的位数。例如,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

更新的公共设施网络。

公共设施网络

代码示例

AddNetworkAttribute 示例 1(Python 窗口)

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

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

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

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

许可信息

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

相关主题