エネルギー方向レイアウトの追加 (Add Force Directed Layout) (ネットワーク ダイアグラム)

概要

エネルギー方向レイアウト アルゴリズムをレイアウトのリストに追加して、指定したテンプレートに基づいて、ダイアグラム構築の終了時に自動的に連結されるようにします。このツールでは、そのテンプレートに基づいてダイアグラムのエネルギー方向レイアウト アルゴリズム パラメーターも事前に設定します。

このレイアウト アルゴリズムは、物理的相似法を用いてエネルギーを局所的に最小化する力学系を識別して、グラフを描画します。力学系の平衡状態 (各ダイアグラム ジャンクション上で合力がゼロになる場所) が検索されます。

エネルギー方向レイアウト アルゴリズムの詳細

注意:

このツールは構成および管理ツールです。

メモ:

このツールは、入力ダイアグラム テンプレートに基づく既存のダイアグラムの一貫性に影響を与えます。更新されるまで、既存のダイアグラムはすべて一貫性なしになり、一貫性警告アイコン 不整合の可能性 が表示されます。

使用法

  • このツールは、ユーティリティ ネットワーク サービスまたはトレース ネットワーク サービスを使用する場合、サポートされません。ファイル ジオデータベース内のユーティリティ ネットワークまたはトレース ネットワークを使用するか、エンタープライズ ジオデータベース内のユーティリティ ネットワークまたはトレース ネットワークへのデータベース接続を使用する必要があります。エンタープライズ ジオデータベースを操作する場合、次の要件があります。

  • ダイアグラム テンプレートに基づいてダイアグラムのレイアウト アルゴリズム パラメーターを事前に設定するには、[有効] パラメーターをオフにします (Python では is_active = "INACTIVE")。

  • また、入力ダイアグラム テンプレートに基づくダイアグラムの生成の終了時に自動的に連結されるレイアウトのリストにレイアウト アルゴリズムを追加する場合は、[有効] をオン (デフォルト) にして (Python では is_active = "ACTIVE")、このツールを実行します。

構文

arcpy.nd.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

指定したテンプレートに基づくダイアグラムの生成中にレイアウト アルゴリズムを自動的に実行するかどうかを指定します。

  • ACTIVEtemplate_name パラメーターに基づくダイアグラムの生成中に、追加されたレイアウト アルゴリズムが自動的に実行されます。これがデフォルトです。レイアウト アルゴリズムに指定されたパラメーター値は、ダイアグラム生成中にレイアウトの実行に使用されます。また、このパラメーター値は、入力テンプレートに基づくダイアグラムでアルゴリズムを実行する際にデフォルトで読み込まれます。
  • INACTIVE追加されたレイアウト アルゴリズムに現在指定されているパラメーター値はすべて、入力テンプレートに基づくダイアグラムでアルゴリズムを実行する際にデフォルトで読み込まれます。
Boolean
are_containers_preserved
(オプション)

アルゴリズムが格納器を処理する方法を指定します。

  • PRESERVE_CONTAINERS 格納器が保持されるように、ダイアグラムの上位グラフでレイアウト アルゴリズムを実行します。
  • IGNORE_CONTAINERSダイアグラム内の格納物フィーチャと非格納物フィーチャの両方でレイアウト アルゴリズムを実行します。これがデフォルトです。
Boolean
iterations_number
(オプション)

処理を反復する回数。デフォルトは 20 です。

Long
repel_factor
(オプション)

近接しているダイアグラム ジャンクション間の距離を追加します。反発係数が大きいほど、ほぼ重なるダイアグラム ジャンクションの間隔が広がります。デフォルトは 1 です。

Double
degree_freedom
(オプション)

アルゴリズムの各反復中にダイアグラム ジャンクションが移動する範囲を指定します。

  • LOWダイアグラム ジャンクションが移動する範囲が制限されます。これがデフォルトです。
  • HIGHダイアグラム ジャンクションが移動する範囲が広くなります。
  • MEDIUMダイアグラム ジャンクションが移動する範囲が中程度になります。
String
breakpoint_position
(オプション)

[エッジ表示タイプ][曲線エッジ] (Python では edges_display_type = "CURVED_EDGES") に設定されている場合、曲線エッジのジオメトリを計算するために、ダイアグラム エッジに沿って挿入される 2 つの変曲点の相対位置。15 ~ 40 の範囲のパーセントで、デフォルトは 30 です。たとえば、[ブレーク ポイントの相対位置 (%)] パラメーター値 N が 15 ~ 40 の場合、次のことが当てはまります。

  • 水平ツリーの場合、X はエッジの From ジャンクションの X 座標、Y はエッジの To ジャンクションの Y 座標です。
    • 最初の変曲点は、[XY] セグメントの長さの N% に配置されます。
    • 2 番目の変曲点は、[XY] セグメントの長さの (100 - N)% に配置されます。
  • 垂直ツリーの場合、Y はエッジの From ジャンクションの Y 座標、X はエッジの To ジャンクションの X 座標です。
    • 最初の変曲点は、[YX] セグメントの長さの N% に配置されます。
    • 2 番目の変曲点は、[XY] セグメントの長さの (100 - N)% に配置されます。

メモ:

上記の From ジャンクションと To ジャンクションの概念はツリー方向を基準にしています。ネットワーク フィーチャまたはオブジェクトのエッジの実際のトポロジとは関係ありません。

[エッジ表示タイプ] パラメーターが [標準エッジ] (Python では edges_display_type = "REGULAR_EDGES") に設定されている場合、このパラメーターは無視されます。

Double
edge_display_type
(オプション)

ダイアグラム エッジの表示タイプを指定します。

  • REGULAR_EDGESすべてのダイアグラム エッジが直線として表示されます。これがデフォルトです。
  • CURVED_EDGESすべてのダイアグラム エッジが曲線になります。
String

派生した出力

名前説明データ タイプ
out_utility_network

更新されたユーティリティ ネットワークまたはトレース ネットワーク

ユーティリティ ネットワーク、トレース ネットワーク
out_template_name

ダイアグラム テンプレートの名前。

String

コードのサンプル

AddForceDirectedLayout (エネルギー方向レイアウトの追加) の例 (Python ウィンドウ)

入力ネットワークに関連した 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: はい

関連トピック