相対的な主軸レイアウトの適用 (Apply Relative Mainline Layout) (ネットワーク ダイアグラム)

概要

アクティブなダイアグラムで平行な直線に沿ってネットワーク ダイアグラム フィーチャを配置します。

相対的な主軸レイアウト アルゴリズムの詳細

注意:

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

メモ:

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

使用法

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

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

  • このレイアウトでは、アクティブなダイアグラム内のネットワーク ダイアグラム フィーチャが、接続されるすべてのエッジが同じ属性値を持つ平行な直線に沿って配置されます。さらに、それらの直線からの分岐が、直線に対する分岐の方向と、初期距離に比例し、相互に相対的な距離を維持しながら、配置されます。

  • このアルゴリズムでは、ネットワーク ライン クラスに特定の値を持つネットワーク属性が必要です。これによって直線を構成するエッジを特定し、各エッジを分類して処理において優先するか除外するかを決定します。

  • このレイアウトは、平行なライン (鉄道の線路用に設計されていないラインも含む) を参照する任意のデータに適用することもできます。

  • ルート フラグを設定して、直線を開始するジャンクションのポイントを指定できます。ルートが設定されていない場合、アルゴリズムは最初に直線の始点として見なすことができる、単一のエッジに接続されているジャンクションを探します。これらのジャンクション候補のうち、最も長い直線の始点となっているジャンクションがルート ジャンクションになります。

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

構文

arcpy.nd.ApplyRelativeMainlineLayout(in_network_diagram_layer, line_attribute, {mainline_direction}, {offset_between_branches}, {breakpoint_angle}, {type_attribute}, {mainline_values}, {branch_values}, {excluded_values}, {is_compressing}, {compression_ratio}, {minimal_distance}, {alignment_attribute}, {initial_distances}, {length_attribute}, {run_async})
パラメーター説明データ タイプ
in_network_diagram_layer

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

Diagram Layer
line_attribute

直線を構成するラインの識別に使用するネットワーク属性の名前。このネットワーク属性は、ネットワーク ライン クラス内に存在する必要があります。その値は、直線を構成するすべてのエッジで同じである必要があります (たとえば、「Line 1」や「Line 2」など)。

String
mainline_direction
(オプション)

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

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

ラインの方向と垂直な軸に沿った、隣接する 2 つの分岐の間隔。

Linear Unit
breakpoint_angle
(オプション)

分岐にブレーク ポイントを配置する際の角度。値は 30 ~ 90 度の範囲で指定し、offset_between_branches パラメーターの値と組み合わせてブレーク ポイントの位置が計算されます。ブレーク ポイント角度が 90 度の場合、各分岐は直交するように表示されます。

Double
type_attribute
(オプション)

ラインの条件付けに使用するネットワーク属性の名前。このネットワーク属性は、ネットワーク ライン クラス内に存在することがあります。

メモ:

type_attribute パラメーター値と line_attribute パラメーター値は同じにすることができます。

String
mainline_values
[mainline_values,...]
(オプション)

主軸を識別する type_attribute の値。このような値が存在する場合、値は、関連するネットワーク フィーチャ ライン クラスまたはエッジ オブジェクト テーブルとは関係なく、主軸を構成するどのエッジでも同じである必要があります。

Value Table
branch_values
[branch_values,...]
(オプション)

分岐を識別する type_attribute の値。

Value Table
excluded_values
[excluded_values,...]
(オプション)

直線から除外するエッジ (交差点またははしご) を識別する type_attribute の値。

Value Table
is_compressing
(オプション)

グラフを圧縮するかどうかを指定します。

  • USE_COMPRESSION圧縮が使用されます。プロセスの最後に追加のステップが実行され、近接ジャンクションの隣接するグループ間の距離を、グループの相対的な配置を維持したまま方向に沿って縮小します。近接ジャンクションとは、地理的に近い位置にある、直接接続されていないジャンクションです。
  • DO_NOT_USE_COMPRESSION圧縮は使用されません。これがデフォルトです。
Boolean
compression_ratio
(オプション)

0 から 100 の間の値で、元の長さから最小距離を減算した後のエッジの長さに適用されます。compression_ratio が 100 の場合、検出された各ジャンクション グループ間の距離は最小距離に等しくなります。

Double
minimal_distance
(オプション)

近接ジャンクションの 2 つの隣接するグループ間の最小距離。この最小距離は、方向軸に沿ったジャンクションの投影に基づいて、近接ジャンクションをグループ化するためにも使用されます。この軸に投影された 2 つのジャンクションに注目したとき、投影された 2 つのポイント間の距離がこの距離より小さい場合、これらのジャンクションは同じグループに分類されます。

Linear Unit
alignment_attribute
(オプション)

分割されたラインの整列に使用するネットワーク属性の名前。このアルゴリズムでは、同じ属性値でラインを整列させます。

String
initial_distances
(オプション)

ダイアグラム エッジの長さの評価方法を指定します。この長さは、方向に沿ったジャンクションの配置を決定します。方向に沿った接続ジャンクション間の距離は等距離ではありません。これらの距離は相互に相対的で、現在のエッジの長さと最も短いエッジの長さに依存します。

  • FROM_CURRENT_EDGE_GEOMETRY 現在のエッジ ジオメトリから距離が計算されます。これがデフォルトです。
  • FROM_ATTRIBUTE_EDGEエッジ上に存在する所定の属性から距離が計算されます。
String
length_attribute
(オプション)

initial_distancesFROM_ATTRIBUTE_EDGE の場合に距離の計算元となるネットワーク属性。

String
run_async
(オプション)

レイアウト アルゴリズムがサーバー上で非同期または同期で実行されるかどうかを指定します。

  • RUN_ASYNCHRONOUSLYサーバー上でレイアウト アルゴリズムを非同期で実行します。このオプションは、長いタイムアウト時間でレイアウト アルゴリズムを実行するサーバー リソース向けです。非同期での実行は、長時間を要し、サーバーのタイムアウトを超える可能性があるレイアウト (例: 部分オーバーラップ エッジ) を実行する場合や大規模なダイアグラム (例: フィーチャの数が 25,000 を上回る) を適用する場合にお勧めします。
  • RUN_SYNCHRONOUSLYサーバー上でレイアウト アルゴリズムを同期で実行します。実行時間がサービスのタイムアウト (デフォルトで 600 秒) を超えた場合、完了せずに失敗します。これがデフォルトです。
Boolean

派生した出力

名前説明データ タイプ
out_network_diagram_layer

更新されたネットワーク ダイアグラム。

ダイアグラム レイヤー

コードのサンプル

ApplyRelativeMainlineLayout (相対的な主軸レイアウトの適用) の例 (Python ウィンドウ)

[一時的なダイアグラム] という名前のダイアグラムに相対的な主軸レイアウトを適用します。

import arcpy
arcpy.ApplyRelativeMainlineLayout_nd("Temporary Diagram", "LineTrack", 
                                  "FROM_LEFT_RIGHT", 2, 45, "RUN_SYNCHRONOUSLY")

環境

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

ライセンス情報

  • Basic: いいえ
  • Standard: はい
  • Advanced: はい

関連トピック