添加智能树布局 (网络逻辑示意图)

摘要

用于将“智能树布局”算法添加到基于给定模板构建逻辑示意图结束时自动进行链接的布局列表。此工具还会针对基于该模板的任意逻辑示意图预设“智能树布局”算法参数。

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

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

警告:

该工具为配置和管理工具。

注:

该工具会基于输入逻辑示意图模板影响任何现有逻辑示意图的一致性。 所有现有逻辑示意图都将变得不一致,并随附打开一致性警告图标 要更新的逻辑示意图,直至对其进行更新为止。

使用情况

  • 系统在使用公共设施网络或追踪网络服务时不支持此工具。 您必须使用文件或移动地理数据库中的公共设施网络或追踪网络,或者企业级地理数据库中公共设施网络或追踪网络的数据库连接。 使用企业级地理数据库时,需要满足以下要求:

  • 要基于逻辑示意图模板对任何逻辑示意图预设布局算法参数,请取消选中激活参数(Python 中为 is_active = "INACTIVE")。

  • 如果您想要将布局算法添加到基于输入逻辑示意图模板生成逻辑示意图结束时自动进行链接的布局列表,请在激活处于选中状态(Python 中为 is_active = "ACTIVE")的情况下运行此工具。

参数

标注说明数据类型
输入网络

包含要修改的逻辑示意图模板的公共设施网络或追踪网络。

Utility Network; Trace Network
输入逻辑示意图模板

要修改的逻辑示意图模板名称

String
激活

指定是否将在基于指定模板生成逻辑示意图时自动运行布局算法。

  • 选中 - 添加的布局算法会在基于输入逻辑示意图模板参数值生成任何逻辑示意图的过程中自动运行。 这是默认设置。

    为布局算法指定的参数值是在生成逻辑示意图的过程中用于运行布局的参数值。 如果要对基于输入模板的任何逻辑示意图运行此算法,则还会默认加载这些参数值。

  • 未选中 - 如果要对基于输入模板的任何逻辑示意图运行此算法,则还将默认加载当前为添加的布局逻辑示意图指定的所有参数值。

Boolean
保留容器布局
(可选)

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

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

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
绝对偏移
(可选)

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

Linear Unit
比例偏移
(可选)

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

Double

派生输出

标注说明数据类型
输出网络

已更新的 utility network or trace network

公共设施网络;追踪网络
输出逻辑示意图模板

逻辑示意图模板的名称。

字符串

arcpy.nd.AddSmartTreeLayout(in_utility_network, template_name, is_active, {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}, {offset_absolute}, {offset_proportional})
名称说明数据类型
in_utility_network

包含要修改的逻辑示意图模板的公共设施网络或追踪网络。

Utility Network; Trace Network
template_name

要修改的逻辑示意图模板名称

String
is_active

指定是否将在基于指定模板生成逻辑示意图时自动运行布局算法。

  • ACTIVE添加的布局算法将在基于 template_name 参数值生成任何逻辑示意图的过程中自动运行。 这是默认设置。为布局算法指定的参数值是在生成逻辑示意图的过程中用于运行布局的参数值。 如果要对基于输入模板的任何逻辑示意图运行此算法,则还会默认加载这些参数值。
  • INACTIVE如果要对基于输入模板的任何逻辑示意图运行此算法,则还将默认加载当前为添加的布局逻辑示意图指定的所有参数值。
Boolean
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 3.0 中弃用。 如果指定了 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
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_utility_network

已更新的 utility network or trace network

公共设施网络;追踪网络
out_template_name

逻辑示意图模板的名称。

字符串

代码示例

AddSmartTreeLayout 示例(Python 窗口)

此示例脚本可将“智能树布局”算法作为自动布局添加到给定网络的 MyTemplate1 模板。

import arcpy
input_Network = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric"
input_DiagramTemplate = "MyTemplate1"
arcpy.AddSmartTreeLayout_nd(input_Network, input_DiagramTemplate, 
                            "ACTIVE", "PRESERVE_CONTAINERS", 
                            "FROM_LEFT_TO_RIGHT", "PROPORTIONAL_UNIT", "", 8, 
                            "", 5, "", 5, "", 15, "", 25, "CURVED_EDGES")

环境

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

许可信息

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

相关主题