网络属性

网络属性与网络中要素类和对象表上的属性相关联。 网络属性来源于网络要素属性并在网络拓扑内部缓存,以在追踪期间评估属性时或执行子网管理任务时起到提高性能的作用。 每当您验证网络拓扑时,存储为要素和对象属性的值会反映在关联网络属性中或在其中更新。

可以在公共设施网络的图层属性对话框中查看公共设施网络中的现有网络属性。 网络属性选项卡上的属性和分配部分包括现有网络属性的详细属性及其分配情况(即网络属性所分配到的要素类或表和字段)。 这包括公共设施网络中的系统提供网络属性和用户定义网络属性,它们可以用于追踪和子网管理任务。

以下是网络属性的属性和分配部分列出的公共设施网络中的系统提供网络属性:

  • Source ID - 公共设施网络中网络源的唯一标识符。
  • Terminal ID - 在公共设施网络的终端配置中定义的终端名称的标识符。
  • Asset group - 与网络要素类和表上的 Asset group 字段相关联,可为结构和域网络中的所有类提供主要分类。
  • Asset type - 与网络要素类和表上的 Asset type 字段相关联,可为结构和域网络中的所有类提供次要分类。
  • Is subnetwork controller - 与设备要素类和 JunctionObject 表上的 Is Subnetwork Controller 字段相关联。 该属性将分配给系统维护字段,并且在将网络要素设置为子网控制器时会对其进行更改。
  • Tier name - 与设备要素类和 JunctionObject 表上的 Tier name 字段相关联。 该属性将分配给系统维护字段,并且在使用添加层工具创建层时会对其进行更改。
  • Position from - 用于确定沿边缘的位置以实现中跨连通性。
  • Position to - 用于确定沿边缘的位置以实现中跨连通性。
  • Flow direction - 未执行。 保留该属性以供今后使用。
  • Shape length - 与网络中的在线要素类的 Shape_Length 字段相关联。 这是一个可分配的网络属性,可用于计算追踪的总长度(例如一组管道或一部分管道)。

创建和分配网络属性

可以使用添加网络属性工具创建用户定义的网络属性,并使用设置网络属性工具将其分配给属性字段。

在配置网络属性时,考虑以下注意事项:

  • 要使用设置网络属性工具将网络属性分配给属性字段,则其必须具有以上列出的兼容数据类型。 如果不存在具有正确数据类型的属性字段来设置网络属性,则可以使用添加字段工具添加一个属性字段。
  • 只能将不允许为空的网络属性分配给不为空的字段。
  • 可以将网络属性分配给公共设施网络中的多个要素类或对象表。
  • 公共设施网络中的要素类或对象表可以具有多个唯一的网络属性分配。但是,只能将用户定义的网络属性分配给每个类中的一个字段。 这意味着,一旦将用户定义的网络属性分配给特定字段的类,就不能再将该网络属性分配给同一类。
注:

添加新的网络属性后,现有授权版本可以通过使用协调过程来继承更改。

使用添加网络属性工具创建网络属性时,针对属性类型参数选择的数据类型将确定哪些选项可用于定义网络属性。 由于数据类型必须匹配,因此这也将确定在使用设置网络属性工具创建网络属性后,可以将其分配给哪些属性字段。

创建网络属性时所使用的属性类型参数决定了可用的属性:

  • 短整型
    • 内嵌 - 域名是属性域的必填项
    • 可为空 - 支持空值
  • 长整型
    • 内嵌 - 域名是属性域的必填项
    • 替换 - 当内嵌为 false 时可用
    • 可为空 - 支持空值
  • 双精度
    • 可分配
    • 可为空 - 支持空值
  • 日期
    • 可为空 - 支持空值

网络属性包括以下各项:

内嵌 - 指定网络属性是否保持内嵌状态。 在内嵌属性设置为 True 的状态下存储最常用的网络属性。 仅当属性类型选项为 ShortLong 整型数据类型时,才能设置此属性。 使用内嵌选项创建网络属性需要一个输入属性域,用于计算要存储在网络拓扑中的位数。 必须将用于创建内嵌网络属性的相同属性域分配到设置网络时使用的字段。 此外,该字段的值必须为正数。 如果同一网络属性分配到多个类和属性,则网络属性在多个类中应当具有相同的表示。

了解有关计算内嵌网络属性的位大小的详细信息

可分配 - 指定是否在同一网络要素的多条边之间分配网络属性。 值的分布取决于每个边元素方向上相对于原始网络要素起点的百分比。 当属性类型属性为 Double 时,只能将此属性设置为 True

了解有关可分配网络属性的详细信息

替换 - 指定是否可配置网络属性以用于属性替换。 如果内嵌属性为 False,则对于属性类型属性为 Long 的网络属性,只能将替换属性设置为 True

计算内嵌网络属性的位大小

网络拓扑中共有 64 位可用于存储内嵌网络属性,这包括系统提供网络属性和用户定义网络属性。 可用于使用内嵌选项创建的用户定义网络属性的位数取决于用于创建公共设施网络数据集的 ArcGIS Pro 版本。 用于创建公共设施网络数据集的 ArcGIS Pro 版本可在公共设施网络属性对话框的网络属性选项卡的常规部分中找到。

下表提供了用于创建公共设施网络数据集的 ArcGIS Pro 版本以及可用于用户定义的内嵌网络属性的位数:

ArcGIS Pro 版本可用于用户定义的内嵌网络属性的位数

ArcGIS Pro 3.0 及更高版本

25

ArcGIS Pro 2.9

21

ArcGIS Pro 2.8 及较早版本

20

创建内嵌网络属性时,需要了解位大小存储的计算方式。 网络属性属性和分配部分中的内嵌(位大小)列下列出了现有网络属性中已使用了多少位。 请注意,有其他系统提供的内部使用网络属性未在网络属性表中列出。

创建内嵌属性设置为 True 的网络属性时,必须指定属性域以确定存储的位大小。 要确定存储属性所需的位大小,请使用最大编码域值。 可通过在以下二进制对数中提供属性域的最大编码值作为值 n 来计算位大小:

ceiling(log2(n + 1))

例如,LifeCycleStatus 编码值属性域具有四个编码/描述对(0:未知、1:服务中、2:已提出、3:已放弃)。 在此示例中,最大编码值为 3 将需要两位来存储网络属性:

log2(3+1)=2

注:

在以上示例中,如果内嵌网络属性已定义为可为空,则需要另一个位:log2(3+1)+1=3。

下表可用于确定内嵌网络属性所需的位大小。 编码值属性域的最大值必须小于或等于 maxDomainValue。

位大小

1

2

3

4

5

6

7

8

9

10

11

maxDomainValue

1

3

7

15

31

63

127

255

511

1023

2047

存储内嵌网络属性所需的位大小由 maxDomainValue 定义。 可为空网络属性将使用添加到总位大小的附加位。

使用网络属性

追踪和网络逻辑示意图取决于存储在网络拓扑中的网络属性信息。 如果与网络属性相关联的要素发生了属性更改,则将生成脏区并为验证操作标记此要素。 在使用交汇点和边对象时,会在其包含或附件层次结构中为空间要素创建脏区。 验证网络拓扑有助于确保网络拓扑中的信息对于分析事件一致。

更新子网时,网络属性可用于定义将要更新的要素和记录。 这由针对层而设置的子网定义来控制。 过滤器用于将更新仅应用到具有指定属性值的网络要素上 - 例如,仅 AB 相位,相位为网络属性,AB 为过滤值。

网络属性也可用作权重,用于控制可遍历性和对网络中追踪路径的成本进行建模。 例如,在供水管网中,在水流过整个输水干管时会由于管内的表面摩擦导致指定量的压强损失。 该示例中的网络属性值派生自输水干管的长度属性。

可分配的网络属性

配置可分配网络属性,并将可分配属性设置为 True。 可以将具有可分配属性的网络属性分配给线、面和交汇点要素类以及交汇点和边对象表中的字段,但仅线要素和边对象将显示已分配行为。

对于可分配的网络属性,由于将针对线上分流器要素的更精确位置计算线长度、阻抗和其他流动特征等可分配值,因此分析结果更准确。 这意味着使用具有函数(Add、Average、Count、Max、Min 和 Subtract)的可分配网络属性的追踪分析将基于网络要素的边元素返回可分配结果。

下图提供了两个示例:

  • 顶部的图像显示了具有单条边的已连接线要素。 该示例具有一个线要素和两个交汇点要素。 两个线终点交汇点要素在空间上与线的终点折点重合。 这是公共设施网络中已连接线要素的简单案例。
  • 底部的图像显示了具有两条边的已连接线。 该示例具有一个线要素和三个交汇点要素。 添加了一个分流器交汇点要素,并将其捕捉到折点。 这在逻辑上将线要素划分为多个名为边的子部分。 边是包含连接到线要素的两个交汇点要素之间的一条或多条线段的集合。 在对可分配的网络属性进行分析时,系统会收集边以便更精确地定义分析的范围。
公共设施网络中的边和线
为了反映真实的公共设施系统,公共设施网络允许您在较长线要素的折点上放置多个交汇点要素。 当您想要在延伸一定距离的单个线要素上对多个服务点进行建模时,此功能十分有用。 然后会将次级线连接到交汇点要素。

要了解有关使用网络属性进行追踪的详细信息,请参阅配置追踪

另外,请参阅子网追踪配置,了解如何在层的子网定义中使用网络属性。

高级网络属性配置

对具有多个状态的资产特征(例如相位或压力)进行建模时,适合使用网络属性。 在属性传播和属性替换过程中,将使用网络属性。 传播可使用网络属性在追踪或子网管理事件过程中传播计算值。 替换允许您将传播值替换为其他值;例如,将 AC 变为 BC。 要使用属性替换,则在创建网络属性时,必须将替换属性设置为 True,并定义要替换的网络属性值。

有关这些配置的详细信息,请参阅属性传播属性替换