应用主线树布局 (网络逻辑示意图)

摘要

用于沿主线按等级排列逻辑示意图交汇点和边。

了解有关主线树布局算法的详细信息

警告:

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

注:

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

使用情况

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

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

  • 此布局算法会沿主线对输入网络逻辑示意图中的交汇点和边进行等级排列,并将其相关分支置于该主线的左侧、右侧或两侧。

  • 可在逻辑示意图中指定根交汇点和端交汇点,这样“主线树”布局算法将构建以指定的根交汇点开始且以指定的端交汇点结束的主线。

    • 默认情况下,如果未指定根交汇点和端交汇点,则算法将识别与最小网络拓扑索引相关联的逻辑示意图交汇点。从表示根的此交汇点开始,算法将搜索包含最多边数的线:主线。
    • 如果设置了根交汇点,则主线为从该根交汇点开始且包含最多边数的分支之一。
    • 如果指定了根交汇点和端交汇点,并且在根交汇点和端交汇点之间存在一条路径,则主线为以该根交汇点开始、以端交汇点结束且具有最多逻辑示意图边的分支。

    如果网络逻辑示意图由多个断开连接的逻辑示意图部分组成,则可以定义多个根交汇点和端交汇点,例如,每个逻辑示意图部分一个根交汇点和端交汇点。

    也可以指定同一个相连逻辑示意图部分的多个交汇点作为根。这些交汇点沿垂直于树方向的同一个轴对齐,并显示为逻辑示意图树分支的不同起始点。对于端交汇点来说,尽管可以在同一个相连的逻辑示意图部分中指定多个端交汇点,但是系统只将其中一个识别为端交汇点。

    如果指定了端交汇点,但未指定根交汇点,则会忽略此端交汇点。

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

参数

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

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

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

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

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

Boolean
树方向
(可选)

指定主线的方向。

  • 从左到右主线将绘制为从左侧开始并于右侧终止的水平线。这是默认设置。
  • 从右到左主线将绘制为从右侧开始并于左侧终止的水平线。
  • 从下到上主线将绘制为从底部开始并于顶部终止的垂直线。
  • 从上到下主线将绘制为从顶部开始并于底部终止的垂直线。
String
分支放置
(可选)

用于指定将如何针对主线分支的方向来相对放置主线分支。

  • 两侧分支将放置在主线的左右两侧。这是默认设置。
  • 左侧分支将只能放置在主线的左侧。
  • 右侧分支将只能放置在主线的右侧。
String
间距值解释为逻辑示意图坐标系中的绝对单位
(可选)

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

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

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

沿垂直于主线的轴显示的逻辑示意图交汇点之间的间距。默认值为 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.ApplyMainlineTreeLayout(in_network_diagram_layer, {are_containers_preserved}, {tree_direction}, {branches_placement}, {is_unit_absolute}, {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
branches_placement
(可选)

用于指定将如何针对主线分支的方向来相对放置主线分支。

  • BOTH_SIDES分支将放置在主线的左右两侧。这是默认设置。
  • LEFT_SIDE分支将只能放置在主线的左侧。
  • RIGHT_SIDE分支将只能放置在主线的右侧。
String
is_unit_absolute
(可选)

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

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

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

逻辑示意图图层

代码示例

ApplyMainlineTreeLayout 示例(Python 窗口)

将主线树布局算法应用至名为 Temporary Diagram 的逻辑示意图。

import arcpy
arcpy.ApplyMainlineTreeLayout_nd("Temporary Diagram", "PRESERVE_CONTAINERS", 
                                 "FROM_LEFT_TO_RIGHT", "BOTH_SIDES", 
                                 "ABSOLUTE_UNIT", "100 Feet", "" , "100 Feet", 
                                 "", "200 Feet", "", "", 30, "ORTHOGONAL_EDGES", 
                                 "RUN_SYNCHRONOUSLY", "10 Feet", "")

环境

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

许可信息

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

相关主题