应用压缩布局 (网络逻辑示意图)

摘要

用于将逻辑示意图要素压缩到逻辑示意图的中部。

了解有关压缩布局算法的详细信息

警告:

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

注:

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

使用情况

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

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

  • 此布局算法会在试图保持相对定位的同时,将逻辑示意图要素压缩至逻辑示意图的中部。 该布局所处的位置允许其在算法运行期间构建作为超节点移动的交汇点组。

  • 此布局算法非常适用于由于延伸数千英里而难以查看和了解确切地理位置的网络 - 例如输配电行业。

  • 其通常用于带有容器的逻辑示意图,以便将容器中的要素作为交汇点组进行处理。

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

参数

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

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

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

指定压缩布局算法将如何处理容器。

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

Boolean
最大分组距离
(可选)

最大距离将用于确定两个连接的交汇点是否足够近,可将其视为相同交汇点组的一部分。 交汇点组表示在布局算法过程中作为组进行移动的许多交汇点。 组可包含交汇点和容器。 要将两个交汇点分为一组,则必须在逻辑示意图中通过边将其相连。 默认值为逻辑示意图坐标系中的 20 个单位。

Linear Unit
折点移除规则
(可选)

指定将从逻辑示意图中移除的边折点。

  • 所有折点将从逻辑示意图中移除所有边折点。
  • 所有外部折点将保留检测到的交汇点组内的所有边折点;而检测到的交汇点组之外的边折点将被移除。如果逻辑示意图中的容器具有与容器面相交的边,则将在边与容器面的交叉点处添加折点。 这是默认设置。
  • 所有外部折点(第一个除外)将保留检测到的交汇点组内的所有边折点;而检测到的交汇点组之外的边折点将被移除。如果逻辑示意图中的容器具有与容器面相交的边,则将保留边上与容器面相交的第一个(或最后一个)外部折点。将在边与容器面的交叉点处插入折点。
String
在服务器上以异步模式运行
(可选)

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

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

Boolean

派生输出

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

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

Diagram Layer

arcpy.nd.ApplyCompressionLayout(in_network_diagram_layer, {are_containers_preserved}, {grouping_distance_absolute}, {vertices_removal_rule}, {run_async})
名称说明数据类型
in_network_diagram_layer

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

Diagram Layer
are_containers_preserved
(可选)

指定压缩布局算法将如何处理容器。

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

最大距离将用于确定两个连接的交汇点是否足够近,可将其视为相同交汇点组的一部分。 交汇点组表示在布局算法过程中作为组进行移动的许多交汇点。 组可包含交汇点和容器。 要将两个交汇点分为一组,则必须在逻辑示意图中通过边将其相连。 默认值为逻辑示意图坐标系中的 20 个单位。

Linear Unit
vertices_removal_rule
(可选)

指定将从逻辑示意图中移除的边折点。

  • ALL将从逻辑示意图中移除所有边折点。
  • OUTER将保留检测到的交汇点组内的所有边折点;而检测到的交汇点组之外的边折点将被移除。如果逻辑示意图中的容器具有与容器面相交的边,则将在边与容器面的交叉点处添加折点。 这是默认设置。
  • OUTER_EXCEPT_FIRST将保留检测到的交汇点组内的所有边折点;而检测到的交汇点组之外的边折点将被移除。如果逻辑示意图中的容器具有与容器面相交的边,则将保留边上与容器面相交的第一个(或最后一个)外部折点。将在边与容器面的交叉点处插入折点。
String
run_async
(可选)

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

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

派生输出

名称说明数据类型
out_network_diagram_layer

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

Diagram Layer

代码示例

ApplyCompressionLayout 示例(Python 窗口)

将压缩布局算法应用至名为 Temporary Diagram 的逻辑示意图。

import arcpy
arcpy.nd.ApplyCompressionLayout("Temporary Diagram", "PRESERVE_CONTAINERS", 
                                "20 Feet", "OUTER", "RUN_SYNCHRONOUSLY")

环境

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

许可信息

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

相关主题