力导向是一种适用于任何逻辑示意图类型的逻辑示意图布局算法。
此布局算法使用物理模拟绘制图形,方法是通过标识在其中尝试使能量局部最小化的约束系统。该算法会搜索约束系统的一种平衡状态,即各个逻辑示意图交汇点所对应的一个位置,在该位置处,每个交汇点的总约束为零。
由于该算法趋于强调包含在网络逻辑示意图中的环,所以通常由管理高度网格化网络(如,水、废水或天然气)的操作员使用。
下图显示了应用力导向布局之前和之后的示例逻辑示意图:
在活动逻辑示意图地图视图上应用力导向布局
在网络逻辑示意图上应用此布局时,必须满足以下先决条件:
- 由于此操作是事务性操作,因此必须先保存编辑,然后再运行。
- 要应用布局的输入网络逻辑示意图图层必须来自文件地理数据库中的公共设施网络或追踪网络或网络逻辑示意图服务。使用企业级地理数据库中的公共设施网络或追踪网络时,输入网络逻辑示意图图层必须来自服务。
要在活动的逻辑示意图地图视图上应用力导向布局,请执行以下操作之一:
- 在网络逻辑示意图选项卡上,单击位于布局组的逻辑示意图布局按钮上的下拉箭头,然后单击库中的力导向布局项目。
- 加载地理处理窗格中的应用力导向布局工具。
然后调整应用力导向布局参数并单击运行。
注:
要对网络逻辑示意图中的一部分要素应用布局,请使用其中一种选择要素工具(例如按矩形选择、按面选择等),并在运行前选择逻辑示意图要素。
在逻辑示意图模板上配置力导向布局
要在逻辑示意图模板上配置此布局,请使用添加力导向布局工具。
力导向布局参数
以下部分阐明了主要的“力导向”逻辑示意图布局参数。
保留容器布局
大多数布局算法都适用于保留容器布局选项。此选项可用于控制算法执行,以使其对逻辑示意图的上方图(选中保留容器布局)或逻辑示意图中的内容和非内容要素(未选中保留容器布局)执行。
迭代次数
要处理的迭代次数。
下图显示了在排斥系数和自由度相同的情况下增加迭代次数时生成的逻辑示意图之间的差异:
排斥系数
此参数用于在接近的逻辑示意图交汇点之间添加距离。排斥系数越大,则将在接近重叠的逻辑示意图交汇点之间添加的距离越大。
自由度
此参数可控制每次算法迭代过程中,用于移动逻辑示意图交汇点的面积。该参数为 0 与 100 之间的一个数字。自由度越低,该面积越大。
下图显示了将布局应用于示例逻辑示意图时不同自由度的影响:
边显示类型和中断点相对位置
边显示类型参数用于指定算法是否会使逻辑示意图边弯曲:弯曲边或规则边:
当边显示类型设置为规则边时,系统将忽略中断点相对位置。
当边显示类型设置为弯曲边时,中断点相对位置将用于计算沿逻辑示意图边插入的两个拐点的相对位置,以计算弯曲边几何。以 15 至 40 之间的百分比来表示。如果中断点相对位置 (%) 值为介于 15 至 40 之间的 N:
- X 为边的自交汇点的 x 坐标,Y 为水平树边的至交汇点的 y 坐标:
- 第一个拐点将定位在 [XY] 线段长度的 N%。
- 第二个拐点将定位在 [XY] 线段长度的 (100 - N)%。
- Y 为边的自交汇点的 y 坐标,X 为垂直树边的至交汇点的 x 坐标:
- 第一个拐点将定位在 [YX] 线段长度的 N%。
- 第二个拐点将定位在 [XY] 线段长度的 (100 - N)%。