主軸ツリー レイアウトの適用 (Apply Mainline Tree Layout) (ネットワーク ダイアグラム)

サマリー

主軸に沿ってダイアグラム ジャンクションとエッジを階層化して配置します。

主軸ツリー レイアウト アルゴリズムの詳細

注意:

編集セッションを開いている場合、このツールを実行する前に、編集内容を保存する必要があります。 これにより、ダイアグラムは、データベース内のネットワーク トポロジに行われた最新の変更内容を反映するようになります。 編集内容を保存できなかった場合、編集内容は、ダイアグラムに反映されません。

注意:

各レイアウト アルゴリズムには、デフォルトのパラメーター値が含まれます。 指定されていない限り、デフォルトのパラメーター値が使用されます。 入力ネットワーク ダイアグラムが別のパラメーター値で構成された、このレイアウトのテンプレートに基づいていない場合は、代わりにその値が使用されます。

使用法

  • このツールは、エンタープライズ ジオデータベース内のユーティリティ ネットワークまたはトレース ネットワークへのデータベース コネクションを使用している場合には使用できません。 関連する公開されたユーティリティ ネットワーク サービス、トレース ネットワーク サービス、ファイルまたはモバイル ジオデータベースのユーティリティ ネットワーク、あるいはトレース ネットワークを使用してください。

  • 入力ネットワーク ダイアグラム レイヤーは、ファイルまたはモバイル ジオデータベース内のユーティリティ ネットワークまたはトレース ネットワーク、あるいはネットワーク ダイアグラム サービスから取得する必要があります。

  • このレイアウト アルゴリズムは、入力ネットワーク ダイアグラム内のジャンクションとエッジを主軸に沿って階層的に整理し、その関連ブランチを主軸の左側、右側、または両側に配置します。

  • ルート ジャンクションと端点ジャンクションをダイアグラム内に指定することで、主軸ツリー レイアウト アルゴリズムは、指定したルート ジャンクションから指定した端点ジャンクションまでの主軸を構築できます。

    • デフォルトでは、ルート ジャンクションと端点ジャンクションがどちらも指定されていない場合、アルゴリズムは、最小のネットワーク トポロジ インデックスが関連付けられたダイアグラム ジャンクションを識別します。ルートを表すこのジャンクションから、アルゴリズムは、最も多くのエッジからなるライン、つまり主軸を検索します。
    • ルート ジャンクションが設定されている場合は、そのルート ジャンクションから始まる、最も多くのエッジから成る分岐が主軸になります。
    • ルート ジャンクションと端点ジャンクションの両方が指定されていて、それらのジャンクション間にパスがある場合は、ルート ジャンクションから始まって端点ジャンクションで終わる、最も多くのエッジから成る分岐が主軸になります。

    接続していない複数のダイアグラム パートがネットワーク ダイアグラムにある場合、(たとえば、ダイアグラムの各パートに 1 つずつ) 複数の始点ジャンクションと終点ジャンクションを定義できます。

    接続されている同じダイアグラム パートに属する複数のジャンクションをルートとして指定することもできます。このようなジャンクションは、ツリーの方向に対して垂直に同じ軸上に配置され、ダイアグラムのツリー分岐の別の始点として表示されます。端点ジャンクションの場合、接続されている同じダイアグラム パート上に複数の終点を指定することもできますが、そのいずれかのみが端点ジャンクションとして識別されます。

    端点ジャンクションのみが指定され、ルート ジャンクションが指定されていない場合、端点ジャンクションは無視されます。

  • 非常に大きなダイアグラムの操作時は、サーバー上で非同期モードのレイアウトを適用することを検討してください。

パラメーター

ラベル説明データ タイプ
入力ネットワーク ダイアグラム レイヤー

レイアウトを適用するネットワーク ダイアグラム。

Diagram Layer
格納器レイアウトを維持
(オプション)

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

  • オン - 格納器が保持されるよう、ダイアグラムの上位グラフに、レイアウト アルゴリズムを適用します。
  • オフ - ダイアグラム内の格納物フィーチャと非格納物フィーチャの両方に、レイアウト アルゴリズムを適用します。 これがデフォルトです。

Boolean
ツリー方向
(オプション)

主軸の方向を指定します。

  • 左から右へ主軸は、左から開始して右で終了する横線として描画されます。これがデフォルトです。
  • 右から左へ主軸は、右から開始して左で終了する横線として描画されます。
  • 下から上へ主軸は、下から開始して上で終了する縦線として描画されます。
  • 上から下へ主軸は、上から開始して下で終了する縦線として描画されます。
String
ブランチ配置
(オプション)

その方向を基準として、主軸からの分岐を配置する方法を指定します。

  • 両側分岐は主軸の左側と右側の両方に配置されます。これがデフォルトです。
  • 左側分岐は主軸の左側にのみ配置されます。
  • 右側分岐は主軸の右側にのみ配置されます。
String
ダイアグラム座標系の間隔値に絶対単位を使用
(オプション)

距離を表すパラメーターの解釈方法を指定します。

  • オン - レイアウト アルゴリズムは、距離値を距離単位で解釈します。
  • オフ - レイアウト アルゴリズムは、現在のダイアグラムの範囲内にあるジャンクションの平均サイズを 1 とする相対単位で、距離値を解釈します。 これがデフォルトです。

Boolean
方向に垂直なジャンクション間隔
(オプション)

主軸に垂直な軸に沿って表示されるダイアグラム ジャンクションの間隔。デフォルトは、ダイアグラムの座標系で 2 です。このパラメーターは、絶対単位を使用する場合にのみ利用可能です。

Linear Unit
方向に垂直なジャンクション間隔
(オプション)

主軸に垂直な軸に沿って表示されるダイアグラム ジャンクションの間隔。デフォルトは 2 です。このパラメーターは、比例単位を使用する場合にのみ利用可能です。

Double
方向に沿ったジャンクション間隔
(オプション)

主軸に沿って表示されるダイアグラム ジャンクションの間隔、および主軸に平行な軸に沿って表示されるダイアグラム ジャンクションの間隔。このパラメーターは、絶対単位を使用する場合にのみ利用可能です。デフォルトは、ダイアグラムの座標系の単位で 2 です。

Linear Unit
方向に沿ったジャンクション間隔
(オプション)

主軸に沿って表示されるダイアグラム ジャンクションの間隔、および主軸に平行な軸に沿って表示されるダイアグラム ジャンクションの間隔。このパラメーターは、比例単位で使用されます。デフォルトは 2 です。

Double
分離されたグラフ間
(オプション)

ダイアグラムに分離されたグラフが含まれている場合に、そのグラフに属しているフィーチャを切り離す最小間隔。 このパラメーターは、絶対単位で使用されます。 デフォルトは、ダイアグラムの座標系の単位で 4 です。

Linear Unit
分離されたグラフ間
(オプション)

ダイアグラムに分離されたグラフが含まれている場合に、そのグラフに属しているフィーチャを切り離す最小間隔。 このパラメーターは、比例単位と共に使用されます。 デフォルトは 4 です。

Double
エッジの直交表示
(オプション)
Boolean
ブレーク ポイントの相対位置 (%)
(オプション)

[エッジ表示タイプ][標準エッジ] (edge_display_type = "REGULAR_EDGES" では Python) または [エッジ表示タイプ][直交エッジ] (edge_display_type = "ORTHOGONAL_EDGES" では Python) に設定されている場合、ダイアグラム エッジに沿って挿入されるブレーク ポイントの相対位置。 パーセントを 0 ~ 100 の範囲で表します。

  • ブレーク ポイントの相対位置 (%) の値を 0 にすると、水平ツリーの場合、ブレーク ポイントは、エッジの From ジャンクションの X 座標およびエッジの To ジャンクションの Y 座標に配置されます。 垂直ツリーの場合、エッジの From ジャンクションの Y 座標およびエッジの To ジャンクションの X 座標に配置されます。
  • ブレーク ポイントの相対位置 (%) の値を 100 にすると、ブレーク ポイントは、ダイアグラム エッジ上に挿入されません。各ダイアグラム エッジは、その From ジャンクションおよび To ジャンクションに直接接続します。
  • ブレーク ポイントの相対位置 (%) の値を 0 ~ 100 の範囲内の N にすると、ブレーク ポイントは、[XY] セグメントの長さの N % に配置されます。水平ツリーの場合、X はエッジの From ジャンクションの X 座標、Y はエッジの To ジャンクションの Y 座標です。 垂直ツリーの場合、[YX] セグメントの長さの N % に配置されます。Y はエッジの From ジャンクションの Y 座標、X はエッジの To ジャンクションの X 座標です。

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

  • 水平ツリーの場合、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 ジャンクションの概念は、ツリー方向を基準にしています。ネットワークのエッジ フィーチャやエッジ オブジェクトの実際のトポロジとは関係ありません。

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レイアウト アルゴリズムは、現在のダイアグラムの範囲内にあるジャンクションの平均サイズを 1 とする相対単位で解釈します。 これがデフォルトです。
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 3.4 で廃止されました。 edge_display_type パラメーターが指定されていても、その値に関係なく、システムとして無視されます。 ただし、ArcGIS Pro 2.1 との互換性を維持するために、edge_display_type パラメーターが指定されていない場合には、このパラメーターをまだ使用できます。

  • ORTHOGONAL_EDGESツリーの分岐に関連する、すべてのダイアグラム エッジが直角で表示されます。
  • SLANTED_EDGESツリーの分岐に関連する、どのダイアグラム エッジも直角で表示されません。 これがデフォルトです。
Boolean
breakpoint_position
(オプション)

[エッジ表示タイプ][標準エッジ] (edge_display_type = "REGULAR_EDGES" では Python) または [エッジ表示タイプ][直交エッジ] (edge_display_type = "ORTHOGONAL_EDGES" では Python) に設定されている場合、ダイアグラム エッジに沿って挿入されるブレーク ポイントの相対位置。 パーセントを 0 ~ 100 の範囲で表します。

  • ブレーク ポイントの相対位置 (%) の値を 0 にすると、水平ツリーの場合、ブレーク ポイントは、エッジの From ジャンクションの X 座標およびエッジの To ジャンクションの Y 座標に配置されます。 垂直ツリーの場合、エッジの From ジャンクションの Y 座標およびエッジの To ジャンクションの X 座標に配置されます。
  • ブレーク ポイントの相対位置 (%) の値を 100 にすると、ブレーク ポイントは、ダイアグラム エッジ上に挿入されません。各ダイアグラム エッジは、その From ジャンクションおよび To ジャンクションに直接接続します。
  • ブレーク ポイントの相対位置 (%) の値を 0 ~ 100 の範囲内の N にすると、ブレーク ポイントは、[XY] セグメントの長さの N % に配置されます。水平ツリーの場合、X はエッジの From ジャンクションの X 座標、Y はエッジの To ジャンクションの Y 座標です。 垂直ツリーの場合、[YX] セグメントの長さの N % に配置されます。Y はエッジの From ジャンクションの Y 座標、X はエッジの To ジャンクションの X 座標です。

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

  • 水平ツリーの場合、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 ジャンクションの概念は、ツリー方向を基準にしています。ネットワークのエッジ フィーチャやエッジ オブジェクトの実際のトポロジとは関係ありません。

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 ウィンドウ)

[一時的なダイアグラム] という名前のダイアグラムに主軸ツリー レイアウト アルゴリズムを適用します。

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: No
  • Standard: Yes
  • Advanced: Yes

関連トピック