描述
用于将力导向布局算法添加到基于给定模板构建逻辑示意图结束时自动进行链接的布局列表中。此工具还会针对基于该模板的任意逻辑示意图预设力导向布局算法参数。
此布局算法使用物理模拟绘制图形,方法是通过标识在其中尝试使能量局部最小化的约束系统。该算法会搜索约束系统的一种平衡状态,即各个逻辑示意图交汇点所对应的一个位置,在该位置处,每个交汇点的总约束为零。
警告:
该工具为配置和管理工具。
注:
该工具会基于输入逻辑示意图模板影响任何现有逻辑示意图的一致性。所有现有逻辑示意图都将变得不一致,并随附打开一致性警告图标 ,直至对其进行更新为止。
使用方法
系统在使用 utility network 服务时不支持此工具。您必须使用文件地理数据库中的 utility network or trace network 或企业级地理数据库中 utility network 的数据库连接。在使用企业级地理数据库时,必须以数据库 utility network 所有者的身份建立连接。
在企业级地理数据库中对公共设施网络执行此操作时,已连接的 ArcGIS Enterprise 门户帐户必须是门户公共设施网络所有者。
为输入网络参数指定的网络数据元素必须来自文件地理数据库中的 utility network or trace network 或企业级地理数据库中 utility network 的数据库连接。
要基于逻辑示意图模板对任何逻辑示意图预设布局算法参数,请取消选中激活参数(Python 中为 is_active = "INACTIVE")。
如果您想要将布局算法添加到基于输入逻辑示意图模板生成逻辑示意图结束时自动进行链接的布局列表,请在激活处于选中状态(默认)(Python 中为 is_active = "ACTIVE")的情况下运行此工具。
语法
AddForceDirectedLayout(in_utility_network, template_name, is_active, {are_containers_preserved}, {iterations_number}, {repel_factor}, {degree_freedom}, {breakpoint_position}, {edge_display_type})
参数 | 说明 | 数据类型 |
in_utility_network | 包含要修改的逻辑示意图模板的公共设施网络或追踪网络。 | Utility Network; Trace Network |
template_name | 要修改的逻辑示意图模板的名称。 | String |
is_active | 指定是否将在基于指定模板生成逻辑示意图时自动执行布局算法。
| Boolean |
are_containers_preserved (可选) | 指定算法将如何处理容器。
| Boolean |
iterations_number (可选) | 要处理的迭代次数。默认值为 20。 | Long |
repel_factor (可选) | 用于在接近的逻辑示意图交汇点之间添加距离。排斥系数越大,则将在接近重叠的逻辑示意图交汇点之间添加的距离越大。默认值为 1。 | Double |
degree_freedom (可选) | 指定每次算法迭代过程中,用于移动逻辑示意图交汇点的面积。
| String |
breakpoint_position (可选) | 边显示类型设置为弯曲边(Python 中的 edges_display_type = "CURVED_EDGES")时,将沿逻辑示意图边插入的用于计算弯曲边几何的两个拐点的相对位置。以介于 15 和 40 之间的百分比表示;默认值为 30。例如,如果中断点相对位置 (%) 参数值为介于 15 和 40 之间的 N,则以下情况适用:
注:上述自交汇点和至交汇点的概念与树方向相关;与网络要素或对象边的拓扑无关。 边显示类型参数设置为规则边(Python 中的 edges_display_type = "REGULAR_EDGES")时,将忽略该参数。 | Double |
edge_display_type (可选) | 指定逻辑示意图边的显示类型。
| String |
派生输出
名称 | 说明 | 数据类型 |
out_utility_network | 已更新的 公共设施网络或追踪网络。 | 公共设施网络;追踪网络 |
out_template_name | 逻辑示意图模板的名称。 | 字符串 |
代码示例
将“力导向布局”算法作为自动布局添加到与输入网络相关的 MyTemplate1 模板。
import arcpy
input_Network = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric"
input_DiagramTemplate = "MyTemplate1"
arcpy.AddForceDirectedLayout_nd(input_Network, "MyTemplate1", "ACTIVE",
"PRESERVE_CONTAINERS", 20, 1, "LOW", "25",
"CURVED_EDGES")
环境
许可信息
- Basic: 否
- Standard: 是
- Advanced: 是