智能树是一种树布局算法,适用于任何类型的逻辑示意图。
此布局算法会对逻辑示意图要素进行等级排列,并根据指定的方向和间距将它们置于智能树中。
在应用智能树布局之前,可以在逻辑示意图交汇点上设置根标记。
如果在逻辑示意图中指定根交汇点,则智能树布局算法将构建从交汇点开始的智能树。
如果在逻辑示意图中指定多个根交汇点,则这些根交汇点沿垂直于树方向的同一个轴对齐,并显示为逻辑示意图树分支的不同起始点。
如果未指定根交汇点,则算法将识别与最小网络拓扑索引关联的逻辑示意图交汇点,并将此交汇点用作根交汇点。
以下示例分别显示了应用智能树布局之前和之后的逻辑示意图:

在活动逻辑示意图地图视图上应用智能树布局
在网络逻辑示意图上应用此布局时,必须满足以下先决条件:
- 由于此操作是事务性操作,因此必须先保存编辑,然后再运行。
- 要应用布局的输入网络逻辑示意图图层必须来自文件地理数据库或移动地理数据库中的公共设施网络或追踪网络,或者网络逻辑示意图服务。 使用企业级地理数据库中的公共设施网络或追踪网络时,输入网络逻辑示意图图层必须来自服务。
要在活动逻辑示意图地图视图上应用智能树布局,请执行以下操作之一:
- 在网络逻辑示意图选项卡上,单击布局组中的逻辑示意图布局按钮上的下拉箭头,然后根据所需的树方向,单击库中的智能树布局项目之一:
、
、
、
。
- 在地理处理窗格中加载应用智能树布局工具,调整智能树布局参数,然后单击运行。
注:
要对网络逻辑示意图中的一部分要素应用布局算法,请使用其中一种选择要素工具(例如按矩形选择、按面选择等),并在运行前选择逻辑示意图要素。
在逻辑示意图模版上配置智能树布局
要在逻辑示意图模板上配置此布局,请使用添加智能树布局工具。
智能树布局参数
以下部分阐明了主要的“智能树”逻辑示意图布局参数。

保留容器布局
大多数布局算法都适用于保留容器布局选项。 选中此选项后,您可以控制算法应用程序,使其在逻辑示意图的顶部图形上运行。 如果未选中此选项,则将针对逻辑示意图中的内容要素和非内容要素应用算法。
树方向
此参数用于设置树的方向:

间距值解释为逻辑示意图坐标系中的绝对单位
部分布局算法适用于间距值解释为逻辑示意图坐标系中的绝对单位选项。 此选项可指定将如何解释表示距离的参数:
- 选中 - 布局算法会按线性单位来解释任意距离值。
- 未选中 - 布局算法会将所有距离值解释为当前逻辑示意图范围内交汇点大小的估算平均值的相对单位。 这是默认设置。
子树之间的间距
此参数用于指定两个相邻子树之间的间距;即垂直于智能树方向显示并属于不同子树的逻辑示意图交汇点之间的间距;例如以下 A 间距:

交汇点之间的间距垂直于方向
此参数用于设置垂直于智能树方向显示并属于相同子树级别的逻辑示意图交汇点之间的间距,即以下 B 间距:

交汇点之间的间距沿着方向
此参数值用于指定沿智能树方向显示的逻辑示意图交汇点之间的间距;即以下 C 间距:

不相交图形之间
此参数用于指定当逻辑示意图包含不相交图形时,属于此类图形的要素之间的最小间距,即以下 D 间距:

边显示类型、中断点相对位置和偏移
这些参数相关。 根据指定的边显示类型参数值,将使用中断点相对位置和偏移参数。
边显示类型
边显示类型参数用于指定与树分支相关的逻辑示意图边的显示方式。 树分支几何有三种类型:
- 弯曲边 - 与树分支相关的所有逻辑示意图边都是弯曲的。
- 规则边 - 与树分支相关的所有逻辑示意图边不会显示为直角。
- 正交边 - 与树分支相关的所有逻辑示意图边将显示为直角。

中断点相对位置
中断点相对位置参数可指定边显示类型为规则边或正交边时,将沿逻辑示意图边插入的中断点的相对位置。 以 0 至 100 之间的百分比来表示。
- 当中断点相对位置 (%) 的值为 0 时,中断点位于边的自交汇点的 x 坐标,以及水平树边的至交汇点的 y 坐标。 中断点位于边的自交汇点的 y 坐标,以及垂直树边的至交汇点的 x 坐标。
- 当中断点相对位置 (%) 的值为 100 时,即表示未在逻辑示意图边上插入任何中断点;每条逻辑示意图边直接连接其自和至交汇点。
- 当中断点相对位置 (%) 的值为介于 0 至 100 之间的 N 时,中断点位于 [XY] 线段长度的 N%,其中 X 表示边的自交汇点的 x 坐标,Y 表示水平树边的至交汇点的 y 坐标。 中断点位于 [YX] 线段长度的 N%,其中 Y 表示边的自交汇点的 y 坐标,X 表示垂直树边的至交汇点的 x 坐标。

当边显示类型为弯曲边时,中断点相对位置参数将用于计算沿逻辑示意图边插入的两个拐点的相对位置,以计算弯曲边几何。 以 15 至 40 之间的百分比来表示。如果中断点相对位置 (%) 值为介于 15 和 40 之间的 N,则以下情况适用:
- X 为边的自交汇点的 x 坐标,Y 为水平树边的至交汇点的 y 坐标:
- 第一个拐点将定位在 [XY] 线段长度的 N%。
- 第二个拐点将定位在 [XY] 线段长度的 (100 - N)%。
- Y 为边的自交汇点的 y 坐标,X 为垂直树边的至交汇点的 x 坐标:
- 第一个拐点将定位在 [YX] 线段长度的 N%。
- 第二个拐点将定位在 [XY] 线段长度的 (100 - N)%。

偏移
当边显示类型为正交边时,偏移参数将指定用于分隔重叠线段的偏移。 它是一个双精度值,不能超过为其他间距参数指定的最小值的 10%。
