为逻辑示意图布局
各逻辑示意图布局算法可应用于整体内容,也可应用于活动逻辑示意图的一部分。
可采用的布局算法共有三种:
- 地理逻辑示意图布局算法
- 纯逻辑示意图布局算法
- 等级布局算法
此外,您还可以指定一种特殊的逻辑示意图布局算法,即复合布局算法,它可将多个逻辑示意图布局算法彼此链接。
与逻辑示意图布局算法的参数化和执行相关的命令和工具均可从逻辑示意图编辑器工具条中获得,并会在对活动逻辑示意图启动编辑会话后启用。
应用各逻辑示意图布局算法
逻辑示意图布局算法适用于活动逻辑示意图,即从活动逻辑示意图列表中选出的逻辑示意图。只有先对此活动逻辑示意图启动编辑会话,才能对其内容执行逻辑示意图布局算法。如果已在活动逻辑示意图中选定某项内容,则算法将只对选定的逻辑示意图要素进行操作。如果在活动逻辑示意图中未选择任何逻辑示意图要素,算法将应用于整个逻辑示意图。
通常,各逻辑示意图布局算法将根据预定义的参数来执行。参数值可在逻辑示意图布局算法 对话框上进行编辑。
多种逻辑示意图布局可执行在同一逻辑示意图上或逻辑示意图的不同部分上。
通过复合布局算法可使一系列逻辑示意图布局算法彼此链接,从而结合为一种可施加在活动逻辑示意图上的单独操作。
下列步骤详细说明了将逻辑示意图布局算法应用于活动逻辑示意图的方法:
- 在活动逻辑示意图列表中单击所需的逻辑示意图。
- 在逻辑示意图编辑器下拉菜单上,单击开始编辑逻辑示意图 。
- 如果要定义一组将要应用逻辑示意图布局的选定逻辑示意图要素,请激活包含活动逻辑示意图的数据框然后单击编辑/移动逻辑示意图要素按钮 。
- 在布局任务列表中单击所需的布局算法。
- 对于等级布局算法,如果要指定逻辑示意图根结点和终止结点,请分别使用设置逻辑示意图根元素 和设置逻辑示意图终止元素 工具,这样,等级布局便会从指定的逻辑示意图根结点开始并以指定的逻辑示意图终止结点结束。注:
“设置逻辑示意图根结点”和“设置逻辑示意图终止结点”工具仅可用于等级布局,因为该布局需要考虑此类特定的逻辑示意图根结点和终止结点。
- 如果所选逻辑示意图布局使用的是参数,请单击布局算法属性按钮 打开逻辑示意图布局算法 对话框,然后检查或修改所需参数值。
- 单击确定关闭逻辑示意图布局算法 对话框。
如果指定了新的参数值,选定的逻辑示意图布局算法应用于使用同一逻辑示意图模板的任意逻辑示意图时,将考虑这些新参数值,直到在当前 ArcMap 会话中恢复为默认参数或者指定了其他参数。
- 单击应用布局任务按钮 ,将选定的逻辑示意图布局任务应用于活动逻辑示意图。
指定逻辑示意图布局的可用性和布局默认参数
各逻辑示意图布局算法的可用性及其默认参数值可通过逻辑示意图模板进行管理和指定。必须使用“逻辑示意图数据集编辑器”进行管理,并通过任意逻辑示意图模板的“布局”选项卡来存储管理。此“布局”选项卡中将列出已在计算机中注册的所有逻辑示意图布局算法,每种算法表示为一个特定的项。每个算法项可用于指定以下内容:
- 是否可以从 ArcMap 的布局任务下拉列表中获得该逻辑示意图布局算法
- 在关联的“属性”选项卡上要默认设置的参数值
- 逻辑示意图算法属性选项卡是否可编辑
这些配置适用于使用同一逻辑示意图模板的所有逻辑示意图。如果对于某特定逻辑示意图模板,某算法的属性可编辑,则即使指定了默认参数值,也可在需要时指定其他参数值。选定的逻辑示意图布局算法使用这些参数,直到在当前 ArcMap 会话中恢复默认参数或指定了其他参数。
地理逻辑示意图布局算法
地理逻辑示意图布局算法用于分离逻辑示意图中看起来比较接近的逻辑示意图要素,同时尽可能保持各逻辑示意图要素的位置不变。尽管这并不会保留参考系统,但是会保持要素的相对空间位置。无需缩放便可在查看器或图中显示详细信息。使用地理逻辑示意图布局算法所期望达到的效果是,在维持要素间某些原始空间关系的同时使各结点要素的间距规范化。
由于地理逻辑示意图布局算法在执行过程中将使用逻辑示意图要素的当前位置,因此该算法通常适用于逻辑示意图要素经过地理定位的逻辑示意图,但是也可适用于包含未经过地理定位的逻辑示意图要素的逻辑示意图。
可应用于逻辑示意图的地理逻辑示意图布局算法共有八种:
Geo - 遵循角度逻辑示意图布局算法
“Geo - 遵循角度”布局算法用于以渐进方式将逻辑示意图的逻辑示意图链接沿指定的对齐方向移动。对于每条逻辑示意图链接,该算法会考虑当前方向,然后在指定的各个方向中搜索最近的所需方向,最后将链接沿该方向移动。
Geo - 压缩逻辑示意图布局算法
“Geo - 压缩”布局算法会尝试在保持相对定位的同时,将逻辑示意图中所含逻辑示意图要素压缩到逻辑示意图的中部。这非常适用于由于延伸数千英里而难以查看和了解确切地理位置的网络,例如,输配电行业。
Geo - 遵循约束逻辑示意图布局算法
“Geo - 遵循约束”布局算法使用物理模拟绘制图形,就是将图形视为可在其中尝试使能量局部最小化的约束系统。该算法会搜索约束系统的一种平衡状态,即各个逻辑示意图结点所对应的一个位置,在该位置处,每个结点的总约束为零。由于该算法趋于强调包含在逻辑示意图中的环,所以通常由管理高度网格化网络(如,水/废水或天然气)的操作员使用。
Geo - 线性分散逻辑示意图布局算法
“Geo - 线性分散”布局算法可分离活动逻辑示意图中看起来近乎重叠的逻辑示意图结点。该算法将这些逻辑示意图结点沿其连接的逻辑示意图链接进行线性移动。移动量取决于当前结点位置以及当前在线性分派选项卡上设置的参数。“Geo - 线性分散”布局算法用于处理与目标结点相连的逻辑示意图链接。它会考虑这些结点已连接的链接数量,并且还可保留逻辑示意图链接路径。
此布局算法尤其适用于水/废水和天然气应用,但同时也适合其他行业应用。
Geo - 空间分派逻辑示意图布局算法
对于活动逻辑示意图中明显接近重叠状态的逻辑示意图结点,“Geo - 空间分派”布局算法可根据Geo - 空间分派选项卡上当前设置的参数并基于这些结点的当前位置分离这些结点。
Geo - 沿链接旋转结点逻辑示意图布局算法
“Geo - 沿链接旋转结点”布局算法可根据已连接的链接的方向来更改表示逻辑示意图结点的符号的旋转。这些结点将按照指定的角度旋转。为逻辑示意图链接所定义的流向可列入考虑范围,但不是必需的。可以设置一个选项,使得每当在逻辑示意图中手动移动了逻辑示意图要素时,或者在执行了其他逻辑示意图布局算法后,自动执行“Geo - 沿链接旋转结点”布局算法。
算法执行期间计算得出的旋转角度将存储在可用于生成逻辑示意图中结点的各逻辑示意图要素类的 ROTATION 字段中。必须启用该 ROTATION 字段才能符号化逻辑示意图结点,这样它们就会根据计算得出的角度值自动旋转。在 ArcMap 中,您必须单击与所需结点要素图层相关的图层属性 对话框中的高级按钮,再单击旋转,然后在弹出的旋转 对话框中将此字段的按角度旋转点值选为旋转。您还需要选中算术选项,这样就可以按照预期方式旋转指定的符号,即从东开始逆时针方向旋转。
仅当至少为逻辑示意图图层中的一个要素图层启用了 ROTATION 字段时,应用布局任务按钮 才可用。
Geo - 部分重叠链接逻辑示意图布局算法
“Geo - 部分重叠链接”布局算法可检测出活动逻辑示意图中重叠的或接近重叠的共线逻辑示意图链接,或逻辑示意图链接(链接段)的共线部分,并根据部分重叠链接选项卡上设置的参数予以分隔。
该算法可检测出彼此接近、大致平行且长度几乎相等的链接段部分,然后将它们分组到一起。逻辑示意图中每组线段将在线段组中部的左右两侧等距离排开。各条线段之间的距离等于部分重叠链接选项卡中指定的“偏移”参数。该过程会保留线段的原始方向,因此原先位于其他线段左侧的线段最后仍将位于左侧。
“分离重叠链接”逻辑示意图布局算法仅可作用于连接相同起始结点和末端结点的逻辑示意图链接,但是Geo - 部分重叠链接算法却可作用于任意逻辑示意图链接以及链接的某一部分。
Geo - 初始位置逻辑示意图布局算法
“Geo - 初始位置”布局算法可用于恢复活动逻辑示意图中所含全部逻辑示意图要素的初始几何信息。各逻辑示意图结点将按照地理位置进行放置,并将恢复起初沿逻辑示意图链接放置的各个折点。
执行此逻辑示意图布局算法不需要使用参数。
纯逻辑示意图布局算法
对逻辑示意图应用纯逻辑示意图布局算法时将保持网络连通性不变,但是逻辑示意图结点会按照指定了结点间相对位置的一组规则来进行定位,从而创建结点间距离经过规范化的图案式布局。这也包括管理和最小化相邻结点周围空白区域的大小。不会保持结点间的相对位置不变,也不会保留参考系统。空间坐标值将替换为布局算法生成的值。
可应用于逻辑示意图的纯逻辑示意图布局算法共有五种:
格网逻辑示意图布局算法
“格网”布局算法将对与磁格网相关的活动逻辑示意图中的逻辑示意图结点进行排布。基于结点的当前位置并根据在格网选项卡上设置的参数移动这些结点,使一个结点仅占据一个格网像元。按照逻辑示意图结点在数据库中的读取顺序,沿格网从左至右、从上至下放置这些逻辑示意图结点。此算法用于使用格网点构造布局,从而移动逻辑示意图结点。
主环逻辑示意图布局算法
“主环”布局算法可绕主环排列活动逻辑示意图中的逻辑示意图结点和链接,并根据主环选项卡上设置的参数按等级为连接检测到的各主环结点的逻辑示意图结点和链接布局。主环是逻辑示意图中链接最多的环。如果逻辑示意图中不包含环,则执行“主环”布局算法不会产生任何效果。此算法通常用在电信行业。
正交逻辑示意图布局算法
“正交”布局算法可根据正交选项卡中设置的参数正交排列活动逻辑示意图中的逻辑示意图结点和链接。如果为活动逻辑示意图设置了逻辑示意图根结点,则“正交”算法将根据此根结点计算布局。根结点位于底部,并从此结点开始,正交放置其他逻辑示意图结点和链接。
相关主线逻辑示意图布局算法
相关主线逻辑示意图布局算法沿平行直线排列活动逻辑示意图中的逻辑示意图结点和链接(其中所有相连的链接都有相同的属性值),并且放置这些线引出的分支,使它们相对于直线的方向以及相对于原始距离的比例和两者的关系保持不变。其操作依照当前在相关主线选项卡上设置的参数。算法可以从逻辑示意图根结点开始工作,此结点是直线(即主线)开始的点。可使用设置逻辑示意图根结点工具 指定此根结点。如果未指定根结点,算法会自动将其中一个逻辑示意图结点视为根结点。
算法可以应用于各种数据但是尤其适于用在包含平行线(如表示铁轨的线)的示意图。
分离重叠链接逻辑示意图布局算法
“分离重叠链接”布局算法作用于与相同的逻辑示意图起始结点和末端结点相连的逻辑示意图链接。此算法可作用于以下两种不同的对象:
- 起始结点和末端结点相同并且路径完全相同的逻辑示意图链接(所有折点均重叠,因此这些链接完全重叠)
- 起始结点和末端结点相同但链接路径不同的逻辑示意图链接
在以上两种情况中,此算法均会根据分离重叠链接选项卡上设置的参数来分隔检测到的链接。可通过该选项卡上的使用原始链接复选框在两种方式间进行切换。
减少折点逻辑示意图布局算法
使用“减少折点”布局算法,可以根据各折点附属线段所成的角度,以及组成链接的线段相对于最长线段的长度,移除沿逻辑示意图链接显示的折点。如果基于线段长度或折点附属线段所成角度的条件为经过验证,折点将被保留。
等级布局算法
“等级”布局算法是对逻辑示意图中所含逻辑示意图要素进行等级排列的逻辑示意图布局方法。可应用于逻辑示意图的等级布局算法共有四种:
等级 - 压缩树逻辑示意图布局算法
“等级 - 压缩树”布局算法将按等级排列活动逻辑示意图中的逻辑示意图结点和链接,并会根据等级 - 压缩树选项卡中当前设置的参数以压缩树形式来放置它们。该算法可对逻辑示意图要素沿廊道的排列方式进行优化。算法将从逻辑示意图根结点(生成压缩树的起始位置)处开始计算。可使用设置逻辑示意图根结点工具 指定此根结点。如果未指定根结点,算法会自动将其中一个逻辑示意图结点视为根结点。
等级 - 主线树逻辑示意图布局算法
“等级 - 主线树”布局算法沿主要分支按等级排列活动逻辑示意图中的逻辑示意图结点和链接,并根据等级 - 主线树选项卡上设置的参数放置逻辑示意图要素。
使用设置逻辑示意图根元素 和设置逻辑示意图终止元素 工具可在逻辑示意图中指定逻辑示意图根结点和终止结点,这样一来,如果在结点之间存在路径,此算法便可作用于始于指定根结点、终于指定终止结点的主线。默认情况下,如果未设置根结点和终止结点,检测到的主线即为逻辑示意图中带有最多链接的分支。
在任何情况下,主线均位于中心位置,并且与其相关的各个分支将根据分支放置选项的设定情况放置在主线的左侧、右侧或两侧。
等级 - 径向树逻辑示意图布局算法
“等级 - 径向树”布局算法按等级排列活动逻辑示意图中的逻辑示意图要素,并根据等级 - 径向树选项卡上设置的参数以径向树形式放置它们。它会检测出将用作圆心的逻辑示意图结点,从此根结点开始围绕同心圆(每个圆对应一个级别)排列子树。如果某个逻辑示意图结点被设置为特定根结点,则径向树会将此逻辑示意图根结点视为同心圆的圆心。可以使用设置逻辑示意图根元素工具 指定逻辑示意图根结点。
此逻辑示意图布局算法可提供一个等级网络的压缩视图。所有行业均可使用此布局,但建议不要将其用于网状网络。
等级 - 智能树逻辑示意图布局算法
“等级 - 智能树”布局算法按等级排列活动逻辑示意图中的逻辑示意图要素,并根据等级 - 智能树选项卡上设置的参数以智能树形式放置它们。算法将从逻辑示意图根结点(生成智能树时的起始位置)处开始计算。可以使用设置逻辑示意图根结点工具 指定此逻辑示意图根结点。如果未指定逻辑示意图根结点,算法会自动将其中一个逻辑示意图结点视为根结点。
复合布局算法
“复合”布局算法允许配置一组逻辑示意图布局算法,这些算法将按照设置“复合”参数时指定的顺序依次链接起来。
默认情况下,ArcMap 的“布局”任务中并不包含“复合”算法。必须使用“逻辑示意图数据集编辑器”在所需逻辑示意图模板的布局选项卡上启用它。