スマート ツリー レイアウトの追加 (Add Smart Tree Layout) (ネットワーク ダイアグラム)

サマリー

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

このレイアウト アルゴリズムは、ダイアグラム フィーチャを階層的に整理し、指定された方向と間隔距離に従ってスマート ツリーに配置します。

スマート ツリー レイアウト アルゴリズムの詳細

注意:

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

注意:

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

使用法

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

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

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

パラメーター

ラベル説明データ タイプ
入力ネットワーク

変更するダイアグラム テンプレートを含むユーティリティ ネットワークまたはトレース ネットワーク。

Utility Network; Trace Network
入力ダイアグラム テンプレート

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

String
アクティブ

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

  • オン - [入力ダイアグラム テンプレート] パラメーター値に基づくダイアグラムの生成中に、追加されたレイアウト アルゴリズムが自動的に実行されます。 これがデフォルトです。

    レイアウト アルゴリズムに指定されたパラメーター値は、ダイアグラム生成中にレイアウトの実行に使用されます。 また、このパラメーター値は、入力テンプレートに基づくダイアグラムでアルゴリズムを実行する際にデフォルトで読み込まれます。

  • オフ - 追加されたレイアウト アルゴリズムに現在指定されているパラメーター値はすべて、入力テンプレートに基づくダイアグラムでアルゴリズムを実行する際にデフォルトで読み込まれます。

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

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

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

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

ツリーの方向を指定します。

  • 左から右へツリーは左から右に描画されます。これがデフォルトです。
  • 右から左へツリーは右から左に描画されます。
  • 下から上へツリーは下から上に描画されます。
  • 上から下へツリーは上から下に描画されます。
String
ダイアグラム座標系の間隔値に絶対単位を使用
(オプション)

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

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

Boolean
サブツリー間隔
(オプション)

近接する 2 つのサブツリーの間隔。つまり、スマート ツリーの方向に対して垂直に表示されている、別のサブツリーのダイアグラム ジャンクションの間隔です。デフォルトは、ダイアグラムの座標系の単位です。このパラメーターは、絶対単位を使用する場合にのみ利用可能です。

Linear Unit
サブツリー間隔
(オプション)

近接する 2 つのサブツリーの間隔。つまり、スマート ツリーの方向に対して垂直に表示されている、別のサブツリーのダイアグラム ジャンクションの間隔です。デフォルトは 2 です。このパラメーターは、比例単位を使用する場合にのみ利用可能です。

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

スマート ツリーの方向に対して垂直に表示され、同じサブツリー レベルに属しているダイアグラム ジャンクションの間隔。デフォルトは、ダイアグラムの座標系の単位で 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 にすると、水平ツリーの場合、ブレーク ポイントはエッジの 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 座標です。

[エッジ表示タイプ][曲線エッジ] (Python では edge_display_type = "CURVED_EDGES") に設定されている場合、曲線エッジのジオメトリを計算するために、ダイアグラム エッジに沿って挿入される 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
絶対オフセット
(オプション)

絶対単位を使用し、[エッジ表示タイプ][直交エッジ] の場合、重なっているセグメントを分離するために使用するオフセット。 値は、その他の間隔パラメーターに指定した最小値の 10 パーセント以下でなければなりません。 デフォルトは 0 です。

Linear Unit
比例オフセット
(オプション)

比例単位を使用し、[エッジ表示タイプ][直交エッジ] の場合、重なっているセグメントを分離するために使用するオフセット。 これは倍精度小数値で、その他の間隔パラメーターに指定した最小値の 10 パーセント以下でなければなりません。 デフォルトは 0 です。

Double

派生した出力

ラベル説明データ タイプ
出力ネットワーク

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

ユーティリティ ネットワーク、トレース ネットワーク
出力ダイアグラム テンプレート

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

String

arcpy.nd.AddSmartTreeLayout(in_utility_network, template_name, is_active, {are_containers_preserved}, {tree_direction}, {is_unit_absolute}, {subtree_absolute}, {subtree_proportional}, {perpendicular_absolute}, {perpendicular_proportional}, {along_absolute}, {along_proportional}, {disjoined_graph_absolute}, {disjoined_graph_proportional}, {are_edges_orthogonal}, {breakpoint_position}, {edge_display_type}, {offset_absolute}, {offset_proportional})
名前説明データ タイプ
in_utility_network

変更するダイアグラム テンプレートを含むユーティリティ ネットワークまたはトレース ネットワーク。

Utility Network; Trace Network
template_name

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

String
is_active

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

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

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

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

近接する 2 つのサブツリーの間隔。つまり、スマート ツリーの方向に対して垂直に表示されている、別のサブツリーのダイアグラム ジャンクションの間隔です。デフォルトは、ダイアグラムの座標系の単位です。このパラメーターは、絶対単位を使用する場合にのみ利用可能です。

Linear Unit
subtree_proportional
(オプション)

近接する 2 つのサブツリーの間隔。つまり、スマート ツリーの方向に対して垂直に表示されている、別のサブツリーのダイアグラム ジャンクションの間隔です。デフォルトは 2 です。このパラメーターは、比例単位を使用する場合にのみ利用可能です。

Double
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.9 で廃止されました。 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 にすると、水平ツリーの場合、ブレーク ポイントはエッジの 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 座標です。

[エッジ表示タイプ][曲線エッジ] (Python では edge_display_type = "CURVED_EDGES") に設定されている場合、曲線エッジのジオメトリを計算するために、ダイアグラム エッジに沿って挿入される 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
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_utility_network

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

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

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

String

コードのサンプル

AddSmartTreeLayout (スマート ツリー レイアウトの追加) の例 (Python ウィンドウ)

このサンプル スクリプトでは、指定したネットワーク用の MyTemplate1 テンプレートにスマート ツリー レイアウト アルゴリズムを自動レイアウトとして追加します。

import arcpy
input_Network = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric"
input_DiagramTemplate = "MyTemplate1"
arcpy.AddSmartTreeLayout_nd(input_Network, input_DiagramTemplate, 
                            "ACTIVE", "PRESERVE_CONTAINERS", 
                            "FROM_LEFT_TO_RIGHT", "PROPORTIONAL_UNIT", "", 8, 
                            "", 5, "", 5, "", 15, "", 25, "CURVED_EDGES")

環境

このツールは、ジオプロセシング環境を使用しません。

ライセンス情報

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

関連トピック