生成街道工具可用于生成典型街道网络。 可以任意组合三种街道模式(有机、栅格和径向)。 对话框具有许多设置,并允许用户根据需求生成街道网络。
该工具可通过以下方式使用:
- 创建街道网络(取消全选并启动生成器)。
- 通过在生成之前选择现有街道图层来扩展现有的街道网络。
- 扩展现有街道网络的一部分(选择现有街道网络的某些街道并应用该工具)。
您可以通过在主菜单中单击图形 > 生成街道来访问生成街道工具。
注:
该算法可区分主要街道和次要街道。 基本上来说,系统将一直创建主要街道,直到这些街道围成一个区域为止(该区域被称为 1/4 地块)。 然后,1/4 地块将被次要街道细分。 该算法将继续创建主要街道,依此类推。
向导会按照用户所选数量创建街道。 系统会将每条新街道本地添加到现有街道网络中,具体取决于许多设置(其中街道模式可能是最重要的)。
- 基本设置 - 包括要生成的街道数量和街道模式。
- 模式特定设置 - 可以更为精确地定义街道模式。
- 高级设置 - 可指定算法行为和算法约束。
- 环境设置 - 包括多个障碍地图,用于限制生成区域和地形,以使所创建的街道适应高程。
- 街道宽度设置 - 可定义所创建街道的街道宽度。
基本设置
基本设置包括街道数量、街道模式和街道长度。
街道模式需要两个街道长度:长长度和短长度。 有机模式仅需要一个长度(将使用短长度)。
基本设置包括以下参数:
街道数 | 将生成的总街道数。 |
主要街道模式 | 用于主要街道的街道模式:有机、栅格或径向。 |
次要街道模式 | 用于次要街道的街道模式:有机、栅格或径向。 |
长长度 | 长街道的平均长度(用于栅格和径向模式)。 |
长长度偏差 | 在 1/4 地块细分之前,长街道的长度将在 [长长度 - 长长度偏差,长长度 + 长长度偏差] 间隔内随机设置。 对于有机模式,此长度将为每个新街道随机设置。 |
短长度 | 短街道的平均长度(用于所有模式)。 请参阅“短长度偏差”。 |
短长度偏差 | 在 1/4 地块细分之前,短街道的长度将在 [短长度 - 短长度偏差,短长度 + 短长度偏差] 间隔内随机设置。 对于有机模式,此长度将为每个新街道随机设置。 |
模式特定设置
模式特定设置可以更为详细地指定街道模式。
最大弯角(有机) | 有机街道的最大弯角。 新有机街道的角度将在 [指定角度 - 最大弯角,指定角度 + 最大弯角] 间隔内随机设置。 它将定义街道扩展的有效区域(下图中的绿色区域)。 |
城市中心(径向) | 用于径向模式的城市中心。 街道在中心周围或外部呈径向或向心状。 |
最大弯角(径向) | 径向街道的最大弯角。 算法将尝试使指定街道适应径向或向心方向。 最大适应角度将受此参数限制。 |
街道对齐(径向) | 径向街道有一个长长度和一个短长度。 该参数将决定长街道是沿径向对齐、向心对齐还是随机选择对齐方式;(左)径向街道对齐(右)向心街道对齐。 |
高级设置
高级设置可指定算法行为和算法约束。
捕捉距离 | 如果新街道节点与现有街道节点之间的距离小于此捕捉距离,则系统会将新节点捕捉到现有街道节点中。 这样,您即可控制街道网络中任意两个节点之间的最小距离。 请注意,如果次要街道与主要街道相交,则系统仅会应用此距离的一半(以实现更真实的 1/4 地块细分建模)。 |
最小角度 | 街道网络中任意两个相邻街道之间的最小角度。 系统将保证不会生成更小的角度。 |
交叉街道比率 | 使用交叉街道比率,您可以影响 1/4 地块的平均大小。 算法将尝试满足此比率(仅计入主要街道和主要十字路口!)。 如果此比率较大,则 1/4 地块将会较大;如果此比率较小,则 1/4 地块将会较小。 交叉街道比率 = #主要街道节点/#主要十字路口节点,其中街道节点是一个价(价 = 传出图表段数)等于 2 的街道节点,而十字路口节点是一个价大于 2 的十字路口节点。 |
开发中心首选项 | 如果数值较大,则中心附近的街道节点将比外面的节点更有可能得到开发。 中心将定义为所有选定节点的质心。 如果数值较小,则所有节点将有同样的几率得到开发。 |
主要街道的角度偏移 | 在创建主要街道之前,系统会将此偏移角度添加到指定街道角度中。 |
次要街道的角度偏移 | 在创建次要街道之前,系统会将此偏移角度添加到指定街道角度中。 |
环境设置
您可以使用环境地图定义地形或障碍地图等边界条件。
适应高程 | 启用或禁用对高程的适应。 |
临界坡度 | 系统仅适应坡度大于临界坡度的指定街道。 |
最大坡度 | 最大容许街道坡度。 |
适应角度 | 系统将适应指定街道的最大角度(绕 y 轴旋转)。 |
高度地图 | 如果选择了高度地图,则新街道将与高度地图对齐,且如果将其启用(请参见下文),则街道将适应高程。 在组合框中,系统列出了场景的所有地形。 地形是用于定义浮点型属性 elevation 的属性地图。 |
障碍地图 | 如果选择了障碍地图,则新的街道节点将避开障碍。 该街道算法能够规避和绕开障碍。 在组合框中,系统列出了所有障碍地图。 障碍地图是用于定义布尔型属性 obstacle 的属性地图。 |
适应高程
如果选择了地形并启用了适应功能,则新街道对高程的适应将处于活动状态。 如果指定街道的长度接近于长长度,则系统将适应指定街道以便沿高程等值线行进,即目标为创建坡度为 0 的街道。
如果其长度接近于短长度,则系统将适应指定街道,以便最大程度地向上或向下沿高程行进。
街道宽度设置
系统会将街道和人行道宽度分配至新街道。 如果扩展现有街道,则系统会将其街道和人行道宽度复制到新街道。 否则,系统将根据以下参数随机设置街道和人行道宽度。
常规参数
使用街道集成来计算宽度 | 使用图形拓扑通过图形连通性来计算街道和人行道宽度(较慢),否则将使用随机分布的街道宽度(较快)。 |
街道集成参数
街道车道的最小数量 | 每条街道可能拥有的最小车道数。 |
街道车道的最大数量 | 每条街道可能拥有的最大车道数。 |
最小人行道宽度 | 每条街道人行道的最小宽度。 |
最大人行道宽度 | 每条街道人行道的最大宽度。 |
随机分布的街道宽度参数
主要街道宽度 | 主要街道的平均街道宽度。 请参阅“主要街道宽度偏差”。 |
主要街道宽度偏差 | 主要街道的街道宽度偏差。 系统将在 [主要街道宽度 - 主要街道宽度偏差,主要街道宽度 + 主要街道宽度偏差] 间隔内随机设置街道宽度。 |
主要街道人行道宽度 | 主要街道的平均人行道宽度。 请参阅“主要街道人行道宽度偏差”。 |
主要街道人行道宽度偏差 | 主要街道的人行道宽度偏差。 系统将在 [主要街道人行道宽度 - 主要街道人行道宽度偏差,主要街道人行道宽度 + 主要街道人行道宽度偏差] 间隔内随机设置人行道宽度。 |
次要街道宽度 | 次要街道的平均街道宽度。 请参阅“次要街道宽度偏差”。 |
次要街道宽度偏差 | 次要街道的街道宽度偏差。 系统将在 [次要街道宽度 - 次要街道宽度偏差,次要街道宽度 + 次要街道宽度偏差] 间隔内随机设置街道宽度。 |
次要街道人行道宽度 | 次要街道的平均人行道宽度。 请参阅“次要街道人行道宽度偏差”。 |
次要街道人行道宽度偏差 | 次要街道的人行道宽度偏差。 系统将在 [次要街道人行道宽度 - 次要街道人行道宽度偏差,次要街道人行道宽度 + 次要街道人行道宽度偏差] 间隔内随机设置人行道宽度。 |
街道模式示例
作为印象的工作流示例
- 创建一条单独的街道。
- 使用栅格模式的第一个生成阶段。
- 使用栅格模式的第二个生成阶段。
- 将连接两个网络。
参数集
- 栅格模式。
- 径向模式。
- 有机模式。
- 径向模式为主,栅格模式为辅的街道。
- 有机圆形模式。
- 蜂巢样式。
- 眼镜样式。
- 栅格的有机分布。