有时网络属性值取决于变量条件。例如,车辆的高度能够决定是否可穿越建有较低天桥的路段。当前的天气状况可能会降低行驶速度,从而影响网络时间成本。您可以使用以下两种方法之一构建基于车辆高度的限制、基于比例因子的行程成本和网络分析的其他可变状况。一种方法是在每次高度或天气状况发生变化时创建一个网络属性;但是,随着变更次数的增加,这种方法会变得不实用。更为通用的方法是使用一个带参数的网络属性,该参数包含了网络属性的可变状况。
参数是值的占位符,可针对特定分析更改这些值。每个参数都有一个有意义的默认值,需要时该值可被用户覆盖。参数会被添加到网络属性,并由该属性的赋值器进行引用。设置网络问题时可以更改参数值,以便能够在运行时使用表达式和当前参数值确定网络属性的值。
参数化的网络属性如何工作
参数化的网络属性具有一个或多个可利用网络属性的参数和其他网络属性以帮助确定其值的指定赋值器。
一些赋值器指定的值被缓存到网络构建中(例如:字段脚本),且不使用参数。然而,在运行时查询以确定其值的赋值器(例如,函数和元素脚本)可以利用参数来影响结果值。
用于对车辆特征进行建模的参数
在以下示例中,还可以添加用于设置车辆特征的参数,以细分给定车辆可遍历哪些网络元素。
您可以添加一个约束属性连同车辆高度参数,以将车辆高度与保存有天桥下或隧道中间隙的描述符属性进行比较。如果车辆高度大于该间隙,则边会被禁止。这样会为不同车辆产生不同的路径:如下图所示,低矮的车辆可以在低桥下面沿直达路径行驶,而高大的车辆会选择另外一条路径,以避免因与桥的间距过小而难以通过。
在这种情况下,可以创建两个属性:一个描述符属性和一个约束属性,可以将它们分别命名为 MaxHeight 和 HeightRestriction。MaxHeight 会引入源数据中的间距值,而 HeightRestriction 会读取来自 MaxHeight 的值,并将它们与具有当前车辆高度的参数进行比较。下图显示了此过程的概化版本:
成本属性的参数
您可能需要一个可以引用其他成本属性并进行换算的参数化成本属性。这在诸如冰、雾或大雨等恶劣天气突袭您的研究区域并阻碍正常车流时非常有用。在已经对成本属性配备了参数的情况下,您可以将行驶时间期望值调整为与交通流动速度变化一致。
您可以创建两个网络属性:DriveTime 和 DriveTime_scaled,前者可以将正常行驶时间阻抗与源数据字段中的值一起存储,后者可以获取 DriveTime 属性值,并通过具有当前比例因子的 DriveTime_scaled 属性的参数进行换算。