描述
用于向公共设施网络中添加网络属性。
网络属性是从网络中相应要素的属性派生的值,并存储在网络拓扑中。追踪分析使用网络属性来控制遍历网络的方式。尽管一个网络属性仅能与一个要素类属性相关联,但是单一公共设施网络所能拥有的网络属性数量却是没有限制的。网络属性可用作权重,用于控制可遍历性和对网络中路径的成本进行建模。
使用方法
一个网络属性只能与要素类上的一个属性相关联;但是,它可以与多个要素类相关联。
使用企业级地理数据库时,已连接的 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 | 指定网络属性的数据类型。
| String |
is_inline (可选) | 指定是否将网络属性保留在行内。内嵌网络属性的效率略高,但是内嵌属性的位数被限制在每个公共设施网络 28 位。如果可能的话,应在行内存储最常用的网络属性(例如电力网络相位、天然气网和水网压力)。位的大小由域参数决定。内嵌属性仅支持整型网络属性。
| Boolean |
is_apportionable (可选) | 指定是否在同一要素的多条边之间分配网络属性。 例如,对于 shape_length 网络属性,如果一个线要素由五个边元素组成,并且该线要素的总长度是 100 英尺,则将在所有边上分配该属性,每条边 20 英尺。值的分布取决于每个边元素方向上相对于原始要素起点的百分比。
| Boolean |
domain (可选) | 将与网络属性相关联的域。当 is_inline 为 True 时,需要使用此参数。该域必须是编码值类型,用于确定要为内嵌属性分配的位数。例如,LifeCycleStatusDomain (0, Unknown | 1, In-Service | 2, Proposed | 3, Abandoned) 域有 4 个条目,这意味着需要 2 位来存储内嵌属性。编码值域必须具有从 0 开始的相继代码。 | String |
is_overridable (可选) | 注:未使用此参数,且输入的任何值均将在当前版本下被忽略。此参数的功能正在研发中,且将在未来的版本中适用。
| Boolean |
is_nullable (可选) | 指定网络属性是否支持空值。
| Boolean |
is_substitution (可选) | 指定是否将网络属性用作替换项。替换网络属性允许在追踪操作的传递期间使用替换值而不是 bitset 网络属性值。
| Boolean |
network_attribute_to_substitute (可选) | 用于替换的网络属性。替换是基于正在传播的网络属性中的位数进行编码的。网络属性必须为内嵌,且必须为小于或等于 8 位的整型字段类型。 | String |
派生输出
名称 | 说明 | 数据类型 |
out_utility_network | 更新的公共设施网络。 | 公共设施网络 |
代码示例
添加一个名为 Device Status 且具有短属性类型的网络属性。
import arcpy
arcpy.AddNetworkAttribute_un("Utility Network", "Device Status", "SHORT",
"INLINE", "NOT_APPORTIONABLE", "",
"ElectricDistributionDeviceStatus",
"NOT_OVERRIDABLE")
添加用于替换的网络属性。
import arcpy
arcpy.AddNetworkAttribute_un("Utility Network",
"Phases", "LONG", "NOT_INLINE",
"NOT_APPORTIONABLE",
"ElectricDistributionDeviceStatus", "",
"NOT_NULLABLE", "SUBSTITUTION",
"Phases current")
环境
许可信息
- Basic: 否
- Standard: 是
- Advanced: 是