可以在检查器中的区块参数下方指定区块细分的参数。 可以为每个区块分别设置区块参数。
注:
可以将参数(属性)映射到默认、用户、对象或地图图层。 有关详细信息,请参阅映射属性。
地块默认规则
您可以将区块划分为面形状或地块。 地块具有以下默认初始规则:
地块 | 与街道接触的面形状。 |
LotInner | 位于区块中但不与街道接触的地块。 |
LotCorner | 当您在具有递归或偏移细分的区块上设置 Block Corner Length 参数时,系统将在为地块的拐角指定宽度时进行创建。 |
当在一个区块中选择一个地块形状时,它将显示一个初始规则:
细分类型参数
您可以使用几个参数控制街道形状,请参阅细分类型。
细分类型(attr 类型) | |
指定要使用的细分算法:Recursive Subdivision、Offset Subdivision、Skeleton Subdivision 或 No Subdivision | |
Recursive Subdivision 可通过重复分割区块来创建矩形地块。 | |
Offset Subdivision 仅可在距区块街道边的给定距离内创建地块。 | |
Skeleton Subdivision 将创建始终可以访问的与街道对齐的地块。 | |
No Subdivision 不会对此形状执行细分。 |
常规区块参数
下表描述了所有区块类型共有的参数。
地形对齐(attr 对齐) | |
仅当初始形状不均匀时才会使用此参数。 可将其用于在地形上设置地块的对齐方式。 共有四个数值选项,如下所示。 | |
有效值为 [0,1,2,3] | |
0. Uneven。 在高度不均匀的情况下,地块将随沿地形。 | |
1. Minimum。 地块将位于其所覆盖地形的最低点。 | |
2. Maximum。 将使用地块的最高点。 | |
3. Average。 将使用地块的平均高度。 |
创建形状 (attr shapeCreation) | |
启用/禁用从路段创建形状几何。 |
递归细分
递归细分技术是默认设置。 该技术可将区块细分为各种大小的矩形地块。
强制街道访问权限 (attr forceStreetAccess) | |
表示具有街道访问权限的地块的优先级的系数。 较高的值会导致更多地块具有街道访问权限。 | |
将以范围 [0.0,1.0] 提供 | |
面向接近于 0 的强制街道访问权限值获得的细分。 | |
面向接近于 1.0 的强制街道访问权限值获得的细分。 |
最小地块面积 (attr lotAreaMin) 和最大地块面积 (attr lotAreaMax) | |
细分后获得的地块面积的近似下限和上限。 | |
将以绝对面积单位提供 | |
面向较小的 Lot Area Min 和 Lot Area Max 值获得的细分。 | |
面向较大的 Lot Area Min 和 Lot Area Max 值获得的细分。 | |
当 Lot Area Max 和 Lot Area Min 之间差异较小时获得的细分。 | |
当 Lot Area Max 和 Lot Area Min 之间差异较大时获得的细分。 |
最小地块宽度 (attr lotWidthMin) | |
地块边的最小宽度。 如果任何所生成地块的任何边的长度小于此值,则细分将停止。 如果此值很高,则所生成地块的面积可能大于 Lot Area Max 指定的面积。 | |
将以绝对长度单位提供 | |
针对较小的最小地块宽度值获得的细分。 | |
针对较大的最小地块宽度值获得的细分。 |
细分不规则(attr 不规则) | |
分割线与“定向边界框”(OBB) 中心中点的相对偏差。 如果此值为 0.0,则分割线将在父地块 OBB 的中点处旋转。 较高的值会导致分割线距离中点更远,且通常会导致两个子结点的面积差异较大。 | |
将以范围 [0.0,1.0] 提供 | |
针对接近于 0 的细分不规则值获得的细分。 | |
针对接近于 0.5 的细分不规则值获得的细分。 |
细分种子(attr 种子) | |
为了提升细分在交互式编辑操作下的稳定性,在递归调用细分函数之前,系统将先计算给定地块的子地块的随机种子。 |
区块拐角角度阈值 (attr cornerAngleMax) | |
拐角角度阈值。 如果区块轮廓折点处的角度小于此值,则系统将插入拐角地块。 较大的值会导致插入拐角的条件更为宽松,因此会创建更多的拐角。 如果此值为 0.0,则不会创建任何拐角。 | |
将以度为单位提供 | |
针对较小的区块拐角角度阈值值获得的细分。 | |
针对较大的区块拐角角度阈值值获得的细分。 |
区块拐角长度 (attr cornerWidth) | |
所创建拐角内侧的宽度。 如果此值为 0.0,则不会创建任何拐角。 系统将自动计算该属性的最大值,以免出现自相交。 | |
将以绝对长度单位提供 | |
针对较小的区块拐角长度值获得的细分。 | |
针对较大的区块拐角长度值获得的细分。 |
偏移细分
系统将偏移使用偏移细分的区块,以沿街道边创建固定宽度的条带,然后将其细分为地块。
偏移宽度 (attr offsetWidth) | |
从区块等值线到向内偏移面的垂直距离。 直观来看,该值与使用偏移细分时所创建地块的深度相对应。
| |
将以绝对长度单位提供 | |
针对较小的偏移宽度值获得的细分。 | |
针对较大的偏移宽度值获得的细分。 |
递归细分 | |
在执行偏移例程后,还可通过一个选项对结果运行递归细分。 该操作将由与递归细分方案相同的参数集进行控制。 |
有关其余的特定参数,请参阅递归细分。
框架细分
框架细分将尝试对区块进行细分,从而使每个地块都可以访问街道。 地块的各个侧将垂直于相邻的道路。
浅地块分数 (attr shallowLotFrac) | |
合并三角地块的限制。 | |
针对较小的浅地块分数值获得的细分。 | |
针对较大的浅地块分数值获得的细分。 |
拐角对齐 (attr cornerAlignment) | |
细分框架地块将面向距其最近的街道。 在两条街道的拐角处,通常会优先选择其中一条。 拐角对齐将确定分配此优先级的方式(通过街道长度或街道宽度)。 | |
街道宽度:最宽的街道优先。 如果街道的平均宽度相似,则系统将改用街道长度。 | |
街道长度:最长的街道优先。 |
简化(attr 简化) | |
进行的简化数量。 较高的值将创建具有较少折点的不规则地块。 | |
将以范围 [0.0,1.0] 提供 | |
针对较小的简化值获得的细分。 | |
针对较大的简化值获得的细分。 |
最小地块面积 (attr lotAreaMin) | |
细分后,面积较小的地块将与其相邻地块反复合并,直到其面积大于此最小值为止。 这样可以减少地块的数量,但可能会创建形状更不规则的地块。 | |
将以绝对面积单位提供 |
最小地块宽度 (attr lotWidthMin) | |
每个地块应拥有的理想街道前面长度。 该长度可通过其他几个过程来增加或减少。 相对于区块大小较小的地块宽度可能会导致创建许多较窄地块。 | |
将以绝对长度单位提供 | |
针对最小地块宽度值为 15 获得的细分。 | |
针对最小地块宽度值为 30 获得的细分。 |
细分不规则(attr 不规则) | |
随着此参数的增大,系统会将随机元素引入地块宽度和地块边方向。 | |
将以范围 [0.0,1.0] 提供 | |
针对较小的细分不规则值获得的细分。 | |
针对较大的细分不规则值获得的细分。 |
细分种子(attr 种子) | |
为了提升细分在交互式编辑操作下的稳定性,在递归调用细分函数之前,系统将先计算给定地块的子地块的随机种子。 |
无细分
无细分 | |
这种简单的细分技术会将区块细分为相同形状的单个地块。 可以通过一个选项来移除地块的拐角。 |
算法的描述
递归 OBB 算法
递归 OBB 算法可在每个步骤中计算一条分割线。 如果分割产生的两个地块满足用户指定的约束条件,则算法将对其执行递归。 要确定分割线的枢轴点和方向,需要计算该地块的最小面积定向边界框 (OBB)。 默认情况下,枢轴点设置为 OBB 最大边的中点,而分割线方向设置为 OBB 最小边的方向。 分割线的枢轴和方向可通过以下三个条件进行修改:
- 街道访问权限:如果分割产生的地块之一没有街道访问权限,则系统将使用初始方向矢量的正交矢量。
- 捕捉到区块等值线折点:如果分割线与原始区块等值线折点之一的距离在某个阈值之内,则分割线的枢轴点将设置为该折点。
- 边对齐:为了提升细分在交互式编辑操作下的稳定性,用于计算 OBB 近似值的采样角度空间将使用地块边之一作为参考。
- 随机种子:为了提升细分在交互式编辑操作下的稳定性,在递归调用细分函数之前,系统将先计算给定地块的子地块的随机种子。
偏移算法
偏移细分算法将计算区块等值线的向内偏移,并将区块等值线与其偏移之间的条带细分为地块。 向内偏移将使用 CGA 进行计算。 系统将沿偏移计算一组采样点。 连续点之间的距离将根据用户指定的地块面积计算得出。 系统将使用与采样点处的偏移正交且穿过采样点的线在区块等值线和偏移之间分割条带。
框架细分算法
框架细分算法将使用直线框架(下方、左上方)来标识区块的中心线。 通过一组给定的框架面,我们可以确定那些街道边相邻且曲率相似的面(下方、右上方)。 随后即可将这些面分组在一起。 对于每个拐角,对齐优先级(请参阅拐角对齐)将决定我们如何分配这些面组的拐角部分(下方、左下方)。 最后,系统将在垂直于面组街道边的方向上对每个面组进行剖切以创建地块,并将小地块合并到一起,直到其大于最小地块面积为止。
一致索引
由于细分算法的递归性质以及由形状属性所决定的不同条件,在执行编辑操作之后,细分所生成地块的顺序可能会发生很大变化。 如果地块内部生成了模型,则这一点会带来很大的不便。
为了提升两个连续细分之间地块索引的一致性,该算法将使用基于广义重心坐标的指标来计算两个细分中每个细分的每个地块的相对位置。 在此重心空间中,彼此最接近的成对地块将被分配相同的索引。
也可使用同样的方法来提高每个地块种子的一致性。 结果,在两个不同的细分配置下,相对位于区块相同位置的两个地块将有更大的机会共享相同的种子和属性。 下图显示了一个细分以及根据一种语法生成的形状,该语法可将 15 种可能的随机颜色之一分配给每个地块。 由于上述一致性逻辑的缘故,即使编辑操作导致细分的拓扑和几何不同,系统也将保留区块内相对位置相似的地块的颜色。
初始区块的细分 | |
交互式编辑后的区块细分 |
自动生成街道宽度属性
对于所生成的每个地块,系统都将生成街道宽度对象属性的数组。
注:
地块的第一个边是具有最大街道宽度的边。