应用智能树布局 (网络逻辑示意图)

摘要

用于按等级排列逻辑示意图要素并将其置于智能树中。

了解有关智能树布局算法的详细信息

警告:

如果您具有处于打开状态的编辑会话,则在运行此工具前,必须先保存您的编辑内容。从而确保逻辑示意图可反映对数据库中网络拓扑所做的最新更改。如果保存编辑内容失败,则编辑内容不会反映在逻辑示意图中。

注:

各布局算法均包括默认参数值。除非另行指定,否则将使用默认参数值。如果输入网络逻辑示意图基于模板且已使用其他参数值来配置此布局,则会使用该值。

使用情况

  • 在与企业级地理数据库中的公共设施网络或追踪网络数据库连接搭配使用时,系统不支持此工具。您必须使用相关的已发布公共设施网络或追踪网络服务或文件地理数据库中的公共设施网络或追踪网络。

  • 输入网络逻辑示意图图层必须来自文件地理数据库中的公共设施网络或追踪网络或者网络逻辑示意图服务。

  • 此布局算法会对逻辑示意图要素进行等级排列,并根据指定的方向和间距将它们置于智能树中。

  • 如果在逻辑示意图中指定根交汇点,则智能树布局算法将构建从交汇点开始的智能树。

    如果在逻辑示意图中指定多个根交汇点,则这些根交汇点沿垂直于树方向的同一个轴对齐,并显示为逻辑示意图树分支的不同起始点。

    如果未指定根交汇点,则算法将识别与最小网络拓扑索引关联的逻辑示意图交汇点,并将此交汇点用作根交汇点。

  • 当处理非常大的逻辑示意图时,请考虑在服务器上以异步模式应用布局

参数

标注说明数据类型
输入网络逻辑示意图图层

将应用布局的网络逻辑示意图。

Diagram Layer
保留容器布局
(可选)

指定算法将如何处理容器。

  • 选中 - 将对逻辑示意图的上方图执行布局算法,以保留容器。
  • 未选中 - 将对逻辑示意图中的内容要素和非内容要素执行布局算法。这是默认设置。

Boolean
树方向
(可选)

指定树的方向。

  • 从左到右将从左到右绘制树。这是默认设置。
  • 从右到左将从右到左绘制树。
  • 从下到上将从下到上绘制树。
  • 从上到下将从上到下绘制树。
String
间距值解释为逻辑示意图坐标系中的绝对单位
(可选)

指定将如何解释表示距离的参数。

  • 选中 - 布局算法会按线性单位来解释任意距离值。
  • 未选中 - 布局算法会将所有距离值解释为当前逻辑示意图范围内交汇点大小的估算平均值的相对单位。这是默认设置。

Boolean
子树之间的间距
(可选)

两个相邻子树之间的间距 - 即,垂直于智能树方向显示并且属于不同子树的逻辑示意图交汇点之间的间距。默认值为逻辑示意图坐标系中的单位。此参数只能与绝对单位搭配使用。

Linear Unit
子树之间的间距
(可选)

两个相邻子树之间的间距 - 即,垂直于智能树方向显示并且属于不同子树的逻辑示意图交汇点之间的间距。默认值为 2。此参数只能与比例单位搭配使用。

Double
交汇点之间的间距垂直于方向
(可选)

垂直于智能树方向显示,并且属于相同子树级别的逻辑示意图交汇点之间的间距。默认值为 2(采用逻辑示意图坐标系的单位)。此参数只能与绝对单位搭配使用。

Linear Unit
交汇点之间的间距垂直于方向
(可选)

垂直于智能树方向显示,并且属于相同子树级别的逻辑示意图交汇点之间的间距。默认值为 2。此参数只能与比例单位搭配使用。

Double
交汇点之间的间距沿着方向
(可选)

沿智能树方向显示的逻辑示意图交汇点之间的间距。默认值为 2(采用逻辑示意图坐标系的单位)。此参数只能与绝对单位搭配使用。

Linear Unit
交汇点之间的间距沿着方向
(可选)

沿智能树方向显示的逻辑示意图交汇点之间的间距。默认值为 2。此参数只能与比例单位搭配使用。

Double
不相交图形之间
(可选)

当逻辑示意图包含不相交图形时,属于此类图形的要素之间的最小间距。此参数与绝对单位搭配使用。默认值为 4(采用逻辑示意图坐标系的单位)。

Linear Unit
不相交图形之间
(可选)

当逻辑示意图包含不相交图形时,属于此类图形的要素之间的最小间距。此参数与比例单位搭配使用。默认值为 4。

Double
正交显示的边
(可选)
Boolean
中断点相对位置 (%)
(可选)

边显示类型规则边(在 Python 中为 edge_display_type = "REGULAR_EDGES")或边显示类型正交边(在 Python 中为 edge_display_type = "ORTHOGONAL_EDGES")时,将沿逻辑示意图边插入的中断点的相对位置。以 0 至 100 之间的百分比来表示。

  • 当中断点相对位置 (%) 的值为 0 时,中断点位于边的自交汇点的 x 坐标,以及水平树边的至交汇点的 y 坐标。中断点位于边的自交汇点的 y 坐标,以及垂直树边的至交汇点的 x 坐标。
  • 当中断点相对位置 (%) 的值为 100 时,即表示未在逻辑示意图边上插入任何中断点;每条逻辑示意图边直接连接其自和至交汇点。
  • 当中断点相对位置 (%) 的值为介于 0 至 100 之间的 N 时,中断点位于 [XY] 线段长度的 N%,其中 X 表示边的自交汇点的 x 坐标,Y 表示水平树边的至交汇点的 y 坐标。中断点位于 [YX] 线段长度的 N%,其中 Y 表示边的自交汇点的 y 坐标,X 表示垂直树边的至交汇点的 x 坐标。

边显示类型弯曲边(在 Python 中为 edge_display_type = "CURVED_EDGES")时,将沿逻辑示意图边插入、用于计算弯曲边几何的两个拐点的相对位置。以 15 至 40 之间的百分比来表示。如果中断点相对位置 (%) 值为介于 15 至 40 之间的 N:

  • X 为边的自交汇点的 x 坐标,Y 为水平树边的至交汇点的 y 坐标:
    • 第一个拐点将定位在 [XY] 线段长度的 N%。
    • 第二个拐点将定位在 [XY] 线段长度的 (100 - N)%。
  • Y 为边的自交汇点的 y 坐标,X 为垂直树边的至交汇点的 x 坐标:
    • 第一个拐点将定位在 [YX] 线段长度的 N%。
    • 第二个拐点将定位在 [XY] 线段长度的 (100 - N)%。

注:

上述自和至交汇点的概念与树方向相关;它与网络中的边要素或边对象的真实拓扑无关。

Double
边显示类型
(可选)

指定与树分支相关的逻辑示意图边的显示类型。

  • 规则边与树分支相关的所有逻辑示意图边将不会显示为直角。这是默认设置。
  • 正交边与树分支相关的所有逻辑示意图边将显示为直角。
  • 弯曲边与树分支相关的所有逻辑示意图边将显示为曲线。
String
在服务器上以异步模式运行
(可选)

指定布局算法在服务器上将异步运行还是同步运行。

  • 选中 - 布局算法将在服务器上异步运行。服务器资源可通过该选项来运行超时较长的布局算法。当执行耗时且可能导致服务器超时的布局(例如,部分重叠边)并应用于大型逻辑示意图(超过 25,000 个要素)时,建议进行异步运行。
  • 未选中 - 布局算法将在服务器上同步运行。如果执行时超过服务超时值(默认为 600 秒),则布局算法可能失败,无法完成。这是默认设置。

Boolean
绝对偏移
(可选)

此偏移用于在使用绝对单位和边显示类型正交边时分隔重叠线段。该值不能超过为其他间距参数指定的最小值的 10%。默认值为 0。

Linear Unit
比例偏移
(可选)

此偏移用于在使用比例单位和边显示类型正交边时分隔重叠线段。它是一个双精度值,不能超过为其他间距参数指定的最小值的 10%。默认值为 0。

Double

派生输出

标注说明数据类型
输出网络逻辑示意图

更新的网络逻辑示意图图层。

逻辑示意图图层

arcpy.nd.ApplySmartTreeLayout(in_network_diagram_layer, {are_containers_preserved}, {tree_direction}, {is_unit_absolute}, {subtree_absolute}, {subtree_proportional}, {perpendicular_absolute}, {perpendicular_proportional}, {along_absolute}, {along_proportional}, {disjoined_graph_absolute}, {disjoined_graph_proportional}, {are_edges_orthogonal}, {breakpoint_position}, {edge_display_type}, {run_async}, {offset_absolute}, {offset_proportional})
名称说明数据类型
in_network_diagram_layer

将应用布局的网络逻辑示意图。

Diagram Layer
are_containers_preserved
(可选)

指定算法将如何处理容器。

  • PRESERVE_CONTAINERS 将对逻辑示意图的上方图执行布局算法,以保留容器。
  • IGNORE_CONTAINERS将对逻辑示意图中的内容要素和非内容要素执行布局算法。这是默认设置。
Boolean
tree_direction
(可选)

指定树的方向。

  • FROM_LEFT_TO_RIGHT将从左到右绘制树。这是默认设置。
  • FROM_RIGHT_TO_LEFT将从右到左绘制树。
  • FROM_BOTTOM_TO_TOP将从下到上绘制树。
  • FROM_TOP_TO_BOTTOM将从上到下绘制树。
String
is_unit_absolute
(可选)

指定将如何解释表示距离的参数。

  • ABSOLUTE_UNIT布局算法会按线性单位来解释任意距离值。
  • PROPORTIONAL_UNIT布局算法会将所有距离值解释为当前逻辑示意图范围内交汇点大小的估算平均值的相对单位。这是默认设置。
Boolean
subtree_absolute
(可选)

两个相邻子树之间的间距 - 即,垂直于智能树方向显示并且属于不同子树的逻辑示意图交汇点之间的间距。默认值为逻辑示意图坐标系中的单位。此参数只能与绝对单位搭配使用。

Linear Unit
subtree_proportional
(可选)

两个相邻子树之间的间距 - 即,垂直于智能树方向显示并且属于不同子树的逻辑示意图交汇点之间的间距。默认值为 2。此参数只能与比例单位搭配使用。

Double
perpendicular_absolute
(可选)

垂直于智能树方向显示,并且属于相同子树级别的逻辑示意图交汇点之间的间距。默认值为 2(采用逻辑示意图坐标系的单位)。此参数只能与绝对单位搭配使用。

Linear Unit
perpendicular_proportional
(可选)

垂直于智能树方向显示,并且属于相同子树级别的逻辑示意图交汇点之间的间距。默认值为 2。此参数只能与比例单位搭配使用。

Double
along_absolute
(可选)

沿智能树方向显示的逻辑示意图交汇点之间的间距。默认值为 2(采用逻辑示意图坐标系的单位)。此参数只能与绝对单位搭配使用。

Linear Unit
along_proportional
(可选)

沿智能树方向显示的逻辑示意图交汇点之间的间距。默认值为 2。此参数只能与比例单位搭配使用。

Double
disjoined_graph_absolute
(可选)

当逻辑示意图包含不相交图形时,属于此类图形的要素之间的最小间距。此参数与绝对单位搭配使用。默认值为 4(采用逻辑示意图坐标系的单位)。

Linear Unit
disjoined_graph_proportional
(可选)

当逻辑示意图包含不相交图形时,属于此类图形的要素之间的最小间距。此参数与比例单位搭配使用。默认值为 4。

Double
are_edges_orthogonal
(可选)

指定将如何显示与树分支相关的逻辑示意图边。

旧版本:

此参数已在 ArcGIS Pro 2.8 中弃用。如果指定了 edge_display_type 参数,则无论其值是多少,都会被系统忽略。但是,为了保持与 ArcGIS Pro 2.1 的兼容性,如果未指定 edge_display_type 参数,则其将保持启用状态。

  • ORTHOGONAL_EDGES与树分支相关的所有逻辑示意图边将显示为直角。
  • SLANTED_EDGES与树分支相关的所有逻辑示意图边将不会显示为直角。这是默认设置。
Boolean
breakpoint_position
(可选)

边显示类型规则边(在 Python 中为 edge_display_type = "REGULAR_EDGES")或边显示类型正交边(在 Python 中为 edge_display_type = "ORTHOGONAL_EDGES")时,将沿逻辑示意图边插入的中断点的相对位置。以 0 至 100 之间的百分比来表示。

  • 当中断点相对位置 (%) 的值为 0 时,中断点位于边的自交汇点的 x 坐标,以及水平树边的至交汇点的 y 坐标。中断点位于边的自交汇点的 y 坐标,以及垂直树边的至交汇点的 x 坐标。
  • 当中断点相对位置 (%) 的值为 100 时,即表示未在逻辑示意图边上插入任何中断点;每条逻辑示意图边直接连接其自和至交汇点。
  • 当中断点相对位置 (%) 的值为介于 0 至 100 之间的 N 时,中断点位于 [XY] 线段长度的 N%,其中 X 表示边的自交汇点的 x 坐标,Y 表示水平树边的至交汇点的 y 坐标。中断点位于 [YX] 线段长度的 N%,其中 Y 表示边的自交汇点的 y 坐标,X 表示垂直树边的至交汇点的 x 坐标。

边显示类型弯曲边(在 Python 中为 edge_display_type = "CURVED_EDGES")时,将沿逻辑示意图边插入、用于计算弯曲边几何的两个拐点的相对位置。以 15 至 40 之间的百分比来表示。如果中断点相对位置 (%) 值为介于 15 至 40 之间的 N:

  • X 为边的自交汇点的 x 坐标,Y 为水平树边的至交汇点的 y 坐标:
    • 第一个拐点将定位在 [XY] 线段长度的 N%。
    • 第二个拐点将定位在 [XY] 线段长度的 (100 - N)%。
  • Y 为边的自交汇点的 y 坐标,X 为垂直树边的至交汇点的 x 坐标:
    • 第一个拐点将定位在 [YX] 线段长度的 N%。
    • 第二个拐点将定位在 [XY] 线段长度的 (100 - N)%。

注:

上述自和至交汇点的概念与树方向相关;它与网络中的边要素或边对象的真实拓扑无关。

Double
edge_display_type
(可选)

指定与树分支相关的逻辑示意图边的显示类型。

  • REGULAR_EDGES与树分支相关的所有逻辑示意图边将不会显示为直角。这是默认设置。
  • ORTHOGONAL_EDGES与树分支相关的所有逻辑示意图边将显示为直角。
  • CURVED_EDGES与树分支相关的所有逻辑示意图边将显示为曲线。
String
run_async
(可选)

指定布局算法在服务器上将异步运行还是同步运行。

  • RUN_ASYNCHRONOUSLY布局算法将在服务器上异步运行。服务器资源可通过该选项来运行超时较长的布局算法。当执行耗时且可能导致服务器超时的布局(例如,部分重叠边)并应用于大型逻辑示意图(超过 25,000 个要素)时,建议进行异步运行。
  • RUN_SYNCHRONOUSLY布局算法将在服务器上同步运行。如果执行时超过服务超时值(默认为 600 秒),则布局算法可能失败,无法完成。这是默认设置。
Boolean
offset_absolute
(可选)

此偏移用于在 is_unit_absolute = "ABSOLUTE_UNIT"edge_display_type = "ORTHOGONAL_EDGES" 时分隔重叠线段。该值不能超过为其他间距参数指定的最小值的 10%。默认值为 0。

Linear Unit
offset_proportional
(可选)

此偏移用于在 is_unit_absolute = "PROPORTIONAL_UNIT"edge_display_type = "ORTHOGONAL_EDGES" 时分隔重叠线段。它是一个双精度值,不能超过为其他间距参数指定的最小值的 10%。默认值为 0。

Double

派生输出

名称说明数据类型
out_network_diagram_layer

更新的网络逻辑示意图图层。

逻辑示意图图层

代码示例

ApplySmartTreeLayout 示例(Python 窗口)

本示例将智能树布局算法应用于名为 Temporary Diagram 的逻辑示意图。

import arcpy
arcpy.ApplySmartTreeLayout_nd("Temporary Diagram", "PRESERVE_CONTAINERS", 
                              "FROM_LEFT_TO_RIGHT", "PROPORTIONAL_UNIT", 
                              "", 8, "", 5, "", 5, "", 15, "", 70, 
                              "REGULAR_EDGES", "RUN_SYNCHRONOUSLY")

环境

此工具不使用任何地理处理环境。

许可信息

  • Basic: 否
  • Standard: 是
  • Advanced: 是

相关主题