约束条件可以在网络数据源上进行配置,这样在分析过程中,可完全禁止、避免甚至首选使用具有特定特征的遍历道路。 例如,约束条件可用于防止行人走上高速公路,或防止过高的卡车在没有足够净空高度的道路上行驶。
为针对特定分析遵守或忽略约束条件,可在求解时将其打开或关闭。 控制用于特定分析的约束条件的首选方法是通过出行模式进行控制。 您可以使用各种分析属性(包括约束条件)来配置出行模式,以便对路径选择中的相关车辆构建相应模型。 求解时,选择预定义的出行模式使您可以对约束条件和其他适用于要对其进行建模的出行模式的属性进行高效且持续地设置。
约束条件属性可以配置为拥有具有默认值的参数,且该默认值可以被使用该约束条件的出行模式所覆盖。 例如,您可以将车辆高度参数添加到约束条件属性。 参数值指示分析中所建模车辆的高度。
在任何情况下,约束条件属性经配置后均可为网络数据源中的每一个网络元素返回一个布尔值(true 或 false)。 对于给定的网络元素,如果约束条件返回 true,则意味着在对包括该约束条件的出行模式进行分析期间对该元素应用了相应的使用类型;如果返回 false,则意味着约束条件对于被评估的特定网络元素无影响。 约束条件还有一种使用类型属性,该属性可以设置为以下七个值之一:
- 禁止
- 避免(高)
- 避免
- 避免(低)
- 首选(低)
- 首选
- 首选(高)
约束条件用法
分配给使用类型属性的值决定了约束条件属性是禁止、避免还是首选使用与其相关联的网络元素。 并且,网络元素避开或优先选择的程度可通过选择“高”、“中”、或“低”来定义。 以下三个章节介绍的是常规的约束条件用法。
禁止网络元素
约束条件的最常见用途是禁止遍历。 例如,可以使用约束条件属性对单向街道进行建模,由此只能从一端到另一端对其进行遍历,而不能反向对其进行遍历。 同样,人行道上的约束条件属性可设为完全禁止遍历,这样标识为人行道的网络元素就被排除在为机动车生成的所有路径之外。
避免网络元素
您可能需要放宽禁止约束条件而非完全禁止遍历某些网络元素,求解程序可凭此条件避免遍历相关元素(除非遍历无法实现或成本过高)。 例如,如果您在安排商业配送车辆的路线时希望它们避免在私家道路上行驶,则可以使用一个约束条件属性并将其使用类型属性设置为避免。 这样选择路线时大多会避免私家道路,但如果配送恰好需要经过私家道路,该路线仍能够到达目的地。 同样,如果在去往停靠点的途中避开私家道路的成本过高(即私家道路附近的绕行路线过长),则求解程序将允许此例外并安排车辆通过私家道路。
首选使用网络元素
约束条件属性使用类型的第三种类型是首选使用约束条件。 可通过首选使用类型配置约束条件属性。 请考虑一辆运送危险材料(危险品)的卡车。 针对运输危险品,有些道路是非法的,有些道路是允许的,而有些道路则是首选的,因为沿着这些道路发生的事故对于应急救援人员来说最容易到达和控制。 您可以通过以下方法对这些规则进行建模:在运送危险材料为非法的道路上配置一个使用类型值为禁止的约束条件属性,而在非常适宜运送危险材料的道路上再配置一个使用类型值为首选的约束条件属性。 这样一来,您的车辆将决不会被安排在禁止的道路上行驶,而是可能被安排在首选使用的道路上行驶。
属性
约束条件选项卡会在上半部分显示网络数据源可用的约束条件属性,并在下半部分显示与选中的约束条件相关联的属性。
属性部分将显示所选约束条件是如何配置的。 它会列出与约束条件属性相关联的元数据,以及有关参数和赋值器是如何配置的详细信息。
以下是“约束条件属性”的属性:
- 名称 - 约束条件属性的名称。
- 使用类型 - 约束条件属性的使用类型。 该属性指定在赋值器值为 True 时,约束条件属性是禁止、避免还是首选网络元素。
- 参数 - 值的占位符,可针对特定分析更改这些值。 每个参数都有一个有意义的默认值,必要时可被覆盖。
- 赋值器 - 网络中定义的每个属性都必须提供与参与网络的每个源和方向(沿边方向和与边相反方向)相对应的值。 赋值器为每个源和行驶方向的属性指定值,每个元素默认的赋值器用于没有为属性分配赋值器的源和方向。
注:
编辑网络数据集中的网络属性最好在不包括使用网络数据集的图层的工程中进行。 如果使用此网络数据集的工程中存在图层,则某些编辑操作可能会在网络数据集属性对话框中遭到拦截。 建议您创建一个空白工程,将连接添加到包含网络数据集的地理数据库中并在此工程中进行编辑。 当使用此网络数据集的图层在 ArcGIS Pro 会话中打开时,将无法添加、删除或重命名成本或约束条件属性。 这是为了确保网络数据集方案更新成功,且使用它的图层在打开时能够被正确初始化。
创建约束条件属性
您可以将约束条件属性配置为与出行模式一起使用。 要创建约束条件属性,请完成以下步骤:
- 网络数据集属性对话框上的访问网络属性。
- 单击约束条件选项卡。
- 单击位于该对话框右上角的选项按钮 。
- 单击菜单中的新建按钮 ,或按 Ctrl+N。
新行即会添加到约束条件部分。
- 在属性部分的名称字段中输入新约束条件属性的名称。
- 从使用类型下拉列表中选择使用类型。
- 如有必要,请展开参数部分以添加新参数。
- 在赋值器部分中,将赋值器分配给源要素。
- 单击出行模式选项卡。
- 如有必要,请展开约束条件部分。
将新的约束条件属性添加到列表。
- 单击确定。
约束条件属性即会保存到网络数据集。
复制约束条件属性
要创建所选约束条件属性的副本,请完成以下步骤:
删除约束属性
要删除约束条件属性,请完成以下步骤:
- 网络数据集属性对话框上的访问网络属性。
- 在约束条件选项卡中,选择要删除的约束条件属性。
- 单击位于该对话框右上角的选项按钮 。
- 单击删除按钮 ,或按 Ctrl+D。
选定的约束属性随即删除。
注:
如果约束条件属性由其他出行模式或属性使用,则删除选项将不可用。 要访问删除按钮,请从所有出行模式和属性中移除所选约束条件属性。编辑约束条件属性
可编辑约束条件属性,以对属性或与约束条件相关的其他属性进行更改。 要编辑约束条件属性,请完成以下步骤:
- 网络数据集属性对话框上的访问网络属性。
- 单击约束条件选项卡。
- 选择要编辑的约束条件属性。
- 在属性部分,对名称和使用类型属性进行必要的编辑。
- 如有必要,可编辑与约束条件属性关联的参数。
- 如有必要,可对约束条件属性的赋值器进行编辑。
- 单击出行模式选项卡。
对约束属性所做的更改将反映在约束部分。